Acknowledged

Strange White Screen of Death Bug

I have a small data field that has experienced this about 5 times. After publishing an update it will display only a white screen - absolutely nothing written to the screen. It is actually running, just doesn't display anything.

I've tracked down the issue. The Garmin\Apps\DATA\*.IMT file is deleted somehow. The *.DAT and *.IDX files are still there. If I remove the *.DAT file and reboot the EDGE device, then the DAT and IMT files are re-generated, and the data field works as expected and displays the screen properly.

So there is nothing going on in the code itself. Something is triggering the EDGE firmware to delete the IMT file, which causes the rendering engine to not display anything.

My data field uses background processing to grab the EDGE temperature (and uses Storage to communicate between the BG and FG processes). It uses Properties.getValue for User Settings. And it uses the Generic ANT channel to interact with a TEMPE sensor. I assume this strange bug is somehow related to Storage.

This doesn't happen with every update, but it has happened about 5 times, so definitely not a one-time thing. One of my users also reported it, so this could impact many.

I'm using an EDGE 1030 with the latest firmware and SDK 4.2.4.

Parents
  • Hey Brandon. My Storage.setValue/getValue logic remained unchanged from release to release. It is only used in the BG logic to grab the Device Temp. That code is stable. I could reboot my EDGE and it didn't fix the problem. However, I finally figured out the issue (missing IMT file) and the fix, which was to remove the DAT file and reboot, which caused the device to re-create the DAT/IDX/IMT files...

    I first experienced this issue after making some changes to my properties.xml file. I had added a new User Setting and changed a default value of a setting. But those User Settings have been stable now and I just experienced it again after making some minor tweaks to a .MC file.

    I've only seen this happen maybe 5 times out of many dozens of updates as I've been refining the field's logic and adding features. Unfortunately, it isn't something that happens every time or even often (harder to debug). It doesn't generate an ERA report or a LOG file report. Really frustrating, esp since it appears it can happen to other users too.

    If there is anything I can do to try to provide more insight let me know...

Comment
  • Hey Brandon. My Storage.setValue/getValue logic remained unchanged from release to release. It is only used in the BG logic to grab the Device Temp. That code is stable. I could reboot my EDGE and it didn't fix the problem. However, I finally figured out the issue (missing IMT file) and the fix, which was to remove the DAT file and reboot, which caused the device to re-create the DAT/IDX/IMT files...

    I first experienced this issue after making some changes to my properties.xml file. I had added a new User Setting and changed a default value of a setting. But those User Settings have been stable now and I just experienced it again after making some minor tweaks to a .MC file.

    I've only seen this happen maybe 5 times out of many dozens of updates as I've been refining the field's logic and adding features. Unfortunately, it isn't something that happens every time or even often (harder to debug). It doesn't generate an ERA report or a LOG file report. Really frustrating, esp since it appears it can happen to other users too.

    If there is anything I can do to try to provide more insight let me know...

Children
No Data