Hi, I have been running mbed client on a FRDM-K64F with the latest firmware and I then have a node js server fetching and processing data using the REST api. This works well for a while, but usually after a few hours I get an error saying "Queue is full for " and eventually the device connection is lost. At this stage the device is completely unresponsive, no more minar callbacks, no response to button interupts. A manual reset is the only way to recover. Is there a way to prevent this from happening? Maybe some way of clearing the queue or some setting somewhere I am missing…
My client code is basically the client-example only with a few extra resources added reading different sensors. Subscribing to notifications seem to make the running period shorter and it also seems correlated to the interval of data fetching from my server. The more I call the client, the faster it goes down.
So is the issue when you are trying to write values to the resources from server side that you are seeing this problem or is it just reading the values is causing the issue ? It looks like memory leak issue , so if you can elaborate on which operation you are seeing the issue happen quickly , we can debug and identify the possible leak on library or then on application level itself.
Hi, I think it goes down both for reading and writing, I left it on this weekend and it lasted for about 25h, during that time my server was sending get requests and my client would respond with an async-request, no writing during that period. Quickest way to make it go down is setting a presubsrciption, so the client sends notifications to my server. That would last probably less than 30 min. Or sending get requests more frequent usually takes it down also pretty quick.
In my code I am not doing any mallocs or something like that, so it shouldn’t be leaking from there, I think.
We will check with the above mentioned use cases to identify for memory leaks and will fix them soon.
Thanks for reporting.
Hi Erik, Yogesh
We have spotted some things to fix in the server side as well, which may help in this issue. Bugfix release is being made, and I have not been able to reproduce this anymore. At least my tests running 2500 back to back GET requests to K64F running the mbed-client-example have passed without any Queue full errors. We will be updating the production backend soon, during this week, and do hope that helps also your issue. If not, please notify us.
Excellent Jyrki. Good work guys!
We also ran memory leaks to test mbed-client side and there are no findings. So, hopefully the server fix resolves your issue.