emscripten-core / emscripten-core/emscripten
"undefined symbol: jsSetOnAbort" error during linking but LLVM shows the symbol is defined.
- Dominant language
- C++
- Stars
- 27.6k
- Forks
- 3.6k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 105
Description
We have been building with emcc 3.1.2 for months. We are looking to upgrade the EMSDK version. We started the process with 3.1.7 but shortly thereafter, 3.1.8 came out so we switched to 3.1.8. But with either one,
```
builder@Sandbox:~/sandboxes/notes/main$ mk -r
Iris Program Maintenance Utility Version 2.09
Copyright (c) Iris Associates, Inc., 1984-2001. All rights reserved.
# MAKE: Processing wasm/make.mak for WebAssembly platform with EMCC and GCC3+ compilers
build @c.nam -x -l.wasm.o >obj.nomad.wasm.tmp
Iris Macro Substitution Utility Version 2.02
Copyright (c) Iris Associates, Inc., 1984-2001. All rights reserved.
em++ -DEMSDK -DMOBILE -DOPENGL -DNO_DYNAMIC_LOADING -DWASM_NSL -DWASM_NFL -g2 -pthread -s USE_PTHREADS=1 -s PROXY_TO_PTHREAD=1 -s PTHREAD_POOL_SIZE=8 -s FETCH=1 -s FETCH_SUPPORT_INDEXEDDB=0 -s FULL_ES2=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s DISABLE_EXCEPTION_CATCHING=0 -s INITIAL_MEMORY=268435456 -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s LLD_REPORT_UNDEFINED -s OFFSCREEN_FRAMEBUFFER=1 -s DEMANGLE_SUPPORT=1 -s ABORT_ON_WASM_EXCEPTIONS=1 -DGCC3 -DGCC4 -fno-strict-aliasing -DGCC_LBLB_NOT_SUPPORTED -felide-constructors -Wl,--whole-archive -pthread -s USE_PTHREADS=1 -s PROXY_TO_PTHREAD=1 -s PTHREAD_POOL_SIZE=8 -s FETCH=1 -s FETCH_SUPPORT_INDEXEDDB=0 -s FULL_ES2=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s DISABLE_EXCEPTION_CATCHING=0 -s INITIAL_MEMORY=268435456 -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s LLD_REPORT_UNDEFINED -s OFFSCREEN_FRAMEBUFFER=1 -s DEMANGLE_SUPPORT=1 -s ABORT_ON_WASM_EXCEPTIONS=1 -O2 --closure 0 --memory-init-file 1 --js-library $EMSDK/upstream/emscripten/src/library_websocket.js -lidbfs.js -L/vhome/builder/sandboxes/notes/bin/wasm/bin -lcrypto -o $NOTESBIN/ -o /vhome/builder/sandboxes/notes/bin/wasm/bin/nomad.html `build %1 @obj.nomad.wasm.tmp -d -s` /vhome/builder/sandboxes/notes/bin/wasm/lib/mc_main.o /vhome/builder/sandboxes/notes/bin/wasm/lib/notes0.o -Wl -L/vhome/builder/sandboxes/notes/bin/wasm/bin -lnotes -lnoteswasm -lmarvelclient -Wl,--no-whole-archive -lm --shell-file ./nomadshell.html
Iris Macro Substitution Utility Version 2.02
Copyright (c) Iris Associates, Inc., 1984-2001. All rights reserved.
em++: warning: USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code slowly, see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth]
wasm-ld: error: /vhome/builder/sandboxes/notes/bin/wasm/bin/libnotes.a: undefined symbol: jsSetOnAbort
em++: error: '/local/emsdk/upstream/bin/wasm-ld -o /vhome/builder/sandboxes/notes/bin/wasm/bin/nomad.wasm --whole-archive -L/vhome/builder/sandboxes/notes/bin/wasm/bin /vhome/builder/sandboxes/notes/bin/wasm/bin/libcrypto.so nomad.wasm.o /vhome/builder/sandboxes/notes/bin/wasm/lib/mc_main.o /vhome/builder/sandboxes/notes/bin/wasm/lib/notes0.o -L/vhome/builder/sandboxes/notes/bin/wasm/bin /vhome/builder/sandboxes/notes/bin/wasm/bin/libnotes.a /vhome/builder/sandboxes/notes/bin/wasm/bin/libnoteswasm.a /vhome/builder/sandboxes/notes/bin/wasm/bin/libmarvelclient.a --no-whole-archive -L/local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libfreetype.a /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libpng.a /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/crtbegin.o --whole-archive -lfetch-mt --no-whole-archive -lGL-mt-ofb -lal -lhtml5 -lstubs -lnoexit -lc-mt -ldlmalloc-mt -lcompiler_rt-mt -lc++-mt -lc++abi-mt -lsockets-mt -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --allow-undefined-file=/tmp/tmpx_36j7gh.undefined --import-memory --shared-memory --export-if-defined=main --export-if-defined=_emscripten_thread_init --export-if-defined=_emscripten_thread_exit --export-if-defined=_emscripten_thread_crashed --export-if-defined=emscripten_tls_init --export-if-defined=pthread_self --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export=__cxa_demangle --export=stackSave --export=stackRestore --export=stackAlloc --export=__wasm_call_ctors --export=__errno_location --export=emscripten_dispatch_to_thread_ --export=_emscripten_thread_free_data --export=_emscripten_allow_main_runtime_queued_calls --export=emscripten_main_browser_thread_id --export=emscripten_main_thread_process_queued_calls --export=emscripten_run_in_main_runtime_thread_js --export=emscripten_stack_set_limits --export=emscripten_builtin_memalign --export=emscripten_proxy_main --export=malloc --export=free --export=__cxa_is_pointer_type --export=__cxa_can_catch --export=setThrew --export=ntohs --export=htons --export=htonl --export=__dl_seterr --export=saveSetjmp --export=emscripten_webgl_make_context_current --export=emscripten_webgl_get_current_context --export-table -z stack-size=5242880 --initial-memory=268435456 --entry=main --max-memory=2147483648 --global-base=1024' failed (returned 1)
### MAKE: ABNORMAL STATUS (256) FROM 'em++ -DEMSDK -DMOBILE -DOPENGL -DNO_DYNAMIC_LOADING -DWASM_NSL -DWASM_NFL -g2 -pthread -s USE_PTHREADS=1 -s PROXY_TO_PTHREAD=1 -s PTHREAD_POOL_SIZE=8 -s FETCH=1 -s FETCH_SUPPORT_INDEXEDDB=0 -s FULL_ES2=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s DISABLE_EXCEPTION_CATCHING=0 -s INITIAL_MEMORY=268435456 -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s LLD_REPORT_UNDEFINED -s OFFSCREEN_FRAMEBUFFER=1 -s DEMANGLE_SUPPORT=1 -s ABORT_ON_WASM_EXCEPTIONS=1 -DGCC3 -DGCC4 -fno-strict-aliasing -DGCC_LBLB_NOT_SUPPORTED -felide-constructors -Wl,--whole-archive -pthread -s USE_PTHREADS=1 -s PROXY_TO_PTHREAD=1 -s PTHREAD_POOL_SIZE=8 -s FETCH=1 -s FETCH_SUPPORT_INDEXEDDB=0 -s FULL_ES2=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s DISABLE_EXCEPTION_CATCHING=0 -s INITIAL_MEMORY=268435456 -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s LLD_REPORT_UNDEFINED -s OFFSCREEN_FRAMEBUFFER=1 -s DEMANGLE_SUPPORT=1 -s ABORT_ON_WASM_EXCEPTIONS=1 -O2 --closure 0 --memory-init-file 1 --js-library $EMSDK/upstream/emscripten/src/library_websocket.js -lidbfs.js -L/vhome/builder/sandboxes/notes/bin/wasm/bin -lcrypto -o $NOTESBIN/ -o /vhome/builder/sandboxes/notes/bin/wasm/bin/nomad.html `build %1 @obj.nomad.wasm.tmp -d -s` /vhome/builder/sandboxes/notes/bin/wasm/lib/mc_main.o /vhome/builder/sandboxes/notes/bin/wasm/lib/notes0.o -Wl -L/vhome/builder/sandboxes/notes/bin/wasm/bin -lnotes -lnoteswasm -lmarvelclient -Wl,--no-whole-archive -lm --shell-file ./nomadshell.html '
```
We haven't change the jsSetOnAbort in a long time, so why is it undefined? Using llvm-nm, I see it as defined:
```
builder@Sandbox:~/sandboxes/notes/main$ cd ../bin/wasm/bin
builder@Sandbox:~/sandboxes/notes/bin/wasm/bin$ /local/emsdk/upstream/bin/llvm-nm -o -a *.a 2> /dev/null | grep jsSetOnAbort
libnotes.a: 005c4655 D __em_js__jsSetOnAbort
libnotes.a: U jsSetOnAbort
builder@Sandbox:~/sandboxes/notes/bin/wasm/bin$ cd ../lib
builder@Sandbox:~/sandboxes/notes/bin/wasm/lib$ /local/emsdk/upstream/bin/llvm-nm -o -a *.a 2> /dev/null | grep jsSetOnAbort
os.wasm.a:thread.wasm.o: U jsSetOnAbort
os.wasm.a:diagwasm.wasm.o: 00000000 D __em_js__jsSetOnAbort
```
If I look for other functions that we define with EM_JS, I see them, so why does jsSetOnAbort have these erors and others do not?
```
builder@Sandbox:~/sandboxes/notes/bin/wasm/lib$ /local/emsdk/upstream/bin/llvm-nm -o -a *.a 2> /dev/null | grep jsSet
nem_wasm.wasm.a:wasmToPwa.wasm.o: 00000116 D __em_js__jsSetElement
nem_wasm.wasm.a:wasmToPwa.wasm.o: U jsSetElement
nem_wasm.wasm.a:wGLPClip.wasm.o: 00000450 D __em_js__jsSetClipboardData
nem_wasm.wasm.a:wGLPClip.wasm.o: U jsSetClipboardData
nem_wasm.wasm.a:wSetGetEnv.wasm.o: 00000000 D __em_js__jsSetEnvironmentVariable
os.wasm.a:thread.wasm.o: U jsSetOnAbort
os.wasm.a:diagwasm.wasm.o: 00000000 D __em_js__jsSetOnAbort
sdk.wasm.a:wasminit.wasm.o: 0000025c D __em_js__jsSetOnunloadCallback
builder@Sandbox:~/sandboxes/notes/bin/wasm/lib$ cd ../bin
builder@Sandbox:~/sandboxes/notes/bin/wasm/bin$ /local/emsdk/upstream/bin/llvm-nm -o -a *.a 2> /dev/null | grep jsSet
libnotes.a: 005c4655 D __em_js__jsSetOnAbort
libnotes.a: 005c37e0 D __em_js__jsSetOnunloadCallback
libnotes.a: U jsSetOnAbort
libnoteswasm.a: 001c6c5f D __em_js__jsSetClipboardData
libnoteswasm.a: 001c65e3 D __em_js__jsSetElement
libnoteswasm.a: 001c989b D __em_js__jsSetEnvironmentVariable
libnoteswasm.a: U jsSetClipboardData
libnoteswasm.a: U jsSetElement
```
```
builder@Sandbox:~/sandboxes/notes/bin/wasm/bin$ emcc --version
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.8 (3ff7eff373d31d8c0179895165462019221f192e)
Copyright (C) 2014 the Emscripten authors (see AUTHORS.txt)
This is free and open source software under the MIT license.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
```
With -v on the link line:
```
builder@Sandbox:~/sandboxes/notes/main$ mk -r
Iris Program Maintenance Utility Version 2.09
Copyright (c) Iris Associates, Inc., 1984-2001. All rights reserved.
# MAKE: Processing wasm/make.mak for WebAssembly platform with EMCC and GCC3+ compilers
build @c.nam -x -l.wasm.o >obj.nomad.wasm.tmp
Iris Macro Substitution Utility Version 2.02
Copyright (c) Iris Associates, Inc., 1984-2001. All rights reserved.
em++ -DEMSDK -DMOBILE -DOPENGL -DNO_DYNAMIC_LOADING -DWASM_NSL -DWASM_NFL -g2 -pthread -s USE_PTHREADS=1 -s PROXY_TO_PTHREAD=1 -s PTHREAD_POOL_SIZE=8 -s FETCH=1 -s FETCH_SUPPORT_INDEXEDDB=0 -s FULL_ES2=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s DISABLE_EXCEPTION_CATCHING=0 -s INITIAL_MEMORY=268435456 -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s LLD_REPORT_UNDEFINED -s OFFSCREEN_FRAMEBUFFER=1 -s DEMANGLE_SUPPORT=1 -s ABORT_ON_WASM_EXCEPTIONS=1 -DGCC3 -DGCC4 -fno-strict-aliasing -DGCC_LBLB_NOT_SUPPORTED -felide-constructors -Wl,--whole-archive -v -pthread -s USE_PTHREADS=1 -s PROXY_TO_PTHREAD=1 -s PTHREAD_POOL_SIZE=8 -s FETCH=1 -s FETCH_SUPPORT_INDEXEDDB=0 -s FULL_ES2=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s DISABLE_EXCEPTION_CATCHING=0 -s INITIAL_MEMORY=268435456 -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s LLD_REPORT_UNDEFINED -s OFFSCREEN_FRAMEBUFFER=1 -s DEMANGLE_SUPPORT=1 -s ABORT_ON_WASM_EXCEPTIONS=1 -O2 --closure 0 --memory-init-file 1 --js-library $EMSDK/upstream/emscripten/src/library_websocket.js -lidbfs.js -L/vhome/builder/sandboxes/notes/bin/wasm/bin -lcrypto -o $NOTESBIN/ -o /vhome/builder/sandboxes/notes/bin/wasm/bin/nomad.html `build %1 @obj.nomad.wasm.tmp -d -s` /vhome/builder/sandboxes/notes/bin/wasm/lib/mc_main.o /vhome/builder/sandboxes/notes/bin/wasm/lib/notes0.o -Wl -L/vhome/builder/sandboxes/notes/bin/wasm/bin -lnotes -lnoteswasm -lmarvelclient -Wl,--no-whole-archive -lm --shell-file ./nomadshell.html
Iris Macro Substitution Utility Version 2.02
Copyright (c) Iris Associates, Inc., 1984-2001. All rights reserved.
em++: warning: USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code slowly, see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth]
"/local/emsdk/node/14.18.2_64bit/bin/node" /local/emsdk/upstream/emscripten/src/compiler.js /tmp/tmphfmgdity.json
"/local/emsdk/upstream/bin/wasm-ld" -o /vhome/builder/sandboxes/notes/bin/wasm/bin/nomad.wasm --whole-archive -L/vhome/builder/sandboxes/notes/bin/wasm/bin /vhome/builder/sandboxes/notes/bin/wasm/bin/libcrypto.so nomad.wasm.o /vhome/builder/sandboxes/notes/bin/wasm/lib/mc_main.o /vhome/builder/sandboxes/notes/bin/wasm/lib/notes0.o -L/vhome/builder/sandboxes/notes/bin/wasm/bin /vhome/builder/sandboxes/notes/bin/wasm/bin/libnotes.a /vhome/builder/sandboxes/notes/bin/wasm/bin/libnoteswasm.a /vhome/builder/sandboxes/notes/bin/wasm/bin/libmarvelclient.a --no-whole-archive -L/local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libfreetype.a /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libpng.a /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/crtbegin.o --whole-archive -lfetch-mt --no-whole-archive -lGL-mt-ofb -lal -lhtml5 -lstubs -lnoexit -lc-mt -ldlmalloc-mt -lcompiler_rt-mt -lc++-mt -lc++abi-mt -lsockets-mt -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --allow-undefined-file=/tmp/tmpndw0o8z1.undefined --import-memory --shared-memory --export-if-defined=main --export-if-defined=_emscripten_thread_init --export-if-defined=_emscripten_thread_exit --export-if-defined=_emscripten_thread_crashed --export-if-defined=emscripten_tls_init --export-if-defined=pthread_self --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export=__cxa_demangle --export=stackSave --export=stackRestore --export=stackAlloc --export=__wasm_call_ctors --export=__errno_location --export=emscripten_dispatch_to_thread_ --export=_emscripten_thread_free_data --export=_emscripten_allow_main_runtime_queued_calls --export=emscripten_main_browser_thread_id --export=emscripten_main_thread_process_queued_calls --export=emscripten_run_in_main_runtime_thread_js --export=emscripten_stack_set_limits --export=emscripten_builtin_memalign --export=emscripten_proxy_main --export=malloc --export=free --export=__cxa_is_pointer_type --export=__cxa_can_catch --export=setThrew --export=ntohs --export=htons --export=htonl --export=__dl_seterr --export=saveSetjmp --export=emscripten_webgl_make_context_current --export=emscripten_webgl_get_current_context --export-table -z stack-size=5242880 --initial-memory=268435456 --entry=main --max-memory=2147483648 --global-base=1024
wasm-ld: error: /vhome/builder/sandboxes/notes/bin/wasm/bin/libnotes.a: undefined symbol: jsSetOnAbort
em++: error: '/local/emsdk/upstream/bin/wasm-ld -o /vhome/builder/sandboxes/notes/bin/wasm/bin/nomad.wasm --whole-archive -L/vhome/builder/sandboxes/notes/bin/wasm/bin /vhome/builder/sandboxes/notes/bin/wasm/bin/libcrypto.so nomad.wasm.o /vhome/builder/sandboxes/notes/bin/wasm/lib/mc_main.o /vhome/builder/sandboxes/notes/bin/wasm/lib/notes0.o -L/vhome/builder/sandboxes/notes/bin/wasm/bin /vhome/builder/sandboxes/notes/bin/wasm/bin/libnotes.a /vhome/builder/sandboxes/notes/bin/wasm/bin/libnoteswasm.a /vhome/builder/sandboxes/notes/bin/wasm/bin/libmarvelclient.a --no-whole-archive -L/local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libfreetype.a /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libpng.a /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a /local/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/crtbegin.o --whole-archive -lfetch-mt --no-whole-archive -lGL-mt-ofb -lal -lhtml5 -lstubs -lnoexit -lc-mt -ldlmalloc-mt -lcompiler_rt-mt -lc++-mt -lc++abi-mt -lsockets-mt -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --allow-undefined-file=/tmp/tmpndw0o8z1.undefined --import-memory --shared-memory --export-if-defined=main --export-if-defined=_emscripten_thread_init --export-if-defined=_emscripten_thread_exit --export-if-defined=_emscripten_thread_crashed --export-if-defined=emscripten_tls_init --export-if-defined=pthread_self --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export=__cxa_demangle --export=stackSave --export=stackRestore --export=stackAlloc --export=__wasm_call_ctors --export=__errno_location --export=emscripten_dispatch_to_thread_ --export=_emscripten_thread_free_data --export=_emscripten_allow_main_runtime_queued_calls --export=emscripten_main_browser_thread_id --export=emscripten_main_thread_process_queued_calls --export=emscripten_run_in_main_runtime_thread_js --export=emscripten_stack_set_limits --export=emscripten_builtin_memalign --export=emscripten_proxy_main --export=malloc --export=free --export=__cxa_is_pointer_type --export=__cxa_can_catch --export=setThrew --export=ntohs --export=htons --export=htonl --export=__dl_seterr --export=saveSetjmp --export=emscripten_webgl_make_context_current --export=emscripten_webgl_get_current_context --export-table -z stack-size=5242880 --initial-memory=268435456 --entry=main --max-memory=2147483648 --global-base=1024' failed (returned 1)
### MAKE: ABNORMAL STATUS (256) FROM 'em++ -DEMSDK -DMOBILE -DOPENGL -DNO_DYNAMIC_LOADING -DWASM_NSL -DWASM_NFL -g2 -pthread -s USE_PTHREADS=1 -s PROXY_TO_PTHREAD=1 -s PTHREAD_POOL_SIZE=8 -s FETCH=1 -s FETCH_SUPPORT_INDEXEDDB=0 -s FULL_ES2=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s DISABLE_EXCEPTION_CATCHING=0 -s INITIAL_MEMORY=268435456 -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s LLD_REPORT_UNDEFINED -s OFFSCREEN_FRAMEBUFFER=1 -s DEMANGLE_SUPPORT=1 -s ABORT_ON_WASM_EXCEPTIONS=1 -DGCC3 -DGCC4 -fno-strict-aliasing -DGCC_LBLB_NOT_SUPPORTED -felide-constructors -Wl,--whole-archive -v -pthread -s USE_PTHREADS=1 -s PROXY_TO_PTHREAD=1 -s PTHREAD_POOL_SIZE=8 -s FETCH=1 -s FETCH_SUPPORT_INDEXEDDB=0 -s FULL_ES2=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s DISABLE_EXCEPTION_CATCHING=0 -s INITIAL_MEMORY=268435456 -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 -s ERROR_ON_UNDEFINED_SYMBOLS=1 -s LLD_REPORT_UNDEFINED -s OFFSCREEN_FRAMEBUFFER=1 -s DEMANGLE_SUPPORT=1 -s ABORT_ON_WASM_EXCEPTIONS=1 -O2 --closure 0 --memory-init-file 1 --js-library $EMSDK/upstream/emscripten/src/library_websocket.js -lidbfs.js -L/vhome/builder/sandboxes/notes/bin/wasm/bin -lcrypto -o $NOTESBIN/ -o /vhome/builder/sandboxes/notes/bin/wasm/bin/nomad.html `build %1 @obj.nomad.wasm.tmp -d -s` /vhome/builder/sandboxes/notes/bin/wasm/lib/mc_main.o /vhome/builder/sandboxes/notes/bin/wasm/lib/notes0.o -Wl -L/vhome/builder/sandboxes/notes/bin/wasm/bin -lnotes -lnoteswasm -lmarvelclient -Wl,--no-whole-archive -lm --shell-file ./nomadshell.html '
```
Is this a bug in 3.1.7 and 3.1.8? Are we doing something improper and 3.1.7 just started enforcing/detecting our improper code that we were getting away with before?
Contributor guide
Assessment
This issue has not been assessed yet.