Some apps do not work while watch is connected to phone

Former Member
Former Member
Hi, guys. I have fenix 3 sapphire. Yesterday, i mentioned, that some of my Apps, installed from Connect IQ store, failed to run. When i'm trying to start an app, i just see the IQ! picture and that is all. It seems, that this happen when i'm connected with my phone via Bluetooth. When i switch off Bluetooth on phone and watch becomes not connected, these apps start working again. This kind of magic is very disappointing, because my watch is always connected to my phone.

Examples of apps are relatively popular Gym Timer (https://apps.garmin.com/en-GB/apps/93d358c4-53d3-4a9d-a7c4-e6f9a49c0e31) and Cycling App Professional (https://apps.garmin.com/en-GB/apps/9cbef7c8-9a7e-4f90-b4ef-42b11a11d8cd)

In the same time SkyWatch (https://apps.garmin.com/en-GB/apps/e531bb5d-56d1-4649-b790-adefa5adf04a) is working all time.

This happen only with Apps type of Connect IQ apps, widgets, watchfaces work properly.

watch firmware 6.50
garmin express version is the latest
connect app on Android phone - latest version

why this happen? thanks

UPDATE:
playing with this issue, i can even claim, that this kind of problem occurs randomly. sometimes apps start to work after sync with Garmin Connect App on phone, sometimes, after disabling bluetooth
  • @NIKEOW I've actually been keeping an eye on your thread (https://forums.garmin.com/showthread.php?339791-IQ!-Without-any-error-logs-How-to-debug), but have been waiting to see if there's any more information about the circumstances around the crashes you're seeing. There were a few suggestions from other devs that were keeping the conversation moving, but it appears to have stalled out. :)

    Using System.println() statements is still the best way to try to trace through the app to get you close to the point of failure. If that gets you nowhere, since there's no CIQ_LOG file, we may be able to help debug the app. I'll contact you privately to follow up.
  • Thanks for the info Brandon.

    I will have some time during the next weekend and will produce a crash dump to send to you guys.


    Taking advantage of this contact, I will ask some hard to answer questions that maybe you can foward to CIQ team. :D

    I understand memory issues fragmentation, but there is little we devs can do if we don't know were are the traps.

    I will ask some direct questions that maybe you can forward to CIQ dev team.
    Plase consider that my app now uses 48K when it starts and when its crashs its always on startup

    1) When my app starts I immediately start sensors and GPS based on user preferences. Delaying this process some seconds could make it easyer to the VM relase the necessary memory?

    2) The number of sensors enabled have significant diference in memory usage during sensor startup? (today I simply start all sensors, should I change this approach)?

    3) I talked to Robs_1976 (https://apps.garmin.com/en-US/apps/2e096d91-3e49-492f-9bd1-e5c92a53d1a5) and he told me some of his users reported that started the app indoor, and when they gone outdoor and GPS fixed, the app crashed. This is really a huge problem and it seems like the watch took away the memory available to the app. There is some way to avoid this?

    4) I always worked based on the assumption 64K was my limit. I see that this limit is not real. Could you guys provide a guideline of how much memory is safe to use? I believe it should be better to assume a lower limit and not frustrate the users and devs with unreal expectations. Crashing apps are uggly!! :p

    5) And finally! It's really important you guys provide us some info on what aproaches (coding techniches) could help us save memory and resources. After all, you better than us know the weaknesses of your compiler and VM. I know you guys understand that to have a greater diversity of apps in the store, we will have to use a lot of creativity and will have to squeeze everything from the devices. All help is welcome!

    I don't expect you will have a fast answer for all questions :-D

    Thanks again!!

    Cheers,

    Robinson
  • AHH! I just noticed the forum post is moderated! I will stop sendind the same message 3 times!

    You can ignore this one! Cheers!
  • Thanks Brandon.. I have responded.

    COming back to this.. there are no easy way to reproduce it.. I have managed to get it out of the way most times with a reboot or just going into native app.
    I am, like robinsomilani also pushing the app size.. 48kb or such.. and I have also found that more issues happen as I edge up the memory on startup. ( I allocate 10-12kb for the menu system)

    From the users, it tycpically happens on startup. it will be like - yesterday is Good.. Then suddenly today it's IQ!
    I asked them to reboot or go into native app and then return to the app and sometimes it works, sometimes it doesnt. Sometimes need to reinstall.

    I try VERY hard to reduce memory usage.. hence the SDK increase of 3kB or even 1kB is a LOT to me. That's Y i am still staying on 1.2.1
  • Thanks for the info Brandon.

    I will have some time during the next weekend and will produce a crash dump to send to you guys.


    Taking advantage of this contact, I will ask some hard to answer questions that maybe you can foward to CIQ team. :D

    I understand memory issues fragmentation, but there is little we devs can do if we don't know were are the traps.

    I will ask some direct questions that maybe you can forward to CIQ dev team.
    Plase consider that my app now uses 48K when it starts and when its crashs its always on startup

    1) When my app starts I immediately start sensors and GPS based on user preferences. Delaying this process some seconds could make it easyer to the VM relase the necessary memory?

    2) The number of sensors enabled have significant diference in memory usage during sensor startup? (today I simply start all sensors, should I change this approach)?

    3) I talked to Robs_1976 (https://apps.garmin.com/en-US/apps/2e096d91-3e49-492f-9bd1-e5c92a53d1a5) and he told me some of his users reported that started the app indoor, and when they gone outdoor and GPS fixed, the app crashed. This is really a huge problem and it seems like the watch took away the memory available to the app. There is some way to avoid this?

    4) I always worked based on the assumption 64K was my limit. I see that this limit is not real. Could you guys provide a guideline of how much memory is safe to use? I believe it should be better to assume a lower limit and not frustrate the users and devs with unreal expectations. Crashing apps are uggly!! :p

    5) And finally! It's really important you guys provide us some info on what aproaches (coding techniches) could help us save memory and resources. After all, you better than us know the weaknesses of your compiler and VM. I know you guys understand that to have a greater diversity of apps in the store, we will have to use a lot of creativity and will have to squeeze everything from the devices. All help is welcome!

    I don't expect you will have a fast answer for all questions :-D

    Thanks again!!

    Cheers,

    Robinson


    I'm going to check into a couple of things before responding so I can make sure I'm getting your the correct info. :)
  • I Generated the memory dump today and sent to Garmin guys.

    There was no CIQ error file generated.
  • @robinsonmilani: Thanks--I have your log files here and will get this information forwarded for investigation. I appreciate you taking the time to collect the logs for me!
  • Just wondering if there are updates on this?
  • I have not. It's sparodic for me. Happens 1/50 times or such.
    Robinsonmilani sent the log files - didn't that yield anything?

    I also sent my source code for my app as well.
  • Are you able to reproduce this issue? I tried with three different devices and had no problems getting the Gym Timer app to work. I tried on the f3 HR SW 2.23, FR920XT SW 6.21 and the vivoactive SW 3.40. Does anyone know if this is an issue when connected to an Android, an iPhone or a Windows phone?


    Hi Shannon,

    All my tests were made with Fenix firmware 6.5 and I use an android phone (Moto X Second Gen)
    And I am always able to produde the error folowing this steps:

    - Be sure the watch is connected to the phone.
    - Set Steam Gauge face as your watch face.
    - Go to your phone and turn off bluetooth.
    - Wait for the watch detect the change and show the BT notification.
    - Run Gym Timer (and it will open normally)
    - Exit Gym timer and go back to the watch face.
    - Turn on bluetooth,
    - When the watch shows the BT connection notification run Gym Tymer immediately, do it while the BT connection notification is on the screen.
    - My app will show the IQ! mark

    I installed firmware 6.82 and it seems to be stable. But I made only a couple of tries. I'm working on an project focused in the vivoactive device and I'm not really using my Fenix these days

    Let me know if you need some additional info.

    Cheers,

    Robinson