You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems that something goes wrong when main.cpp contains a large complex array, of size between 2^27 and 2^28. For size 200000000 and some other sizes close to lower bound one obtains error:
"LLVM ERROR: LEB is outside Varint32 range"
while sizes close to upper bound one obtains similar error message but with
"LLVM ERROR: section size does not fit in a uint32_t" instead
For some values (size 2^28 - 1000 array for instance) instead:
"wasm-ld: error: lto.tmp: Function extends beyond buffer"
If the array size is smaller than 2^27, compilation seems to work fine, and for bigger than 2^28, the compiler notices that the array is too large.
Version of emscripten/emsdk:
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 4.0.7 (8dc91db)
clang version 21.0.0git (https:/github.com/llvm/llvm-project 57025b42c43b2f14f7e58692bc19cd53d1b8a45e)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin
Note: Where possible, please avoid attaching screen shots of code or console
logs. Instead, please include them as text so that they may be copied /
searched. To make code blocks more readable and syntax highlighted, please
escape them with three backticks before and after, like this:
int x = 20;
The text was updated successfully, but these errors were encountered:
I was working with https://ahti.space/git/shikhin/tjsm and run into an issue with big complex arrays. The steps I did to run into the issue:
cloned https://ahti.space/git/shikhin/tjsm
replaced main.cpp under src by the following simple c++ file: https://p.ahti.space/f8d37e.html
ran "emcmake cmake .." in a build directory (after sourcing emscripten)
ran "make" in a build directory.
It seems that something goes wrong when main.cpp contains a large complex array, of size between 2^27 and 2^28. For size 200000000 and some other sizes close to lower bound one obtains error:
"LLVM ERROR: LEB is outside Varint32 range"
while sizes close to upper bound one obtains similar error message but with
"LLVM ERROR: section size does not fit in a uint32_t" instead
For some values (size 2^28 - 1000 array for instance) instead:
"wasm-ld: error: lto.tmp: Function extends beyond buffer"
If the array size is smaller than 2^27, compilation seems to work fine, and for bigger than 2^28, the compiler notices that the array is too large.
Version of emscripten/emsdk:
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 4.0.7 (8dc91db)
clang version 21.0.0git (https:/github.com/llvm/llvm-project 57025b42c43b2f14f7e58692bc19cd53d1b8a45e)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin
Failing command line in full: (This is the output from make)
[ 50%] Linking CXX executable ../public/wasm-main.js
LLVM ERROR: LEB is outside Varint32 range
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/wasm-ld -o ../public/wasm-main.wasm -lembind-rtti CMakeFiles/wasm-main.dir/src/main.cpp.o -L/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/lto -L/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/emscripten/src/lib /Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/lto/crtbegin.o -lGL-mt-getprocaddr -lal -lhtml5 -lstubs -lnoexit -lc-mt -ldlmalloc-mt -lcompiler_rt-mt -lc++-mt-noexcept -lc++abi-mt-noexcept -lsockets-mt -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /var/folders/l8/wr002pq55q9b2nmwzc51vtgm0000gn/T/tmpkkl81nnelibemscripten_js_symbols.so --import-memory --shared-memory --strip-debug -u__cxa_atexit --export=malloc --export=free --export=_emscripten_stack_alloc --export=__getTypeName --export=_emscripten_thread_free_data --export=_emscripten_thread_crashed --export=_embind_initialize_bindings --export=__wasm_call_ctors --export=_emscripten_tls_init --export=_emscripten_thread_init --export=emscripten_stack_get_current --export=_emscripten_stack_restore --export=emscripten_stack_set_limits --export=_emscripten_thread_exit --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-table -z stack-size=65536 --no-growable-memory --initial-memory=52428800 --no-entry --table-base=1 --global-base=1024
#0 0x000000010f531678 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x10015b678)
#1 0x000000010f52edf5 llvm::sys::RunSignalHandlers() (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x100158df5)
#2 0x000000010f532272 SignalHandler(int, __siginfo*, void*) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x10015c272)
#3 0x00007ff803587e1d (/usr/lib/system/libsystem_platform.dylib+0x7ff800482e1d)
#4 0x00007faf9770c270
#5 0x00007ff803471b19 (/usr/lib/system/libsystem_c.dylib+0x7ff80036cb19)
#6 0x000000010f49c364 llvm::report_fatal_error(llvm::Twine const&, bool) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1000c6364)
#7 0x000000010f49c199 llvm::report_fatal_error(char const*, bool) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1000c6199)
#8 0x0000000111dd0cb1 readVarint32(llvm::object::WasmObjectFile::ReadContext&) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1029facb1)
#9 0x0000000111dd17bc readInitExpr(llvm::wasm::WasmInitExpr&, llvm::object::WasmObjectFile::ReadContext&) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1029fb7bc)
#10 0x0000000111dc8ae6 llvm::object::WasmObjectFile::parseDataSection(llvm::object::WasmObjectFile::ReadContext&) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1029f2ae6)
#11 0x0000000111dc3383 llvm::object::WasmObjectFile::parseSection(llvm::object::WasmSection&) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1029ed383)
#12 0x0000000111dc2e78 llvm::object::WasmObjectFile::WasmObjectFile(llvm::MemoryBufferRef, llvm::Error&) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1029ece78)
#13 0x0000000111dbacd5 llvm::object::ObjectFile::createObjectFile(llvm::MemoryBufferRef, llvm::file_magic, bool) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1029e4cd5)
#14 0x0000000111dc08c5 llvm::object::SymbolicFile::createSymbolicFile(llvm::MemoryBufferRef, llvm::file_magic, llvm::LLVMContext*, bool) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1029ea8c5)
#15 0x0000000111d2f2a5 llvm::object::createBinary(llvm::MemoryBufferRef, llvm::LLVMContext*, bool) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1029592a5)
#16 0x000000010fa05d4a lld::wasm::WasmFileBase::WasmFileBase(lld::wasm::InputFile::Kind, llvm::MemoryBufferRef) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x10062fd4a)
#17 0x000000010fa13c55 lld::wasm::SymbolTable::compileBitcodeFiles() (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x10063dc55)
#18 0x000000010f9fabbe lld::wasm::(anonymous namespace)::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x100624bbe)
#19 0x000000010f9f5049 lld::wasm::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x10061f049)
#20 0x000000010f5471bc lld::unsafeLldMain(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, llvm::ArrayReflld::DriverDef, bool) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x1001711bc)
#21 0x000000010f475582 lld_main(int, char**, llvm::ToolContext const&) (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x10009f582)
#22 0x000000010f475f90 main (/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/lld+0x10009ff90)
#23 0x00007ff8031c22cd
em++: error: '/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/bin/wasm-ld -o ../public/wasm-main.wasm -lembind-rtti CMakeFiles/wasm-main.dir/src/main.cpp.o -L/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/lto -L/Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/emscripten/src/lib /Users/otteheinavaara/Desktop/emscripten/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/lto/crtbegin.o -lGL-mt-getprocaddr -lal -lhtml5 -lstubs -lnoexit -lc-mt -ldlmalloc-mt -lcompiler_rt-mt -lc++-mt-noexcept -lc++abi-mt-noexcept -lsockets-mt -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /var/folders/l8/wr002pq55q9b2nmwzc51vtgm0000gn/T/tmpkkl81nnelibemscripten_js_symbols.so --import-memory --shared-memory --strip-debug -u__cxa_atexit --export=malloc --export=free --export=_emscripten_stack_alloc --export=__getTypeName --export=_emscripten_thread_free_data --export=_emscripten_thread_crashed --export=_embind_initialize_bindings --export=__wasm_call_ctors --export=_emscripten_tls_init --export=_emscripten_thread_init --export=emscripten_stack_get_current --export=_emscripten_stack_restore --export=emscripten_stack_set_limits --export=_emscripten_thread_exit --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-table -z stack-size=65536 --no-growable-memory --initial-memory=52428800 --no-entry --table-base=1 --global-base=1024' failed (received SIGABRT (-6))
make[2]: *** [../public/wasm-main.js] Error 1
make[1]: *** [CMakeFiles/wasm-main.dir/all] Error 2
make: *** [all] Error 2
Note: Where possible, please avoid attaching screen shots of code or console
logs. Instead, please include them as text so that they may be copied /
searched. To make code blocks more readable and syntax highlighted, please
escape them with three backticks before and after, like this:
The text was updated successfully, but these errors were encountered: