-
Notifications
You must be signed in to change notification settings - Fork 3.4k
InternalError: too much recursion,__emscripten_pthread_data_constructor on EMSDK 2.0.5 (2.0.3 was fine) #12425
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Looks related to |
Yeah, looks like you hit this which causes wrong functions to be called: Does it work if you take |
Yeah, it looks like you hit this which causes wrong functions to be called: #12441 Does it work if you take |
I can confirm that EMSDK 2.0.5 (I know 2.0.6 is out but we hadn't changed again to 2.0.6 yet) with the preamble.js from #12441 (from Monday) does fix this. I tried both with and without ABORT_ON_WASM_EXCEPTIONS=1, and that didn't matter - it was the preamble.js that mattered. |
OK, that's great, hope it gets merged soon. It should only fail with ABORT_ON_WASM_EXCEPTIONS=1 though as that code path in preamble.js that I changed won't get hit if ABORT_ON_WASM_EXCEPTIONS = 0. Can you double check that actually passed in 0 correctly (or just omit the whole thing - it defaults to 0). You can look at the compiled output .js file - you shouldn't see |
What I was trying to say was with the new preamble.js, the value of ABORT_ON_WASM_EXCEPTIONS didn't matter - it worked with 1 and with 0 (knowing that the makeAbortWrapper wasn't there with 0). I didn't expect 0 to be a problem - I was just checking in case there was some side effect that was caused. I did go back and reconfirm that we didn't have the problem with the old preamble.js and ABORT_ON_WASM_EXCEPTIONS omitted (zero). We only had the problem with the old preamble.js and ABORT_ON_WASM_EXCEPTIONS of 1. |
Ah ok, great, the PR fixes it then! Thanks for taking the time to test it :) |
This issue has been automatically marked as stale because there has been no activity in the past year. It will be closed automatically if no further activity occurs in the next 30 days. Feel free to re-open at any time if this issue is still relevant. |
I confirmed that we are using ABORT_ON_WASM_EXCEPTIONS=1 (and have been for quite a while) and it is working. This can be closed, but should be closed as fixed OR dup'ed against #12441 (probably dup'ed). |
We updated from EMSDK 2.0.3 to 2.0.5 to pick up the fix from #12035. The test case from 12035 was verified as fixed. However, our main application builds cleanly but gets this at startup all the time now:
I get this same error and stack in Firefox 70, 78 and 80 which were all working with 2.0.3. Chrome 85 doesn't give me the stack; I just get "Aw, Snap!" with error code 4.
I suspect this is related to the pthread handling changes for 12035, but I don't have any proof of that and it could be related to other fixes.
Here are the settings we are building with (unchanged between us building and running successfully on 2.0.3 and failing to run on 2.0.5):
The test case from 12035 allocates pthreads and then uses more pthreads forcing additional pthread allocation, and that still works. But this error seems to be related to pthread allocation at the beginning (we have barely started running), so I'm not sure what else to try in a test case to recreate this. Any ideas on what changed to cause this issue or what steps need to be added to the test case to hit the error?
The text was updated successfully, but these errors were encountered: