emscripten-core / emscripten

Emscripten: An LLVM-to-WebAssembly Compiler
Other
25.45k stars 3.25k forks source link

memory access out of bounds #22185

Open yangfangfang1204 opened 3 weeks ago

yangfangfang1204 commented 3 weeks ago

Pthread 0x0454da30 set an error: .worker.js: uncaught RuntimeError : memory access out of bounds.

How do we locate the detailed cause of the error?

the makefile param: -s INITIAL_MEMORY=500MB -s MAXIMUM_MEMORY=1023MB -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s USE_FREETYPE=1 -lopenal -s GL_PREINITIALIZED_CONTEXT=1 -s OFFSCREENCANVAS_SUPPORT=1 -s ENVIRONMENT=web,worker -s EXPORT_NAME='JSPlayerModule' -s MODULARIZE=1 -s ALLOW_TABLE_GROWTH=1 -s STACK_SIZE=1MB -s PTHREAD_POOL_SIZE_STRICT=0 -s USE_PTHREADS=1

sbc100 commented 3 weeks ago

You should be able to open devtools and set a breakpoint in the worker.onerror function (e.g. on the var message = 'worker sent an error!'; line). At that point e should hold the original error sent from the worker, including the backtrace.

You should also be able to catch the exception in devtools in the worker itself before it sends the error back to the main thread by setting a beakpoint here: https://github.com/emscripten-core/emscripten/blob/b3c25673f53974ff1f30df43701dc63af7cbbdc4/src/runtime_pthread.js#L244

yangfangfang1204 commented 1 week ago

but it only error in ChromeV93, other chrome is ok, What are the possible causes?

sbc100 commented 1 week ago

No ideas some to mind I'm afraid.

Chrome 93 is quite old now (looks like almost 3 years old). Is there some reason you are targetting such as n old browser?