emscripten-core / emscripten-core/emscripten
ICE with ThinLTO
- Dominant language
- C++
- Stars
- 27.6k
- Forks
- 3.6k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 105
Description
I'm experimenting with using ThinLTO instead of monolithic LTO for my builds. However, when building my code with ThinLTO enabled, I get the following crash:
```
/Users/dodo/.conan/data/emsdk_installer/2.0.33/microblink/stable/package/743cf0321be3152777da4d05247a66d1552e70a2/upstream/emscripten/em++ -O3 -DNDEBUG -s STRICT=1 -s MALLOC=emmalloc -s WASM=1 -s PTHREAD_POOL_SIZE=0 -s USE_PTHREADS=1 -s ALLOW_MEMORY_GROWTH=1 --no-heap-copy -s INITIAL_MEMORY=209715200 -s MAXIMUM_MEMORY=838860800 -s STRICT=0 -s SUPPORT_ERRNO=0 -msimd128 -s ASSERTIONS=0 -s STACK_OVERFLOW_CHECK=0 --closure 1 -s IGNORE_CLOSURE_COMPILER_ERRORS=1 -O3 -flto=thin -Wl,--thinlto-cache-dir=/Users/dodo/Work/Microblink/Builds/core-neural-network/emscripten-2.0.33-advanced-simd-threads/release/lto.cache -Wl,--thinlto-jobs=all -s DISABLE_EXCEPTION_CATCHING=1 --pre-js /Users/dodo/Work/Microblink/Builds/core-neural-network/emscripten-2.0.33-advanced-simd-threads/release/wasmthreadhelper.js --emrun --preload-file /Users/dodo/Work/Microblink/Builds/core-neural-network/emscripten-2.0.33-advanced-simd-threads/release/NNUnitTests-res@/ CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/main.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Add.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/BoxTripletFusor.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/CoarseKeypointMatching.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Concat.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Convolution.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/CropAndResizeBilinear.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/CropAndResizeKeypoints.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/DepthwiseConvolution.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/DetectionPostprocessing.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Einsum.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ExpandDims.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/FC.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/GlobalAveragePooling.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/GlobalMaxPooling.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ImageAdjust.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ImageCentralCrop.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ImageCropToAspectRatio.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ImageOutputPostprocessing.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ImageResize.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/LayerNorm.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/LineOCRPostprocessing.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/MaxPooling.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Mul.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/PositionalEncoding.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Preprocessing.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Proposal.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/QuadDetectionPostProcessing.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ReduceMax.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ReduceSum.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Reshape.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ROIAlign.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/ROIPooling.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Sigmoid.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Sinkhorn.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Softmax.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/SpatialExpectation2D.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/TensorResize.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Layers/Upscale2xNN.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/BufferData.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/Hardware.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/Image.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/Inputs.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/MathematicalObjects.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/MemoryMonitor.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/ModelBuilderTest.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/EinsumFormulaParser.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/Padding.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/PrimitiveBestFit.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/QuadDetectionResultRotation.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/String.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/Utils.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/Postprocessing.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/UnitTests/DebugResult.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Utils/Data.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Utils/Expectors.cpp.o CMakeFiles/NNUnitTests.dir/NNUnitTests/Source/Tests/Utils/LayerForward.cpp.o CMakeFiles/NNUnitTests.dir/wasmThreadLimit.cpp.o CMakeFiles/NNUnitTests.dir/Users/dodo/.conan/data/VersionAndPaths/2.2.0/microblink/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/Paths.cpp.o CMakeFiles/NNUnitTests.dir/Users/dodo/.conan/data/VersionAndPaths/2.2.0/microblink/stable/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/version.cpp.o -o bin/NNUnitTests.html lib/libBufferData.a lib/libHardwareInfo.a lib/libMemoryMonitor.a lib/libNNModelBuilderLib.a lib/libNeuralNetwork.a lib/libTFReader.a lib/libTelemetry.a /Users/dodo/.conan/data/TensorFlow/1.13.1.7/microblink/stable/package/8c33b68afd7c189a1398db061a0fffefba931439/lib/libTensorFlow.a /Users/dodo/.conan/data/Protobuf/3.13.3/microblink/stable/package/97ef2861601bf6968459f53ddb9fa6c664c84a27/lib/libprotobuf-lite.a /Users/dodo/.conan/data/Protobuf/3.13.3/microblink/stable/package/97ef2861601bf6968459f53ddb9fa6c664c84a27/lib/libprotobuf.a lib/libBufferData.a lib/libNeuralNetwork.a lib/libMemoryMonitor.a /Users/dodo/.conan/data/XNNPACK/20210616.1/microblink/stable/package/6a3e709b599442a83a4ea350c7afef2851910adc/lib/libXNNPACK.a /Users/dodo/.conan/data/Protection/10.0.2/microblink/stable/package/5c09109a8ebbea11c7065510543c852e9db56984/lib/libProtection.a /Users/dodo/.conan/data/Hash/8.0.3/microblink/stable/package/f452476940c585d877838cdfd918971803cbd5c7/lib/libHash.a /Users/dodo/.conan/data/MicroECC/2.0.1/microblink/stable/package/97ef2861601bf6968459f53ddb9fa6c664c84a27/lib/libMicroECC.a --bind lib/libNNUtils.a /Users/dodo/.conan/data/CoreUtils/8.0.0/microblink/stable/package/743b1eac71af9dee88f7488b9a5a8fbf426c52d6/lib/libCoreUtils.a /Users/dodo/.conan/data/OpenCV/4.5.3.1/microblink/stable/package/5201d8ac0e988aa9006addf923417b891578f6d6/lib/libopencv_imgproc.a /Users/dodo/.conan/data/OpenCV/4.5.3.1/microblink/stable/package/5201d8ac0e988aa9006addf923417b891578f6d6/lib/libopencv_core.a /Users/dodo/.conan/data/CVParallelFor/1.3.5/microblink/stable/package/ee51baaa1276b7bd79858294dbe6732855c61504/lib/libCVParallelFor.a /Users/dodo/.conan/data/LogAndTimer/2.1.8/microblink/stable/package/1b68a1022ab7ea21b45aebba237fa0b2cf6bc967/lib/libLogAndTimer.a /Users/dodo/.conan/data/Sweater/10.1.0/microblink/stable/package/3a523ed3a17bb295e44bd8f47da137f5aff3f596/lib/libpthreadpool.a /Users/dodo/.conan/data/Sweater/10.1.0/microblink/stable/package/3a523ed3a17bb295e44bd8f47da137f5aff3f596/lib/libSweatShop.a /Users/dodo/.conan/data/cpuinfo/3.0.4/microblink/stable/package/018b01f29ee14620abcb123d984bf08e23e5007b/lib/libcpuinfo.a /Users/dodo/.conan/data/cpuinfo/3.0.4/microblink/stable/package/018b01f29ee14620abcb123d984bf08e23e5007b/lib/libclog.a /Users/dodo/.conan/data/libjpeg-turbo/2.1.1/microblink/stable/package/c66be85e85fe0ae3ac63cdf045f1f794e6ba2c58/lib/libjpeg.a /Users/dodo/.conan/data/libpng/1.6.37.1/microblink/stable/package/4ee85ef7a5871c0b896593de63f56359eecf4567/lib/libpng16.a /Users/dodo/.conan/data/Zlib/1.2.11/microblink/stable/package/e00f0c1a7fb02114f4d26521d79b1c8a6709204b/lib/libzlibstatic.a /Users/dodo/.conan/data/icu/69.1.4/microblink/stable/package/c66be85e85fe0ae3ac63cdf045f1f794e6ba2c58/lib/libicuuc.a /Users/dodo/.conan/data/icu/69.1.4/microblink/stable/package/c66be85e85fe0ae3ac63cdf045f1f794e6ba2c58/lib/libicudata.a /Users/dodo/.conan/data/GTest/1.10.0.15/microblink/stable/package/c66be85e85fe0ae3ac63cdf045f1f794e6ba2c58/lib/libgtest_main.a /Users/dodo/.conan/data/GTest/1.10.0.15/microblink/stable/package/c66be85e85fe0ae3ac63cdf045f1f794e6ba2c58/lib/libgtest.a && :
em++: warning: USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code slowly, see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth]
cache:INFO: generating system library: sysroot/lib/wasm32-emscripten/thinlto/libc-mt.a... (this will be cached in "/Users/dodo/.conan/data/emsdk_installer/2.0.33/microblink/stable/package/743cf0321be3152777da4d05247a66d1552e70a2/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libc-mt.a" for subsequent builds)
cache:INFO: - ok
cache:INFO: generating system library: sysroot/lib/wasm32-emscripten/thinlto/libcompiler_rt-mt.a... (this will be cached in "/Users/dodo/.conan/data/emsdk_installer/2.0.33/microblink/stable/package/743cf0321be3152777da4d05247a66d1552e70a2/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libcompiler_rt-mt.a" for subsequent builds)
cache:INFO: - ok
cache:INFO: generating system library: sysroot/lib/wasm32-emscripten/thinlto/libc++-mt-noexcept.a... (this will be cached in "/Users/dodo/.conan/data/emsdk_installer/2.0.33/microblink/stable/package/743cf0321be3152777da4d05247a66d1552e70a2/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libc++-mt-noexcept.a" for subsequent builds)
cache:INFO: - ok
cache:INFO: generating system library: sysroot/lib/wasm32-emscripten/thinlto/libc++abi-mt-noexcept.a... (this will be cached in "/Users/dodo/.conan/data/emsdk_installer/2.0.33/microblink/stable/package/743cf0321be3152777da4d05247a66d1552e70a2/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libc++abi-mt-noexcept.a" for subsequent builds)
cache:INFO: - ok
cache:INFO: generating system library: sysroot/lib/wasm32-emscripten/thinlto/libemmalloc-mt-noerrno.a... (this will be cached in "/Users/dodo/.conan/data/emsdk_installer/2.0.33/microblink/stable/package/743cf0321be3152777da4d05247a66d1552e70a2/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libemmalloc-mt-noerrno.a" for subsequent builds)
cache:INFO: - ok
cache:INFO: generating system library: sysroot/lib/wasm32-emscripten/thinlto/libc_rt_wasm-mt.a... (this will be cached in "/Users/dodo/.conan/data/emsdk_installer/2.0.33/microblink/stable/package/743cf0321be3152777da4d05247a66d1552e70a2/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libc_rt_wasm-mt.a" for subsequent builds)
cache:INFO: - ok
cache:INFO: generating system library: sysroot/lib/wasm32-emscripten/thinlto/libsockets-mt.a... (this will be cached in "/Users/dodo/.conan/data/emsdk_installer/2.0.33/microblink/stable/package/743cf0321be3152777da4d05247a66d1552e70a2/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/thinlto/libsockets-mt.a" for subsequent builds)
cache:INFO: - ok
WidenVectorResult #0: t193: v48f32 = llvm.matrix.transpose nnan ninf nsz arcp contract afn reassoc TargetConstant:i32<187>, t528, TargetConstant:i32<8>, TargetConstant:i32<6>
Do not know how to widen the result of this operator!
UNREACHABLE executed at /opt/s/w/ir/cache/builder/emscripten-releases/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:3035!
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0. Running pass 'Function Pass Manager' on module 'lib/libNeuralNetwork.a(Winograd.cpp.o at 1283406)'.
1. Running pass 'WebAssembly Instruction Selection' on function '@_ZN2MB2NN6Layers10Production12Convolutions15Winograd3x3BaseILi6EE22InverseTransformerBase9transformEPNS1_16FixedSizedMatrixILt6ELt6EfEE'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 libLLVM.dylib 0x00000001150150db llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 43
1 libLLVM.dylib 0x0000000115013ea8 llvm::sys::RunSignalHandlers() + 248
2 libLLVM.dylib 0x0000000115015740 SignalHandler(int) + 288
3 libsystem_platform.dylib 0x00007ff8074e7e2d _sigtramp + 29
4 libsystem_platform.dylib 0x000070000e344530 _sigtramp + 18446726515998967584
5 libsystem_c.dylib 0x00007ff80741ed10 abort + 123
6 libLLVM.dylib 0x0000000114f3af43 llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) + 467
7 libLLVM.dylib 0x00000001158b022d llvm::DAGTypeLegalizer::WidenVectorResult(llvm::SDNode*, unsigned int) + 1389
8 libLLVM.dylib 0x0000000115882bb8 llvm::DAGTypeLegalizer::run() + 2568
9 libLLVM.dylib 0x000000011588813e llvm::SelectionDAG::LegalizeTypes() + 1438
10 libLLVM.dylib 0x0000000115994468 llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 1576
11 libLLVM.dylib 0x0000000115993476 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 8566
12 libLLVM.dylib 0x000000011598feca llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 2474
13 libLLVM.dylib 0x000000011544ea6e llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 366
14 libLLVM.dylib 0x0000000115197227 llvm::FPPassManager::runOnFunction(llvm::Function&) + 919
15 libLLVM.dylib 0x000000011519fb81 llvm::FPPassManager::runOnModule(llvm::Module&) + 65
16 libLLVM.dylib 0x0000000115197978 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1288
17 libLLVM.dylib 0x00000001168b80bc codegen(llvm::lto::Config const&, llvm::TargetMachine*, std::__2::function > (unsigned int)>, unsigned int, llvm::Module&, llvm::ModuleSummaryIndex const&) + 1292
18 libLLVM.dylib 0x00000001168b8f8a llvm::lto::thinBackend(llvm::lto::Config const&, unsigned int, std::__2::function > (unsigned int)>, llvm::Module&, llvm::ModuleSummaryIndex const&, llvm::StringMap, std::__2::equal_to, std::__2::allocator >, llvm::MallocAllocator> const&, llvm::DenseMap, llvm::detail::DenseMapPair > const&, llvm::MapVector, llvm::detail::DenseMapPair >, std::__2::vector, std::__2::allocator > > >*, std::__2::vector > const&)::$_2::operator()(llvm::Module&, llvm::TargetMachine*, std::__2::unique_ptr >) const + 170
19 libLLVM.dylib 0x00000001168b8e0f llvm::lto::thinBackend(llvm::lto::Config const&, unsigned int, std::__2::function > (unsigned int)>, llvm::Module&, llvm::ModuleSummaryIndex const&, llvm::StringMap, std::__2::equal_to, std::__2::allocator >, llvm::MallocAllocator> const&, llvm::DenseMap, llvm::detail::DenseMapPair > const&, llvm::MapVector, llvm::detail::DenseMapPair >, std::__2::vector, std::__2::allocator > > >*, std::__2::vector > const&) + 2911
20 libLLVM.dylib 0x00000001168b1a37 (anonymous namespace)::InProcessThinBackend::runThinLTOBackendThread(std::__2::function > (unsigned int)>, std::__2::function > (unsigned int)> (unsigned int, llvm::StringRef)>, unsigned int, llvm::BitcodeModule, llvm::ModuleSummaryIndex&, llvm::StringMap, std::__2::equal_to, std::__2::allocator >, llvm::MallocAllocator> const&, llvm::DenseSet > const&, std::__2::map, std::__2::allocator > > const&, llvm::DenseMap, llvm::detail::DenseMapPair > const&, llvm::MapVector, llvm::detail::DenseMapPair >, std::__2::vector, std::__2::allocator > > >&)::'lambda'(std::__2::function > (unsigned int)>)::operator()(std::__2::function > (unsigned int)>) const + 279
21 libLLVM.dylib 0x00000001168b1872 void std::__2::__function::__policy_invoker::__call_impl, std::__2::equal_to, std::__2::allocator >, llvm::MallocAllocator> const&, llvm::DenseSet > const&, std::__2::map, std::__2::allocator > > const&, llvm::MapVector, llvm::detail::DenseMapPair >, std::__2::vector, std::__2::allocator > > >&)::'lambda'(llvm::BitcodeModule, llvm::ModuleSummaryIndex&, llvm::StringMap, std::__2::equal_to, std::__2::allocator >, llvm::MallocAllocator> const&, llvm::DenseSet > const&, std::__2::map, std::__2::allocator > > const&, llvm::DenseMap, llvm::detail::DenseMapPair > const&, llvm::MapVector, llvm::detail::DenseMapPair >, std::__2::vector, std::__2::allocator > > >&), llvm::BitcodeModule&, std::__2::reference_wrapper, std::__2::reference_wrapper, std::__2::equal_to, std::__2::allocator >, llvm::MallocAllocator> const>, std::__2::reference_wrapper > const>, std::__2::reference_wrapper, std::__2::allocator > > const>, std::__2::reference_wrapper, llvm::detail::DenseMapPair > const>, std::__2::reference_wrapper, llvm::detail::DenseMapPair >, std::__2::vector, std::__2::allocator > > > > >, void ()> >(std::__2::__function::__policy_storage const*) + 1458
22 libLLVM.dylib 0x0000000114fb1ff6 void* llvm::thread::ThreadProxy >(void*) + 678
23 libsystem_pthread.dylib 0x00007ff8074d2514 _pthread_start + 125
24 libsystem_pthread.dylib 0x00007ff8074ce02f thread_start + 15
em++: error: '/Users/dodo/.conan/data/emsdk_installer/2.0.33/microblink/stable/package/743cf0321be3152777da4d05247a66d1552e70a2/upstream/bin/wasm-ld @/var/folders/w1/67dfjvfs6sd66rd33brg4d5r0000gn/T/emscripten_8ykc1_lm.rsp' failed (received SIGABRT (-6))
```
Unfortunately, I don't have the minimum reproducible case at the moment and the crash happens with proprietary code that I'm not at liberty to share. I hope the stack trace will be enough for you to determine the cause of the crash.
Emscripten version: 2.0.33
Host: Mac OS Monterey
Note: The exact same crash happens also with [Android NDK r23](https://github.com/android/ndk/issues/1601)
Contributor guide
Assessment
This issue has not been assessed yet.