Thanks Sam, I tried your workaround ,but it just adds some underscores to
the error
error: undefined symbol: __addPersistentDirsInt (referenced by root
reference (e.g. compiled C/C++ code))
warning: To disable errors for undefined symbols use
`-sERROR_ON_UNDEFINED_SYMBOLS=0`
warning: ___addPersistentDirsInt may need to be added to EXPORTED_FUNCTIONS
if it arrives from a system library
Error: Aborting compilation due to previous errors
at finalCombiner
(file:///Users/leo/w/github/emsdk/upstream/emscripten/src/jsifier.mjs:889:13)
at Module.runJSify
(file:///Users/leo/w/github/emsdk/upstream/emscripten/src/jsifier.mjs:925:5)
at
file:///Users/leo/w/github/emsdk/upstream/emscripten/tools/compiler.mjs:108:17
emcc: error: '/Users/leo/w/github/emsdk/node/20.18.0_64bit/bin/node
/Users/leo/w/github/emsdk/upstream/emscripten/tools/compiler.mjs
-' failed (returned 1)
As I have no clue what EM_ASYNC_JS expands to I don't know if the wrapped
function has static or global scope.
Will add a bug report.
I added already a simple GitHub repo at
https://github.com/leopatras/em_fsanitize_address
Regards, Leo
On Monday, January 26, 2026 at 6:17:46 PM UTC+1 [email protected] wrote:
> Would you mind opening a bug report with reproduction instructions?
>
> One thing to node is that EM_JS / EM_ASYNC_JS functions so have slightly
> different linkage to normal functions. If you create a pass-through
> wrapper from `addPersistentDirsInt` as a normal C function does that fix
> the issue?
>
> ```
> EM_ASYNC_JS(void,__addPersistentDirsInt,(),...);
> void addPersistentDirsInt() {
> __addPersistentDirsInt()
> }
> ```
>
> cheers,
> sam
>
> On Mon, Jan 26, 2026 at 9:09 AM 'leopatras' via emscripten-discuss <
> [email protected]> wrote:
>
>> I have an emscripten project which relies on the -sASYNCIFY features.
>> Trying to compile it with fsanitize=address as additional argument to
>> reveal problems fails because the functions wrapped with the EM_ASYNC_JS
>> macro
>> are then not seen by the compiler anymore.
>>
>> I have a function addPersistentDirs exposed via the EM_ASYNC_JS macro
>> EM_ASYNC_JS(void,addPersistentDirsInt,(),...
>>
>> and the compiler raises
>>
>> error: undefined symbol: addPersistentDirsInt (referenced by root
>> reference (e.g. compiled C/C++ code)) warning: To disable errors for
>> undefined symbols use `-sERROR_ON_UNDEFINED_SYMBOLS=0` warning:
>> _addPersistentDirsInt may need to be added to EXPORTED_FUNCTIONS if it
>> arrives from a system library Error: Aborting compilation due to previous
>> errors at finalCombiner
>> (file:///Users/leo/w/github/emsdk/upstream/emscripten/src/jsifier.mjs:889:13)
>>
>> at Module.runJSify
>> (file:///Users/leo/w/github/emsdk/upstream/emscripten/src/jsifier.mjs:925:5)
>> at
>> file:///Users/leo/w/github/emsdk/upstream/emscripten/tools/compiler.mjs:108:17
>>
>> emcc: error: '/Users/leo/w/github/emsdk/node/20.18.0_64bit/bin/node
>> /Users/leo/w/github/emsdk/upstream/emscripten/tools/compiler.mjs -' failed
>> (returned 1)
>>
>> my compilation flags are
>>
>> emcc -O2 --pre-js pre.js -s MAIN_MODULE=1 -s FORCE_FILESYSTEM=1 -s
>> EXPORT_ALL=1 -s ASSERTIONS=1 -s STACK_SIZE=200000 -s ASYNCIFY -s
>> ASYNCIFY_STACK_SIZE=200000 -s MAXIMUM_MEMORY=4GB -s STACK_OVERFLOW_CHECK=2
>> -s EXIT_RUNTIME=1 -s ALLOW_MEMORY_GROWTH=1 -lidbfs.js -lproxyfs.js
>> -fsanitize=address main.c -o main.html
>>
>> Is asyncify not supported when building with fsanitize=address ? I can't
>> find a notion about that in the docs.
>>
>> Compiling with -fsanitize=leak is fine btw.
>>
>> Regards, Leo
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "emscripten-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion visit
>> https://groups.google.com/d/msgid/emscripten-discuss/4524cf56-c8c7-4ed4-bb2d-ecedae8164dcn%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/emscripten-discuss/4524cf56-c8c7-4ed4-bb2d-ecedae8164dcn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
You received this message because you are subscribed to the Google Groups
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/emscripten-discuss/667add89-02fa-47de-b598-6a36966a5055n%40googlegroups.com.