From 225d3e7e74e8332338726fe89df27df36b4ec416 Mon Sep 17 00:00:00 2001 From: stephenduong1004 Date: Tue, 11 Nov 2025 18:09:15 -0500 Subject: [PATCH 1/2] Disable assertions in tsgen When using tsgen with -sASYNCIFY=1 and assertions enabled, an assertion failure occurs: `Assertion failed: missing Wasm export: asyncify_start_unwind`. This is due to https://github.com/emscripten-core/emscripten/pull/25541. This change disables assertions when running tsgen to resolve the issue. --- tools/link.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/link.py b/tools/link.py index 79aa4b8418c89..5e3d19835d0b0 100644 --- a/tools/link.py +++ b/tools/link.py @@ -2059,6 +2059,7 @@ def run_embind_gen(options, wasm_target, js_syms, extra_settings): outfile_js = in_temp('tsgen.js') # The Wasm outfile may be modified by emscripten.emscript, so use a temporary file. outfile_wasm = in_temp('tsgen.wasm') + settings.ASSERTIONS = 0 emscripten.emscript(wasm_target, outfile_wasm, outfile_js, js_syms, finalize=False) # Build the flags needed by Node.js to properly run the output file. node_args = [] From ff9cc0ff872613e6317de04b2d18d0210991f45a Mon Sep 17 00:00:00 2001 From: stephenduong1004 Date: Tue, 11 Nov 2025 18:27:50 -0500 Subject: [PATCH 2/2] Move settings.ASSERTIONS = 0 up to be with other settings modifications --- tools/link.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/link.py b/tools/link.py index 5e3d19835d0b0..e24de2fa58228 100644 --- a/tools/link.py +++ b/tools/link.py @@ -2056,10 +2056,10 @@ def run_embind_gen(options, wasm_target, js_syms, extra_settings): settings.MEMORY64 = 2 # Source maps haven't been generated yet and aren't needed to run embind_gen. settings.LOAD_SOURCE_MAP = 0 + settings.ASSERTIONS = 0 outfile_js = in_temp('tsgen.js') # The Wasm outfile may be modified by emscripten.emscript, so use a temporary file. outfile_wasm = in_temp('tsgen.wasm') - settings.ASSERTIONS = 0 emscripten.emscript(wasm_target, outfile_wasm, outfile_js, js_syms, finalize=False) # Build the flags needed by Node.js to properly run the output file. node_args = []