NordicPlayground / nrf5-sdk-for-eddystone

Example implementation of the Eddystone GATT Configuration Service for nRF5 devices.
46 stars 23 forks source link

Memory leaks? #1

Closed laurijamsa closed 8 years ago

laurijamsa commented 8 years ago

I've been running your pre-compiled binary nrf5_sdk_for_eddystone_v0.5.hex on three RuuviTag beacons for a few days now. One rebooted itself after a day, second one died after 2 days and now I see that the last one has reseted itself to factory defaults (URL = http://nordicsemi.com).

Because there is no GCC support available, we haven't been able to locate or fix the error. Do you have any idea when it will be released? We have already created a GCC port of our own (still some work to do):

https://github.com/ruuvi/ruuvitag-eddystone

Blinking sequence of the LED is also pretty weird. And reading the button is done by polling? It has to be pressed down a while to register the push. However, I didn't check these from the code just yet so cannot confirm.

tonywu-nordicsemi commented 8 years ago

Hey Lauri, thanks for the feedback!

Can you tell me what kind of slots, and how many you had configured when you observed the crash? On our own development boards we have had them running for several days but things can definitely depend on the slots you had.

Also it is a little bit strange that the chip would reset because in the current firmware if an error occurs it should hang the program in an infinite loop (with all 4 LEDs on on the DK) until you manually reset it, unless some really strange hard fault occurs. It might be a possibility that there are some power issues with your custom board?

And in terms of memory leak, the firmware does not use any heap so I don't think memory leaks in the traditional sense (unreleased malloc'ed memory) would happen.

Finally for the LEDs and buttons: there's a release coming later today with better LED indication on the DK. And for the buttons, it's running on a GPIO interrupt with 100 ms deboucing filter, so it should be quite responsive.

laurijamsa commented 8 years ago

Thank for the reply!

We need to test a bit more to confirm if it was a powering issue. The devices were running with cheap Chinese batteries so it might have been the reason after all. I will let you know if we encounter more problems.

I used only Slot 0 with URL frame.

laurijamsa commented 8 years ago

So far the nrf5_sdk_for_eddystone_v0.6.hex is working great! It even fixed the "Error 133 occurred" issue on Android. Well done.

https://github.com/NordicSemiconductor/Android-nRF-Beacon-for-Eddystone/issues/1

tonywu-nordicsemi commented 8 years ago

Great to hear that it's working well for you! And yeah, there was something with updating connection parameters only on Samsung that was most likely the cause of that nebulous error!