You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If an os_malloc_dram() returns a NULL pointer and the application then recovers by freeing memory (a common usecase for apps which use a lazy garbage collection scheme), then the system should recover and continue processing as normal.
Actual behaviour
On SDK 2.2.1 (6ab97e9). this all works as expected and the test harness below can be called repeatedly with the allocator recovering after each out-of-memory event.
On SDK 3.0.0 (d49923c), the allocator notes a vPortFree 517 line assert fail on attempting to free the last block allocated. The next alloc call goes into an infinite loop and finally triggers a a soft WDT reboot.
If an
os_malloc_dram()
returns a NULL pointer and the application then recovers by freeing memory (a common usecase for apps which use a lazy garbage collection scheme), then the system should recover and continue processing as normal.Actual behaviour
vPortFree 517 line assert fail
on attempting to free the last block allocated. The next alloc call goes into an infinite loop and finally triggers a a soft WDT reboot.Test code
Test Results
Hardware
Wemos D1 Mini Pro running ESP8266 at 80MHz
The text was updated successfully, but these errors were encountered: