cancel
Showing results for 
Search instead for 
Did you mean: 

Out of memory error.lwip

ramazan_kavak
Associate II

Good evening everyone; I was going to ask about something the size of it. If anyone has any information, I'd be happy. STMCube ide is also the LWip library tool. For MQTT connection via Ethernet. After publishing and subscribing for a certain period of time (30-40 minutes), "Out of memory error." (-1) error occurs and publishing and subscribing operations stop. How can I do that.

5 REPLIES 5

You're going to need to give a lot more detail!

https://community.st.com/t5/community-guidelines/how-to-write-your-question-to-maximize-your-chances-to-find-a/ta-p/575228

 


@ramazan_kavak wrote:

"Out of memory error." (-1) error occurs 


Where, exactly, does it occur?

 


@ramazan_kavak wrote:

 After publishing and subscribing for a certain period of time (30-40 minutes)


Sounds like you have a memory leak - ie, you keep allocating memory, but never release it.

You need to review your code (maybe also the LwIP documentation, and documentation for your MQTT library) to see where memory is being allocated, and check that it always gets released (de-allocated).

Hello, the problem in question still persists, most likely there is a memory leak as you said. So how do I free the allocated areas in memory? By clearing the buffers with memset? Can you examine the function blocks I publish and subscribe to?


@ramazan_kavak wrote:

the problem in question still persists?


So why have you marked it as solved?

You can un-mark the solution:

https://community.st.com/t5/community-guidelines/help-others-to-solve-their-issues/ta-p/575256#:~:text=If%20you%20accidentally%20chose%20the%20wrong%20post%20as%20solution%2C%20you%20can%20always%20revert%20this%20action%20by%20clicking%20%22Not%20the%20Solution%22

 


@ramazan_kavak wrote:

 most likely there is a memory leak as you said. 


First, you need to confirm that for sure

 


@ramazan_kavak wrote:

 So how do I free the allocated areas in memory? 


You need to identify where, exactly, that memory is being allocated, and why it is not getting freed.

How can I track the RAM memory heap and stack size in debug mode in stmcube ide? Is there a tool or function for this?

Hello,

You can refer to UM2609 "STM32CubeIDE user guide", section 2.6 Static Stack Analyzer.

Also see this thread: https://community.st.com/t5/stm32cubeide-mcus/determine-heap-free-space-on-stm32/td-p/131131/page/2

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.