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
When I invoke __pyDoString in the main loop(i.e. invoked hundreds of times per second) the assert in gc_free(...) or gc_realloc(...) below often fails(some frames will fail). ATB_GET_KIND(block) is AT_FREE.
assert(ATB_GET_KIND(block) == AT_HEAD);
When I modify some macro configs in ports/windows/mpconfigport.h, the assert in gc_realloc(...) does not failed but gc_free(...) will be still. But I don't know which switcher influent it(sorry, I am not familiar with them. I just copy some macros from ports/minimal/mpconfigport.h).
When I set MICROPY_ENABLE_GC to 0, my application could work, but its process memory keep growing. memory leak when no GC?
I bind imgui be python interfaces with upy. __pyDoString(there is a example below) is used to invoke serveral imgui's window and button interfaces.
After I commented these two asserts, an assert fails in imgui. The assert failing signifies "Mismatched Begin()/End() calls.". But as you see, the py code string in __pyDoString has matched Begin()/End(). Is the code string broken in upy VM?
And if I just run __pyDoString("print('simple words')"), the 2 asserts will often both fail too.
The interesting thing is that emscripten version of my application seems to be working well with MICROPY_ENABLE_GC (1) and the 2 asserts commented(change to print the error. the errors of gc_free and gc_realloc will often both be printed.). It is strange that the assert in imgui doesnot failed like windows version. But I think there are some potential problems still. The mpconfigport.h of emscripten is based on minimal's.
The text was updated successfully, but these errors were encountered:
fei2020
changed the title
gc_free(...) and gc_realloc(...) could assert failed
The assert in gc_free(...) and gc_realloc(...) will fail
Apr 19, 2019
I embeb upy(HEAD: e0c6dfe) into my windows(vs2017 with Windows SDK10.0.17763.0 on windows10) application.
When I invoke __pyDoString in the main loop(i.e. invoked hundreds of times per second) the assert in gc_free(...) or gc_realloc(...) below often fails(some frames will fail). ATB_GET_KIND(block) is AT_FREE.
When I modify some macro configs in ports/windows/mpconfigport.h, the assert in gc_realloc(...) does not failed but gc_free(...) will be still. But I don't know which switcher influent it(sorry, I am not familiar with them. I just copy some macros from ports/minimal/mpconfigport.h).
When I set MICROPY_ENABLE_GC to 0, my application could work, but its process memory keep growing. memory leak when no GC?
I bind imgui be python interfaces with upy. __pyDoString(there is a example below) is used to invoke serveral imgui's window and button interfaces.
After I commented these two asserts, an assert fails in imgui. The assert failing signifies "Mismatched Begin()/End() calls.". But as you see, the py code string in __pyDoString has matched Begin()/End(). Is the code string broken in upy VM?
And if I just run __pyDoString("print('simple words')"), the 2 asserts will often both fail too.
The interesting thing is that emscripten version of my application seems to be working well with MICROPY_ENABLE_GC (1) and the 2 asserts commented(change to print the error. the errors of gc_free and gc_realloc will often both be printed.). It is strange that the assert in imgui doesnot failed like windows version. But I think there are some potential problems still. The mpconfigport.h of emscripten is based on minimal's.
The text was updated successfully, but these errors were encountered: