Watch Crashes , but crash not logged in the CIQ_Log.bak

I was getting a lot of reports that my watches crashed on Venu 3 when I made a few watches last summer for the new device. My watchfaces are free because I am designing them to learn, but I tried to look into it on the simulator and there was nothing popping up. Clearly it was something happening on real devices not able to be simulated.  Then I started getting more complaints on reviews starting in January of this year of my watchfaces crashing on other devices as well. I could never get anyone to follow up with a crash report or log. 

Since I recently updated my Venu S 2 this spring, I noticed that my watchfaces that never crashed before, now crash pretty often. I opened the App Crash log, but it didn't log anything. From my own observation, I believe that it has something to do with a bad bluetooth connection (Sometimes connecting and disconnecting the bluetooth rapidly causes my watchfaces to crash when I test on my own device). 

Moreover, I noticed that when I delete and re-download my watches that now they prematurely download and show an IQ symbol in their watchface slot until they complete download. This of course aggravates the users because they immediately panic if they see the IQ crash symbol. That results in them leaving you a negative review. I have had several negative reviews just on "slow download" and "incomplete download" which... I mean... I really don't see how I can control that. ((I do admit my watches are large since they have a lot of animated sprites.)) 

Any advice on how to fix my watches and see what is going on?

I have null exception handling on most data points, is there anything additional I should add for bluetooth? 

  • Have you looked in ERA Viewer? What about CIQ_Log.txt?

  • Oh, I just realized that although it shows an IQ symbol on the watchface in the gallery, they don't create a log unless you actually click on each watch and open it up and run it. So I was looking from the gallery view as they slept, and not actually clicking on each one to run them individually. Now I see that when I restarted the watch and turned off all bluetooth and phone connections it invoked some of them to crash to collect the logs in a huge stack in a .bak

    It seems to be repeating this error over and over again when these conditions occur:

    Error: Unexpected Type Error
    Details: 'Failed invoking <symbol>'
    Time: 2024-08-21T22:13:50Z
    Part-Number: 006-B3704-00
    Firmware-Version: '19.05'
    Language-Code: eng
    ConnectIQ-Version: 4.2.1
    Store-Id: e3225022-f239-414a-868a-d658baf7db9b
    Store-Version: 2
    Filename: D5E24338
    Appname: VirtualPetStarNB
    Stack:
    - pc: 0x10001895
    ---
    Error: Unexpected Type Error
    Details: 'Failed invoking <symbol>'
    Time: 2024-08-21T22:13:56Z
    Part-Number: 006-B3704-00
    Firmware-Version: '19.05'
    Language-Code: eng
    ConnectIQ-Version: 4.2.1
    Store-Id: 96a6094e-3759-49db-a20a-70a32d1b3021
    Store-Version: 1
    Filename: D5Q34843
    Appname: VirtualPetNothing
    Stack:
    - pc: 0x10001ecc

  • Here is a picture of the conditions that cause the crash: turning off all phone connections and bluetooth and Restarting the watch. When it pops up it shows a blank watchface instead of popping up. Only when you click on the blank watchfaces from the gallery view do they then run the watchface to crash, which then uploads the crash report to the .bak file in a large stack. 

    When the bluetooth and phone connections are turned back on, the watches then appear to go back to a working order. 

  • sync your watch with Garmin Connect and look in ERA Viewer, it'll tell you the file and line of the error

  • Thank you! I was looking at the log reports ,and they seem to give you a hex code to the line that crashed but only to a code line that has been complied and I think compressed, so the hex line listed isn't the same the raw code. In order to use the hexcode I think it needs some sort of map/key to understand. The ERA Viewer is actually much more helpful. 

  • See https://forums.garmin.com/developer/connect-iq/f/discussion/231129/so-you-have-a-ciq_log-file-but-all-you-see-is-pc-without-a-friendly-stack-trace---what-to-do

    it's linked to in the "Tips and Tricks FAQ"

    When a ciq_log file is generated, once it is synced (that's where era reports come from), it becomes a .bak file so it doesn't keep getting synced.  Era uses the debug xml files in the iq file to give you a friendly stack trace