Does the stack trace look like it's an infinite recursion? That could be a toolchain bug.
On Wed, Jan 20, 2021 at 11:58 AM 'Maksim Ivanov' via emscripten-discuss < emscripten-discuss@googlegroups.com> wrote: > Hello, does anyone have a tip on how to work around the "Maximum call > stack size exceeded" error when running a UBsan-sanitized Emscripten > program under Node? > > The error is: > > "RangeError: Maximum call stack size exceeded > at _emscripten_return_address (a.out.js:6788:35) > at __ubsan_handle_dynamic_type_cache_miss > (wasm-function[8220]:0x210eb3) > at std::type_info::operator==(std::type_info const&) const > (wasm-function[938]:0x648b3) > at is_equal(std::type_info const*, std::type_info const*, bool) > (wasm-function[8154]:0x20a911) > at __dynamic_cast (wasm-function[8156]:0x20aa48) > at __ubsan::checkDynamicType(void*, void*, unsigned long) > (wasm-function[8196]:0x20f1b9) > at HandleDynamicTypeCacheMiss(__ubsan::DynamicTypeCacheMissData*, > unsigned long, unsigned long, __ubsan::ReportOptions) > (wasm-function[8221]:0x210f03) > at __ubsan_handle_dynamic_type_cache_miss > (wasm-function[8220]:0x210ed7) > at std::type_info::operator==(std::type_info const&) const > (wasm-function[938]:0x648b3) > at is_equal(std::type_info const*, std::type_info const*, bool) > (wasm-function[8154]:0x20a911)" > > I'm not 100% sure, but it seems that the error doesn't indicate a bug in > the program, because it doesn't appear when compiling a small program > (e.g., a Googletest binary with 0 tests) and begins to appear even after > adding unused code (e.g., a bunch of disabled Googletest tests). > > I tried passing "--stack_size=8192" to Node, but this didn't help; also, > when increasing the number (e.g., to 131072) I'm starting to get a > different error: > > RuntimeError: memory access out of bounds > at __dynamic_cast (wasm-function[8156]:0x20aa0f) > at __ubsan::checkDynamicType(void*, void*, unsigned long) > (wasm-function[8196]:0x20f1b9) > at HandleDynamicTypeCacheMiss(__ubsan::DynamicTypeCacheMissData*, > unsigned long, unsigned long, __ubsan::ReportOptions) > (wasm-function[8221]:0x210f03) > at __ubsan_handle_dynamic_type_cache_miss > (wasm-function[8220]:0x210ed7) > at std::type_info::operator==(std::type_info const&) const > (wasm-function[938]:0x648b3) > at is_equal(std::type_info const*, std::type_info const*, bool) > (wasm-function[8154]:0x20a911) > at __dynamic_cast (wasm-function[8156]:0x20aa48) > at __ubsan::checkDynamicType(void*, void*, unsigned long) > (wasm-function[8196]:0x20f1b9) > at HandleDynamicTypeCacheMiss(__ubsan::DynamicTypeCacheMissData*, > unsigned long, unsigned long, __ubsan::ReportOptions) > (wasm-function[8221]:0x210f03) > at __ubsan_handle_dynamic_type_cache_miss > (wasm-function[8220]:0x210ed7) > > Thanks. > > -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to emscripten-discuss+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/emscripten-discuss/8c9c6b8b-a4b1-427c-965c-5828f8fa8fe9n%40googlegroups.com > <https://groups.google.com/d/msgid/emscripten-discuss/8c9c6b8b-a4b1-427c-965c-5828f8fa8fe9n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to emscripten-discuss+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpRAZ87AKvva7HxffLjQa64rGHk%3Dp%3DxfiWjgRO6X0iZzVg%40mail.gmail.com.