-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Closed
Description
In a program that uses std::thread, std::mutex and std::condition_variable, I'm frequently observing crashes with different messages but in a roughly the same piece of code. The exceptions observed so far are:
(1):
module.worker.js:24 RuntimeError: operation does not support unaligned accesses
at __pthread_mutex_lock (module.wasm:wasm-function[13025]:0x1ee6ca)
at std::__2::__libcpp_mutex_lock(pthread_mutex_t*) (module.wasm:wasm-function[12706]:0x1e72bb)
at std::__2::mutex::lock() (module.wasm:wasm-function[12714]:0x1e7435)
at std::__2::unique_lock<std::__2::mutex>::unique_lock(std::__2::mutex&) (module.wasm:wasm-function[476]:0xe414)
at PushToReadBuffer(unsigned char const*, long long, bool*) (module.wasm:wasm-function[4361]:0x9cdb2)
(2):
RuntimeError: memory access out of bounds
at __private_cond_signal (module.wasm:wasm-function[13038]:0x1ef24b)
at pthread_cond_broadcast (module.wasm:wasm-function[13027]:0x1ee708)
at std::__2::__libcpp_condvar_broadcast(pthread_cond_t*) (module.wasm:wasm-function[11543]:0x1d22ad)
at std::__2::condition_variable::notify_all() (module.wasm:wasm-function[11542]:0x1d22a4)
at PushToReadBuffer(unsigned char const*, long long, bool*) (module.wasm:wasm-function[4361]:0x9d047)
(3):
RuntimeError: operation does not support unaligned accesses
at __private_cond_signal (module.wasm:wasm-function[13038]:0x1ef24b)
at pthread_cond_broadcast (module.wasm:wasm-function[13027]:0x1ee708)
at std::__2::__libcpp_condvar_broadcast(pthread_cond_t*) (module.wasm:wasm-function[11543]:0x1d22ad)
at std::__2::condition_variable::notify_all() (module.wasm:wasm-function[11542]:0x1d22a4)
at PushToReadBuffer(unsigned char const*, long long, bool*) (module.wasm:wasm-function[4361]:0x9d047)
I'm using Emscripten 2.0.6. I've tried various debugging flags (ASSERTIONS=2, SAFE_HEAP=1, PTHREADS_DEBUG=1, RUNTIME_LOGGING=1, O0, g4), but without luck.
Unfortunately, I don't have a minimal repro yet.
Metadata
Metadata
Assignees
Labels
No labels