Open
Description
Clang crashes while optimizing some WebAssembly machine code (both 64-bit and 32-bit). This didn't happen when compiling the same code without optimizations, also not when enabling --verify-machineinstrs
.
When using --verify-machineinstrs
, I get Bad machine code: Multiple connected components in live interval
.
Here's the log (I'm using a Debug build of Clang to get better stack traces etc.):
Log
$ EM_LLVM_ROOT=/home/swdv/llvm-project/build/bin/ /home/swdv/emsdk/upstream/emscripten/em++ -DBOOST_DLL_USE_STD_FS -DHTTPSERVER_WITH_TLS -I/home/swdv/pep/core2/cpp -I/home/swdv/pep/core2/build/wasm/Release/cpp -isystem /home/swdv/pep/core2/cpp/ext -isystem /home/swdv/.conan2/p/b/boost4f5274fb6e555/p/include -isystem /home/swdv/.conan2/p/b/opensd5d75de921105/p/include -isystem /home/swdv/.conan2/p/b/xxhas89a1eafce3262/p/include -isystem /home/swdv/pep/core2/build/wasm/Release/cpp/cache/rxcpp/Rx/v2/src -sMEMORY64=1 -matomics -mbulk-memory -mexception-handling -fwasm-exceptions -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_PROCESS_USE_STD_FS -Wall -Wextra -Wconversion -Wold-style-cast -Wno-unused-parameter -Werror -Wno-error=old-style-cast -DBUILD_PROJECT_PATH=\"\" -DBUILD_REF=\"\" -DBUILD_REV=\"\" -DBUILD_MAJOR_VERSION=1 -DBUILD_MINOR_VERSION=2 -DBUILD_PIPELINE_ID= -DBUILD_JOB_ID= -DBUILD_TARGET=\"Emscripten\" -O3 -DNDEBUG -std=c++20 -fvisibility=hidden -fcolor-diagnostics -pthread -MD -MT cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -MF cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o.d -o cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -c /home/swdv/pep/core
2/cpp/pep/async/RxTimeout.cpp -v -mllvm --verify-machineinstrs -mllvm --debug-only=wasm-cfg-stackify
"/home/swdv/llvm-project/build/bin/clang++" -target wasm64-unknown-emscripten -mllvm -combiner-global-alias-analysis=false -mllvm -wasm-enable-sjlj -mllvm -wasm-use-legacy-eh -mllvm -disable-lsr --sysroot=/home/swdv/emsdk/upstream/emscripten/cache/sysroot -D__EMSCRIPTEN_SHARED_MEMORY__=1 -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -DBOOST_DLL_USE_STD_FS -DHTTPSERVER_WITH_TLS -I/home/swdv/pep/core2/cpp -I/home/swdv/pep/core2/build/wasm/Release/cpp -isystem /home/swdv/pep/core2/cpp/ext -isystem /home/swdv/.conan2/p/b/boost4f5274fb6e555/p/include -isystem /home/swdv/.conan2/p/b/opensd5d75de921105/p/include -isystem /home/swdv/.conan2/p/b/xxhas89a1eafce3262/p/include -isystem /home/swdv/pep/core2/build/wasm/Release/cpp/cache/rxcpp/Rx/v2/src -matomics -mbulk-memory -mexception-handling -fwasm-exceptions -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_PROCESS_USE_STD_FS -Wall -Wextra -Wconversion -Wold-style-cast -Wno-unused-parameter -Werror -Wno-error=old-style-cast -DBUILD_PROJECT_PATH="" -DBUILD_REF="" -DBUILD_REV="" -DBUILD_MAJOR_VERSION=1 -DBUILD_MINOR_VERSION=2 -DBUILD_PIPELINE_ID= -DBUILD_JOB_ID= -DBUILD_TARGET="Emscripten" -O3 -DNDEBUG -std=c++20 -fvisibility=hidden -fcolor-diagnostics -pthread -MD -MT cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -MF cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o.d -ocpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -c /home/swdv/pep/core2/cpp/pep/async/RxTimeout.cpp -v -mllvm --verify-machineinstrs -mllvm --debug-only=wasm-cfg-stackify
clang version 21.0.0git (https://github.com/llvm/llvm-project 4055be55b8814b31256ca3c8840bc73bbe5e3d0f)
Target: wasm64-unknown-emscripten
Thread model: posix
InstalledDir: /home/swdv/llvm-project/build/bin
Build config: +unoptimized, +assertions
(in-process)
"/home/swdv/llvm-project/build/bin/clang-21" -cc1 -triple wasm64-unknown-emscripten -emit-obj -disable-free -clear-ast-before-backend -main-file-name RxTimeout.cpp -mrelocation-model static -mframe-pointer=none -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-feature +atomics -target-feature +bulk-memory -target-feature +mutable-globals -target-feature +sign-ext -target-feature +exception-handling -target-feature +multivalue -target-feature +reference-types -exception-model=wasm -mllvm -wasm-enable-eh -target-cpu generic -target-feature +atomics -target-feature +bulk-memory -target-feature +exception-handling -debugger-tuning=gdb -fdebug-compilation-dir=/home/swdv/pep/core2/build/wasm/Debug -v -fcoverage-compilation-dir=/home/swdv/pep/core2/build/wasm/Debug -resource-dir /home/swdv/llvm-project/build/lib/clang/21 -dependency-file cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o.d -MT cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -sys-header-deps -isystem /home/swdv/pep/core2/cpp/ext -isystem /home/swdv/.conan2/p/b/boost4f5274fb6e555/p/include -isystem /home/swdv/.conan2/p/b/opensd5d75de921105/p/include -isystem /home/swdv/.conan2/p/b/xxhas89a1eafce3262/p/include -isystem /home/swdv/pep/core2/build/wasm/Release/cpp/cache/rxcpp/Rx/v2/src -D __EMSCRIPTEN_SHARED_MEMORY__=1 -D EMSCRIPTEN -D BOOST_DLL_USE_STD_FS -D HTTPSERVER_WITH_TLS -I /home/swdv/pep/core2/cpp -I /home/swdv/pep/core2/build/wasm/Release/cpp -D BOOST_LOG_USE_NATIVE_SYSLOG -D BOOST_PROCESS_USE_STD_FS -D "BUILD_PROJECT_PATH=\"\"" -D "BUILD_REF=\"\"" -D "BUILD_REV=\"\"" -D BUILD_MAJOR_VERSION=1 -D BUILD_MINOR_VERSION=2 -D BUILD_PIPELINE_ID= -D BUILD_JOB_ID= -D "BUILD_TARGET=\"Emscripten\"" -D NDEBUG -isysroot /home/swdv/emsdk/upstream/emscripten/cache/sysroot -internal-isystem /home/swdv/emsdk/upstream/emscripten/cache/sysroot/include/wasm64-emscripten/c++/v1 -internal-isystem /home/swdv/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1 -internal-isystem /home/swdv/llvm-project/build/lib/clang/21/include -internal-isystem /home/swdv/emsdk/upstream/emscripten/cache/sysroot/include/wasm64-emscripten -internal-isystem /home/swdv/emsdk/upstream/emscripten/cache/sysroot/include -O3 -Wall -Wextra -Wconversion -Wold-style-cast -Wno-unused-parameter -Werror -Wno-error=old-style-cast -std=c++20 -fdeprecated-macro -ferror-limit 19 -fvisibility=hidden -pthread -fgnuc-version=4.2.1 -fno-implicit-modules -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -exception-model=wasm -fcolor-diagnostics -vectorize-loops -vectorize-slp -iwithsysroot/include/fakesdl -iwithsysroot/include/compat -mllvm -combiner-global-alias-analysis=false -mllvm -wasm-enable-sjlj -mllvm -wasm-use-legacy-eh -mllvm -disable-lsr -mllvm --verify-machineinstrs -mllvm --debug-only=wasm-cfg-stackify -o cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -x c++ /home/swdv/pep/core2/cpp/pep/async/RxTimeout.cpp
clang -cc1 version 21.0.0git based upon LLVM 21.0.0git default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/home/swdv/emsdk/upstream/emscripten/cache/sysroot/include/wasm64-emscripten/c++/v1"
ignoring nonexistent directory "/home/swdv/emsdk/upstream/emscripten/cache/sysroot/include/wasm64-emscripten"
#include "..." search starts here:
#include <...> search starts here:
/home/swdv/pep/core2/cpp
/home/swdv/pep/core2/build/wasm/Release/cpp
/home/swdv/pep/core2/cpp/ext
/home/swdv/.conan2/p/b/boost4f5274fb6e555/p/include
/home/swdv/.conan2/p/b/opensd5d75de921105/p/include
/home/swdv/.conan2/p/b/xxhas89a1eafce3262/p/include
/home/swdv/pep/core2/build/wasm/Release/cpp/cache/rxcpp/Rx/v2/src
/home/swdv/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl
/home/swdv/emsdk/upstream/emscripten/cache/sysroot/include/compat
/home/swdv/emsdk/upstream/emscripten/cache/sysroot/include/c++/v1
/home/swdv/llvm-project/build/lib/clang/21/include
/home/swdv/emsdk/upstream/emscripten/cache/sysroot/include
End of search list.
********** CFG Stackifying **********
********** Function: _ZN3pep11RxAsioTimerERKNSt3__26chrono8durationIxNS0_5ratioILx1ELx1000EEEEERN5boost4asio10io_contextEN5rxcpp21observe_on_one_workerE
- Call unwind mismatch: MBB = if.then.i.i14.i.i.i.i.i.i
Range begin = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %187:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Range end = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %187:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Original dest = caller Current dest = ehcleanup
- Call unwind mismatch: MBB = if.then.i.i.i.i.i.i.i.i55
Range begin = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %166:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Range end = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %166:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Original dest = caller Current dest = ehcleanup16
- Call unwind mismatch: MBB = if.then.i.i.i.i8.i.i.i.i.i
Range begin = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %155:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Range end = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %155:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Original dest = caller Current dest = ehcleanup21
- Call unwind mismatch: MBB = if.then.i.i.i.i.i.i16.i.i.i
Range begin = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %7:i64, %148:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Range end = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %7:i64, %148:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Original dest = caller Current dest = ehcleanup21
- Call unwind mismatch: MBB = if.then.i.i.i.i.i.i.i
Range begin = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %128:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Range end = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %128:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Original dest = caller Current dest = ehcleanup26
- Call unwind mismatch: MBB = if.then.i.i.i.i.i18.i.i.i.i
Range begin = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %121:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Range end = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %121:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Original dest = caller Current dest = ehcleanup26
- Call unwind mismatch: MBB = if.end8.sink.split.i.i.i.i.i.i.i
Range begin = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %7:i64, %114:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Range end = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %7:i64, %114:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Original dest = caller Current dest = ehcleanup26
- Call unwind mismatch: MBB = if.then.i.i14.i.i.i.i.i.i.i
Range begin = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %89:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Range end = CALL_INDIRECT 0, <mcsymbol __indirect_function_table>, %0:i64, %89:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
Original dest = caller Current dest = ehcleanup.i
********** CFG Stackifying **********
********** Function: _ZN5rxcpp10observableIN3pep8FakeVoidENS_9operators6detail13lift_operatorIS2_NS4_12subscribe_onIS2_NS0_IS2_NS_18dynamic_observableIS2_EEEENS_21observe_on_one_workerEEENS4_10observe_onIS2_SA_EEEEED2Ev
********** CFG Stackifying **********
********** Function: _ZN5rxcpp10observableIN3pep8FakeVoidENS_9operators6detail12subscribe_onIS2_NS0_IS2_NS_18dynamic_observableIS2_EEEENS_21observe_on_one_workerEEEED2Ev
********** CFG Stackifying **********
********** Function: _ZN5rxcpp21observe_on_one_workerD2Ev
********** CFG Stackifying **********
********** Function: _ZN5rxcpp10observableIN3pep8FakeVoidENS_18dynamic_observableIS2_EEED2Ev
********** CFG Stackifying **********
********** Function: _ZZN3pep11RxAsioTimerERKNSt3__26chrono8durationIxNS0_5ratioILx1ELx1000EEEEERN5boost4asio10io_contextEN5rxcpp21observe_on_one_workerEEN3$_0D2Ev
********** CFG Stackifying **********
********** Function: _ZNSt3__210shared_ptrIN5boost4asio20basic_waitable_timerINS_6chrono12steady_clockENS2_11wait_traitsIS5_EENS2_15any_io_executorEEEED2B8ne190106Ev
********** CFG Stackifying **********
********** Function: __cxx_global_var_init.4
********** CFG Stackifying **********
********** Function: __cxx_global_var_init.5
********** CFG Stackifying **********
********** Function: __cxx_global_var_init.7
********** CFG Stackifying **********
********** Function: __cxx_global_var_init.9
********** CFG Stackifying **********
********** Function: __cxx_global_var_init.11
********** CFG Stackifying **********
********** Function: __cxx_global_var_init.13
********** CFG Stackifying **********
********** Function: __cxx_global_var_init.15
********** CFG Stackifying **********
********** Function: __cxx_global_array_dtor.16
********** CFG Stackifying **********
********** Function: __cxx_global_var_init.17
********** CFG Stackifying **********
********** Function: _ZNK5boost6system6detail21system_error_category4nameEv
********** CFG Stackifying **********
********** Function: _ZNK5boost6system6detail21system_error_category23default_error_conditionEi
********** CFG Stackifying **********
********** Function: _ZNK5boost6system14error_category10equivalentEiRKNS0_15error_conditionE
********** CFG Stackifying **********
********** Function: _ZNK5boost6system14error_category10equivalentERKNS0_10error_codeEi
********** CFG Stackifying **********
********** Function: _ZNK5boost6system6detail21system_error_category7messageEi
# After WebAssembly Register Stackify
********** INTERVALS **********
ARGUMENTS [0B,48r:0)[64r,64d:5)[72r,72d:25)[88r,88d:24)[112r,112d:23)[136r,136d:10)[160r,160d:22)[208r,208d:9)[248r,248d:18)[272r,272d:6)[296r,296d:17)[320r,320d:3)[344r,344d:16)[360r,360d:15)[376r,376d:8)[392r,392d:14)[408r,408d:13)[432r,432d:12)[448r,448d:4)[496r,496d:2)[512r,512d:1)[528r,528d:7)[544r,544d:19)[568r,568d:21)[592r,592d:20)[624r,624d:11) 0@0B-phi 1@512r 2@496r 3@320r 4@448r 5@64r 6@272r 7@528r 8@376r 9@208r 10@136r 11@624r 12@432r 13@408r 14@392r 15@360r 16@344r 17@296r 18@248r 19@544r 20@592r 21@568r 22@160r 23@112r 24@88r 25@72r
%0 [208r,288B:0)[336B,376r:0) 0@208r weight:0.000000e+00
%3 [48r,128B:0)[176B,208r:0) 0@48r weight:0.000000e+00
%6 [16r,136r:0)[176B,288B:0)[336B,360r:0) 0@16r weight:0.000000e+00
%7 [72r,88r:0) 0@72r weight:0.000000e+00
%8 [88r,112r:0) 0@88r weight:0.000000e+00
%9 [568r,592r:0) 0@568r weight:0.000000e+00
%11 [248r,272r:0) 0@248r weight:0.000000e+00
%12 [344r,360r:0) 0@344r weight:0.000000e+00
%13 [364r,392r:0) 0@364r weight:0.000000e+00
%14 [392r,432r:0) 0@392r weight:0.000000e+00
%15 [408r,432r:0) 0@408r weight:0.000000e+00
%16 [136r,160r:0) 0@136r weight:0.000000e+00
%17 [32r,288B:1)[336B,376r:1)[380r,448r:0)[560B,624r:1) 0@380r 1@32r weight:0.000000e+00
%18 [64r,128B:0)[176B,240B:0)[464B,512r:0) 0@64r weight:0.000000e+00
%19 [296r,320r:0) 0@296r weight:0.000000e+00
%20 [380r,392r:0) 0@380r weight:0.000000e+00
%21 [376r,380r:0) 0@376r weight:0.000000e+00
%22 [364r,376r:0) 0@364r weight:0.000000e+00
%23 [360r,364r:0) 0@360r weight:0.000000e+00
RegMasks:
********** MACHINEINSTRS **********
# Machine code for function _ZNK5boost6system6detail21system_error_category7messageEiPcm: NoPHIs, TracksLiveness, TiedOpsRewritten
Jump Tables:
%jump-table.0:
Function Live Ins: $arguments, $value_stack
0B bb.0.entry:
successors: %bb.2(0x2aaaaaaa), %bb.1(0x55555556); %bb.2(33.33%), %bb.1(66.67%)
liveins: $arguments, $value_stack
16B %6:i64 = ARGUMENT_i64 3, implicit $arguments
32B %17:i64 = ARGUMENT_i64 2, implicit $arguments
48B %3:i32 = ARGUMENT_i32 1, implicit $arguments
64B %18:i64 = GLOBAL_GET_I64 &__stack_pointer, implicit-def $arguments
72B %7:i64 = CONST_I64 1, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
88B %8:i32 = GT_U_I64 %6:i64, %7:i64, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
112B BR_IF %bb.2, %8:i32, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
128B bb.1.entry:
; predecessors: %bb.0
successors: %bb.8(0x40000000), %bb.7(0x40000000); %bb.8(50.00%), %bb.7(50.00%)
liveins: $value_stack
136B %16:i32 = I32_WRAP_I64 %6:i64, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
160B BR_TABLE_I32 %16:i32, %bb.8, %bb.7, %bb.8, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
176B bb.2.if.end3.i.i:
; predecessors: %bb.0
successors: %bb.3(0x7ffff800), %bb.6(0x00000800); %bb.3(100.00%), %bb.6(0.00%)
liveins: $value_stack
192B EH_LABEL <mcsymbol >
208B %0:i64 = CALL @strerror, %3:i32, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64
224B EH_LABEL <mcsymbol >
240B bb.3.invoke.cont.i.i:
; predecessors: %bb.2
successors: %bb.4(0x30000000), %bb.5(0x50000000); %bb.4(37.50%), %bb.5(62.50%)
liveins: $value_stack
248B %11:i32 = EQZ_I64 %0:i64, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
272B BR_UNLESS %bb.5, %11:i32, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
288B bb.4:
; predecessors: %bb.3
liveins: $value_stack
296B %19:i64 = CONST_I64 @.str.20, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
320B RETURN %19:i64, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
336B bb.5.if.end6.i.i:
; predecessors: %bb.3
liveins: $value_stack
344B %12:i64 = CONST_I64 -1, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
360B %23:i64 = ADD_I64 %6:i64, %12:i64, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
364B %22:i64, %13:i64 = TEE_I64 %23:i64, implicit-def $arguments, implicit-def $value_stack, implicit $value_stack
376B %21:i64 = CALL @strncpy, %17:i64, %0:i64, %22:i64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
380B %20:i64, %17:i64 = TEE_I64 %21:i64, implicit-def $arguments, implicit-def $value_stack, implicit $value_stack
392B %14:i64 = nuw ADD_I64 %20:i64, %13:i64, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
408B %15:i32 = CONST_I32 0, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
432B STORE8_I32_A64 0, 0, %14:i64, %15:i32, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack :: (store (s8) into %ir.arrayidx9.i.i, !tbaa !148)
448B RETURN %17:i64, implicit-def dead $arguments
464B bb.6.terminate.i.i (landing-pad):
; predecessors: %bb.2
liveins: $value_stack
480B EH_LABEL <mcsymbol >
496B CATCH_ALL_LEGACY implicit-def $arguments
512B GLOBAL_SET_I64 &__stack_pointer, %18:i64, implicit-def $arguments
528B CALL @_ZSt9terminatev, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def dead $arguments, implicit $sp32, implicit $sp64
544B UNREACHABLE implicit-def dead $arguments
560B bb.7.if.then2.i.i:
; predecessors: %bb.1
successors: %bb.8(0x80000000); %bb.8(100.00%)
liveins: $value_stack
568B %9:i32 = CONST_I32 0, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack
592B STORE8_I32_A64 0, 0, %17:i64, %9:i32, implicit-def dead $arguments, implicit-def $value_stack, implicit $value_stack :: (store (s8) into %ir.buffer, !tbaa !148)
608B bb.8._ZN5boost6system6detail29system_error_category_messageEiPcm.exit:
; predecessors: %bb.1, %bb.7
liveins: $value_stack
624B RETURN %17:i64, implicit-def dead $arguments
# End machine code for function _ZNK5boost6system6detail21system_error_category7messageEiPcm.
*** Bad machine code: Multiple connected components in live interval ***
- function: _ZNK5boost6system6detail21system_error_category7messageEiPcm
- interval: %17 [32r,288B:1)[336B,376r:1)[380r,448r:0)[560B,624r:1) 0@380r 1@32r weight:0.000000e+00
0: valnos 0
1: valnos 1
fatal error: error in backend: Found 1 machine code errors.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /home/swdv/llvm-project/build/bin/clang++ -target wasm64-unknown-emscripten -mllvm -combiner-global-alias-analysis=false -mllvm -wasm-enable-sjlj -mllvm -wasm-use-legacy-eh -mllvm -disable-lsr --sysroot=/home/swdv/emsdk/upstream/emscripten/cache/sysroot -D__EMSCRIPTEN_SHARED_MEMORY__=1 -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -DBOOST_DLL_USE_STD_FS -DHTTPSERVER_WITH_TLS -I/home/swdv/pep/core2/cpp -I/home/swdv/pep/core2/build/wasm/Release/cpp -isystem /home/swdv/pep/core2/cpp/ext -isystem /home/swdv/.conan2/p/b/boost4f5274fb6e555/p/include -isystem /home/swdv/.conan2/p/b/opensd5d75de921105/p/include -isystem /home/swdv/.conan2/p/b/xxhas89a1eafce3262/p/include -isystem /home/swdv/pep/core2/build/wasm/Release/cpp/cache/rxcpp/Rx/v2/src -matomics -mbulk-memory -mexception-handling -fwasm-exceptions -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_PROCESS_USE_STD_FS -Wall -Wextra -Wconversion -Wold-style-cast -Wno-unused-parameter -Werror -Wno-error=old-style-cast -DBUILD_PROJECT_PATH=\"\" -DBUILD_REF=\"\" -DBUILD_REV=\"\" -DBUILD_MAJOR_VERSION=1 -DBUILD_MINOR_VERSION=2 -DBUILD_PIPELINE_ID= -DBUILD_JOB_ID= -DBUILD_TARGET=\"Emscripten\" -O3 -DNDEBUG -std=c++20 -fvisibility=hidden -fcolor-diagnostics -pthread -MD -MT cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -MF cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o.d -ocpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -c /home/swdv/pep/core2/cpp/pep/async/RxTimeout.cpp -v -mllvm --verify-machineinstrs -mllvm --debug-only=wasm-cfg-stackify
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/home/swdv/pep/core2/cpp/pep/async/RxTimeout.cpp'.
4. Running pass 'Verify generated machine code' on function '@_ZNK5boost6system6detail21system_error_category7messageEiPcm'
#0 0x0000746c1ebef3fd llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/swdv/llvm-project/llvm/lib/Support/Unix/Signals.inc:799:11
#1 0x0000746c1ebef8bb PrintStackTraceSignalHandler(void*) /home/swdv/llvm-project/llvm/lib/Support/Unix/Signals.inc:875:1
#2 0x0000746c1ebeda5f llvm::sys::RunSignalHandlers() /home/swdv/llvm-project/llvm/lib/Support/Signals.cpp:105:5
#3 0x0000746c1ebeed09 llvm::sys::CleanupOnSignal(unsigned long) /home/swdv/llvm-project/llvm/lib/Support/Unix/Signals.inc:370:1
#4 0x0000746c1ea9cc32 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) /home/swdv/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:0:7
#5 0x0000746c1ea9cb67 llvm::CrashRecoveryContext::HandleExit(int) /home/swdv/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:446:3
#6 0x0000746c1ebe7f7f llvm::sys::Process::Exit(int, bool) /home/swdv/llvm-project/llvm/lib/Support/Process.cpp:114:7
#7 0x00005c4fa155eed6 (/home/swdv/llvm-project/build/bin/clang+++0x48ed6)
#8 0x0000746c1eac08c5 llvm::report_fatal_error(llvm::Twine const&, bool) /home/swdv/llvm-project/llvm/lib/Support/ErrorHandling.cpp:105:5
#9 0x0000746c26914e83 (anonymous namespace)::MachineVerifier::ReportedErrors::~ReportedErrors() /home/swdv/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:262:7
#10 0x0000746c269142c0 (anonymous namespace)::MachineVerifier::~MachineVerifier() /home/swdv/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:102:8
#11 0x0000746c269152bb (anonymous namespace)::MachineVerifierLegacyPass::runOnMachineFunction(llvm::MachineFunction&) /home/swdv/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:391:5
#12 0x0000746c26786d21 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/swdv/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:94:8
#13 0x0000746c1f65d5af llvm::FPPassManager::runOnFunction(llvm::Function&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1406:23
#14 0x0000746c1f661ceb llvm::FPPassManager::runOnModule(llvm::Module&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1452:16
#15 0x0000746c1f65de29 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1521:23
#16 0x0000746c1f65d9d6 llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:539:16
#17 0x0000746c1f661f91 llvm::legacy::PassManager::run(llvm::Module&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1648:3
#18 0x0000746c274dbfc0 (anonymous namespace)::EmitAssemblyHelper::RunCodegenPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&) /home/swdv/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1237:19
#19 0x0000746c274d5b2f (anonymous namespace)::EmitAssemblyHelper::emitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /home/swdv/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1263:7
#20 0x0000746c274d50af clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /home/swdv/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1425:3
#21 0x0000746c27e37e68 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /home/swdv/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:315:3
#22 0x0000746c19aeee4b clang::ParseAST(clang::Sema&, bool, bool) /home/swdv/llvm-project/clang/lib/Parse/ParseAST.cpp:191:12
#23 0x0000746c23b56c57 clang::ASTFrontendAction::ExecuteAction() /home/swdv/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1188:1
#24 0x0000746c27e3ba1d clang::CodeGenAction::ExecuteAction() /home/swdv/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1102:5
#25 0x0000746c23b566b6 clang::FrontendAction::Execute() /home/swdv/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1076:7
#26 0x0000746c23a55281 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/swdv/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1056:23
#27 0x0000746c28575afa clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/swdv/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:265:8
#28 0x00005c4fa155e21e cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/swdv/llvm-project/clang/tools/driver/cc1_main.cpp:290:13
#29 0x00005c4fa15512be ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /home/swdv/llvm-project/clang/tools/driver/driver.cpp:218:5
#30 0x00005c4fa1551d30 clang_main(int, char**, llvm::ToolContext const&)::$_0::operator()(llvm::SmallVectorImpl<char const*>&) const /home/swdv/llvm-project/clang/tools/driver/driver.cpp:360:9
#31 0x00005c4fa1551cfd int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::$_0>(long, llvm::SmallVectorImpl<char const*>&) /home/swdv/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:5
#32 0x0000746c23228b01 llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::operator()(llvm::SmallVectorImpl<char const*>&) const /home/swdv/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
#33 0x0000746c23222ac8 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::$_0::operator()() const /home/swdv/llvm-project/clang/lib/Driver/Job.cpp:437:34
#34 0x0000746c23222a95 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::$_0>(long) /home/swdv/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:5
#35 0x0000746c1ea89959 llvm::function_ref<void ()>::operator()() const /home/swdv/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
#36 0x0000746c1ea9ca4f llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /home/swdv/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:427:3
#37 0x0000746c23222483 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const /home/swdv/llvm-project/clang/lib/Driver/Job.cpp:437:7
#38 0x0000746c2319ffd2 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const /home/swdv/llvm-project/clang/lib/Driver/Compilation.cpp:196:15
#39 0x0000746c231a01ac clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const /home/swdv/llvm-project/clang/lib/Driver/Compilation.cpp:251:13
#40 0x0000746c231c23b1 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) /home/swdv/llvm-project/clang/lib/Driver/Driver.cpp:2194:7
#41 0x00005c4fa1550ddf clang_main(int, char**, llvm::ToolContext const&) /home/swdv/llvm-project/clang/tools/driver/driver.cpp:398:9
#42 0x00005c4fa1582c05 main /home/swdv/llvm-project/build/tools/clang/tools/driver/clang-driver.cpp:17:3
#43 0x0000746c1e029d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#44 0x0000746c1e029e40 call_init ./csu/../csu/libc-start.c:128:20
#45 0x0000746c1e029e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#46 0x00005c4fa154fb55 _start (/home/swdv/llvm-project/build/bin/clang+++0x39b55)
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 21.0.0git (https://github.com/llvm/llvm-project 4055be55b8814b31256ca3c8840bc73bbe5e3d0f)
Target: wasm64-unknown-emscripten
Thread model: posix
InstalledDir: /home/swdv/llvm-project/build/bin
Build config: +unoptimized, +assertions
clang++: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /tmp/RxTimeout-38846c.cpp
clang++: note: diagnostic msg: /tmp/RxTimeout-38846c.sh
clang++: note: diagnostic msg:
********************
Here are the files referenced in the error: RxTimeout-38846c.zip
For reference, here's what you get without --verify-machineinstrs
(a SIGSEGV):
Log
[...]
********** CFG Stackifying **********
********** Function: _ZNK5rxcpp10schedulers14current_thread14current_worker8scheduleENSt3__26chrono10time_pointINS4_12steady_clockENS4_8durationIxNS3_5ratioILx1ELx1000000000EEEEEEERKNS0_11schedulableE
- Catch unwind mismatch:
EHPad = catch.start.i Original dest = terminate.i Current dest = ehcleanup59
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /home/swdv/llvm-project/build/bin/clang++ -target wasm64-unknown-emscripten -mllvm -combiner-global-alias-analysis=false -mllvm -wasm-enable-sjlj -mllvm -wasm-use-legacy-eh -mllvm -disable-lsr --sysroot=/home/swdv/emsdk/upstream/emscripten/cache/sysroot -D__EMSCRIPTEN_SHARED_MEMORY__=1 -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -DBOOST_DLL_USE_STD_FS -DHTTPSERVER_WITH_TLS -I/home/swdv/pep/core2/cpp -I/home/swdv/pep/core2/build/wasm/Release/cpp -isystem /home/swdv/pep/core2/cpp/ext -isystem /home/swdv/.conan2/p/b/boost4f5274fb6e555/p/include -isystem /home/swdv/.conan2/p/b/opensd5d75de921105/p/include -isystem /home/swdv/.conan2/p/b/xxhas89a1eafce3262/p/include -isystem /home/swdv/pep/core2/build/wasm/Release/cpp/cache/rxcpp/Rx/v2/src -matomics -mbulk-memory -mexception-handling -fwasm-exceptions -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_PROCESS_USE_STD_FS -Wall -Wextra -Wconversion -Wold-style-cast -Wno-unused-parameter -Werror -Wno-error=old-style-cast -DBUILD_PROJECT_PATH=\"\" -DBUILD_REF=\"\" -DBUILD_REV=\"\" -DBUILD_MAJOR_VERSION=1 -DBUILD_MINOR_VERSION=2 -DBUILD_PIPELINE_ID= -DBUILD_JOB_ID= -DBUILD_TARGET=\"Emscripten\" -O3 -DNDEBUG -std=c++20 -fvisibility=hidden -fcolor-diagnostics -pthread -MD -MT cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -MF cpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o.d -ocpp/pep/async/CMakeFiles/pepAsynclib.dir/RxTimeout.cpp.o -c /home/swdv/pep/core2/cpp/pep/async/RxTimeout.cpp -v -mllvm --debug-only=wasm-cfg-stackify
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/home/swdv/pep/core2/cpp/pep/async/RxTimeout.cpp'.
4. Running pass 'WebAssembly CFG Stackify' on function '@_ZNK5rxcpp10schedulers14current_thread14current_worker8scheduleENSt3__26chrono10time_pointINS4_12steady_clockENS4_8durationIxNS3_5ratioILx1ELx1000000000EEEEEEERKNS0_11schedulableE'
#0 0x000074c8a53ef3fd llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/swdv/llvm-project/llvm/lib/Support/Unix/Signals.inc:799:11
#1 0x000074c8a53ef8bb PrintStackTraceSignalHandler(void*) /home/swdv/llvm-project/llvm/lib/Support/Unix/Signals.inc:875:1
#2 0x000074c8a53eda5f llvm::sys::RunSignalHandlers() /home/swdv/llvm-project/llvm/lib/Support/Signals.cpp:105:5
#3 0x000074c8a53eed09 llvm::sys::CleanupOnSignal(unsigned long) /home/swdv/llvm-project/llvm/lib/Support/Unix/Signals.inc:370:1
#4 0x000074c8a529cc32 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) /home/swdv/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:0:7
#5 0x000074c8a529cf96 CrashRecoverySignalHandler(int) /home/swdv/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:391:1
#6 0x000074c8a4842520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#7 0x000074c8aeb9183c llvm::MachineInstr::getParent() const /home/swdv/llvm-project/llvm/include/llvm/CodeGen/MachineInstr.h:349:55
#8 0x000074c8aeb7d259 (anonymous namespace)::WebAssemblyCFGStackify::getDelegateDepth(llvm::SmallVectorImpl<std::pair<llvm::MachineBasicBlock const*, llvm::MachineInstr const*>> const&, llvm::MachineBasicBlock const*) /home/swdv/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp:2526:28
#9 0x000074c8aeb7cfae (anonymous namespace)::WebAssemblyCFGStackify::rewriteDepthImmediates(llvm::MachineFunction&)::$_0::operator()(llvm::MachineInstr&) const /home/swdv/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp:2563:42
#10 0x000074c8aeb72f5b (anonymous namespace)::WebAssemblyCFGStackify::rewriteDepthImmediates(llvm::MachineFunction&) /home/swdv/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp:2609:41
#11 0x000074c8aeb71e68 (anonymous namespace)::WebAssemblyCFGStackify::runOnMachineFunction(llvm::MachineFunction&) /home/swdv/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp:2659:3
#12 0x000074c8acf86d21 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/swdv/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:94:8
#13 0x000074c8a5e5d5af llvm::FPPassManager::runOnFunction(llvm::Function&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1406:23
#14 0x000074c8a5e61ceb llvm::FPPassManager::runOnModule(llvm::Module&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1452:16
#15 0x000074c8a5e5de29 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1521:23
#16 0x000074c8a5e5d9d6 llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:539:16
#17 0x000074c8a5e61f91 llvm::legacy::PassManager::run(llvm::Module&) /home/swdv/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1648:3
#18 0x000074c8adcdbfc0 (anonymous namespace)::EmitAssemblyHelper::RunCodegenPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&) /home/swdv/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1237:19
#19 0x000074c8adcd5b2f (anonymous namespace)::EmitAssemblyHelper::emitAssembly(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /home/swdv/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1263:7
#20 0x000074c8adcd50af clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /home/swdv/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1425:3
#21 0x000074c8ae637e68 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /home/swdv/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:315:3
#22 0x000074c8a02eee4b clang::ParseAST(clang::Sema&, bool, bool) /home/swdv/llvm-project/clang/lib/Parse/ParseAST.cpp:191:12
#23 0x000074c8aa356c57 clang::ASTFrontendAction::ExecuteAction() /home/swdv/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1188:1
#24 0x000074c8ae63ba1d clang::CodeGenAction::ExecuteAction() /home/swdv/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1102:5
#25 0x000074c8aa3566b6 clang::FrontendAction::Execute() /home/swdv/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1076:7
#26 0x000074c8aa255281 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/swdv/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1056:23
#27 0x000074c8aee30afa clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/swdv/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:265:8
#28 0x00005c016a9fc21e cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/swdv/llvm-project/clang/tools/driver/cc1_main.cpp:290:13
#29 0x00005c016a9ef2be ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /home/swdv/llvm-project/clang/tools/driver/driver.cpp:218:5
#30 0x00005c016a9efd30 clang_main(int, char**, llvm::ToolContext const&)::$_0::operator()(llvm::SmallVectorImpl<char const*>&) const /home/swdv/llvm-project/clang/tools/driver/driver.cpp:360:9
#31 0x00005c016a9efcfd int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::$_0>(long, llvm::SmallVectorImpl<char const*>&) /home/swdv/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:5
#32 0x000074c8a9a28b01 llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::operator()(llvm::SmallVectorImpl<char const*>&) const /home/swdv/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
#33 0x000074c8a9a22ac8 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::$_0::operator()() const /home/swdv/llvm-project/clang/lib/Driver/Job.cpp:437:34
#34 0x000074c8a9a22a95 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::$_0>(long) /home/swdv/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:5
#35 0x000074c8a5289959 llvm::function_ref<void ()>::operator()() const /home/swdv/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
#36 0x000074c8a529ca4f llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /home/swdv/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:427:3
#37 0x000074c8a9a22483 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const /home/swdv/llvm-project/clang/lib/Driver/Job.cpp:437:7
#38 0x000074c8a999ffd2 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const /home/swdv/llvm-project/clang/lib/Driver/Compilation.cpp:196:15
#39 0x000074c8a99a01ac clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const /home/swdv/llvm-project/clang/lib/Driver/Compilation.cpp:251:13
#40 0x000074c8a99c23b1 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) /home/swdv/llvm-project/clang/lib/Driver/Driver.cpp:2194:7
#41 0x00005c016a9eeddf clang_main(int, char**, llvm::ToolContext const&) /home/swdv/llvm-project/clang/tools/driver/driver.cpp:398:9
#42 0x00005c016aa20c05 main /home/swdv/llvm-project/build/tools/clang/tools/driver/clang-driver.cpp:17:3
#43 0x000074c8a4829d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#44 0x000074c8a4829e40 call_init ./csu/../csu/libc-start.c:128:20
#45 0x000074c8a4829e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#46 0x00005c016a9edb55 _start (/home/swdv/llvm-project/build/bin/clang+++0x39b55)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 21.0.0git (https://github.com/llvm/llvm-project 4055be55b8814b31256ca3c8840bc73bbe5e3d0f)
Target: wasm64-unknown-emscripten
Thread model: posix
InstalledDir: /home/swdv/llvm-project/build/bin
Build config: +unoptimized, +assertions
This might be related to #63182, not sure.