IQ! Without any error logs. How to debug?

of recent, in newer garmin fw, I've bee seen sparodic issuess with my apps that seems to generate an IQ! But that does not generate any CIQ_LOG or app logs or ERR_LOG.

The IQ! Seems to go away after
1)a few app exit and restart.
2) going into the native garmin app, exiting then going back to my custom app
3) opening up garmin connect mobile then the my custom app
4) a reboot of the watch

I'm not sure what's happening as sometimes doing all the above does not help and sometimes one needs to remove the app and reinstall. (Which sometimes does not work as well)
  • Are you anywhere near the memory limits for the app type on the device, or maybe you are running out of heap space due to fragmentation?
  • It sounds like this is a watch-app that does recording. Is this reproducible, and is there something that seems to trigger it? (time,button press, etc?)

    How about using Sys.println() to log your memory usage (maybe only after it gets to a certain point)
  • without going into the menu system, the app is running approx 42kb of memory of the 64kb available. The 10-20kb is for the menu system (which goes to about 60kb. The menu system really sucks up memory)

    What's fragmentation? Garmin memory fragmentation? That is a very likely thing I believe as I have been told by garmin that these current devices share the memory with the CIQ VM. and if the system needs more memory, it can squash the CIQ app (but still possibly get the device reset anyways. )
  • Yeah, memory fragmentation could theoretically make it possible for your application to run out of memory even if there is more than enough memory available for what you need.

    Now that I read your post again, I'm seeing that the app may behave poorly and continue to do so even across reboots of the device. Given that, I have doubts that the heap is the problem.

    Does your application crash consistently when doing any sort of operation, or does it seem to happen randomly? Are you enabling sensors? I've seen that when using the Ant module, binding to a sensor causes memory usage to spike and that can cause problems.

    Other than that, the only suggestion I have is to add tracing. Unfortunately, that increases memory usage and slows things down...

    Travis
  • The 'crash' is random. There does not seem to be anything specific that will generate it.
    It's also not affecting all watches from users, only a couple of them.

    My Own F3, which I've used to develop on has not seen it for quite some time already but as I said - it's random.
    I connect to the footpod and the HR predominantly but do not see this as something that "could" affect it tho.
    If there are memory spikes and an out of memory, it would Theoretically generate a Memory ERROR in the ERR_LOG (which it does not and all logs remains blank)

    since the issue is random, I can't really put in tracing in the form of println etc. it would really slow things down a lot.

    the whole bit about it not generaing any logs is perplexing. Even if I upload a debug version of the app (w/o the debug symbols stripped out) it still doesn't generate any errors.

    I'm not sure if mine (app) is the only one that see this.
  • Former Member
    Former Member over 9 years ago
    holly cow, how to debug?

    any tips on how to debug this apps?