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
Hi. I am receiving this error when building a WASM project with the upstream emscripten backend and with pthreads enabled:
shared:ERROR: unexpected error while trying to eval ctors:
Fatal: ...stopping since could not flatten memory
I first build boost libs system, thread, chrono, serialization, filesystem, and regex with -s USE_PTHREADS=1 -s ALLOW_MEMORY_GROWTH=0 passed to emcc and -pthread passed to cxxflags.
Then I build my source project which links to the boost libs as static libraries with -s USE_PTHREADS=1 -s PTHREAD_POOL_SIZE=10 -s PROXY_TO_PTHREAD=1 -s ALLOW_MEMORY_GROWTH=0 passed to emcc and -pthread passed to cxxflags.
In what appears to be one of the final steps of linking, I get this error if and only if pthreads are enabled in boost and my project source. If I don't use pthreads, both projects build and link successfully, but then I cannot use emscripten's Fetch API synchronously, which is my end goal.
I cannot find any search results on this error except the original source code in wasm-ctor-eval.cpp so it not a commonly encountered problem.
I am not using the ported boost in emscripten-ports. Perhaps I need to?
The project will ultimately be run in node. Perhaps PR #9745 is relevant?