Thanks, I see. Ok, this looks like a wasm2js bug.

Any chance you can provide the project so I can build locally to test? If
not, if you can provide the build output with  -g1  (so there is
whitespace) that might (but no sure) be enough to figure this out.

(The -O1 issue is a known limitation of EM_ASM currently. As the error
suggests, EM_JS is a workaround, which is also better anyhow, so best to
switch to that.)

On Tue, Feb 18, 2020 at 11:43 PM Laurent Pugin <[email protected]> wrote:

> There are no other flags (except for the exported functions). It is using
> upstream.
>
> I tested with other optimization flags.
>
> With -O0: it compiles and runs as normal
> With -O2 and -O3: it compiles but fails to run as reported before
> With -O1: compilation fails with
>
> Fatal: local.get of unknown in arg0 of call to emscripten_asm_const_int
> (used by EM_ASM* macros) in function 18029.
> This might be caused by aggressive compiler transformations. Consider
> using EM_JS instead.
> shared:ERROR:
> '/Users/laurent/tools/emsdk/upstream/bin/wasm-emscripten-finalize
> --detect-features --global-base=1024
> /var/folders/wd/7vt44b8n035_qp6k8mt55rdr0000gn/T/emscripten_temp_ue0ycr/verovio.wasm
> -o
> /var/folders/wd/7vt44b8n035_qp6k8mt55rdr0000gn/T/emscripten_temp_ue0ycr/verovio.wasm.o.wasm'
> failed (1)
>  Failed.
>
>
>
> On Tuesday, 18 February 2020 22:37:49 UTC+1, Alon Zakai wrote:
>>
>> Hmm, this is puzzling. Nothing in that range on emscripten looks
>> suspicious, except perhaps for closure - do you have any other link flags,
>> like --closure 1, than those mentioned?
>>
>> If that's not it, perhaps this is a regression in Binaryen's wasm2js. To
>> confirm, this is with 1.39.8 or 1.39.8-upstream, and and not
>> 1.39.8-fastcomp?
>>
>> Do you also get an error when building with -O0 or -O1? The error message
>> might be clearer.
>>
>>
>> On Mon, Feb 17, 2020 at 11:16 PM Laurent Pugin <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> I have a problem with a project that builds asm.js output with the
>>> following parameters.
>>>
>>> my $FLAGS = "-O3";
>>> $FLAGS .= " -DNDEBUG";
>>> $FLAGS .= " --memory-init-file 0";
>>> $FLAGS .= " -std=c++17";
>>> $FLAGS .= " -s ASM_JS=1";
>>> $FLAGS .= " -s WASM=0";
>>> $FLAGS .= " -s TOTAL_MEMORY=256MB";
>>> $FLAGS .= " -s TOTAL_STACK=128MB";
>>>
>>> It generates a single JS file that can be included in a webpage within a
>>> <script> tag in the header, and then exported function are accessible. This
>>> used to work fine up to 1.39.7 but fails with 1.39.8. Any ideas of what has
>>> changed between the two versions and how to fix it? Thanks
>>>
>>> The console throws (Chrome)
>>>
>>> verovio-toolkit.js:43 failed to asynchronously prepare wasm:
>>> ReferenceError: oa is not defined
>>> (anonymous) @ verovio-toolkit.js:43
>>> Promise.then (async)
>>> instantiateArrayBuffer @ verovio-toolkit.js:43
>>> instantiateAsync @ verovio-toolkit.js:43
>>> createWasm @ verovio-toolkit.js:43
>>> (anonymous) @ verovio-toolkit.js:43
>>> verovio-toolkit.js:43 ReferenceError: oa is not defined
>>> verovio-toolkit.js:43 ReferenceError: oa is not defined
>>> abort @ verovio-toolkit.js:43
>>> (anonymous) @ verovio-toolkit.js:43
>>> Promise.then (async)
>>> instantiateArrayBuffer @ verovio-toolkit.js:43
>>> instantiateAsync @ verovio-toolkit.js:43
>>> createWasm @ verovio-toolkit.js:43
>>> (anonymous) @ verovio-toolkit.js:43
>>> verovio-toolkit.js:43 Uncaught (in promise) Error: abort(ReferenceError:
>>> oa is not defined). Build with -s ASSERTIONS=1 for more info.
>>> at abort (verovio-toolkit.js:43)
>>> at verovio-toolkit.js:43
>>> abort @ verovio-toolkit.js:43
>>> (anonymous) @ verovio-toolkit.js:43
>>> Promise.then (async)
>>> instantiateArrayBuffer @ verovio-toolkit.js:43
>>> instantiateAsync @ verovio-toolkit.js:43
>>> createWasm @ verovio-toolkit.js:43
>>> (anonymous) @ verovio-toolkit.js:43
>>> verovio-toolkit.js:43 Uncaught TypeError: Cannot read property 'apply'
>>> of undefined
>>> at Object.Module._vrvToolkit_constructor [as constructor]
>>> (verovio-toolkit.js:43)
>>> at new verovio.toolkit (verovio-toolkit.js:135)
>>> at verovio.js:3
>>> Module._vrvToolkit_constructor @ verovio-toolkit.js:43
>>> verovio.toolkit @ verovio-toolkit.js:135
>>> (anonymous) @ verovio.js:3
>>>
>>> Firefox
>>>
>>> failed to asynchronously prepare wasm: ReferenceError: oa is not defined
>>> verovio-toolkit-light.js:43:10692
>>> <http://localhost:4001/javascript/develop/verovio-toolkit-light.js>
>>> ReferenceError: oa is not defined verovio-toolkit-light.js:43:9036
>>> <http://localhost:4001/javascript/develop/verovio-toolkit-light.js>
>>> ReferenceError: oa is not defined verovio-toolkit-light.js:43:9046
>>> <http://localhost:4001/javascript/develop/verovio-toolkit-light.js>
>>> Error: abort(ReferenceError: oa is not defined). Build with -s
>>> ASSERTIONS=1 for more info.
>>> TypeError: Module.asm.vrvToolkit_constructor is undefined
>>> verovio-toolkit-light.js:43:85119
>>> <http://localhost:4001/javascript/develop/verovio-toolkit-light.js>
>>>     _vrvToolkit_constructor
>>> http://localhost:4001/javascript/develop/verovio-toolkit-light.js:43
>>>     toolkit
>>> http://localhost:4001/javascript/develop/verovio-toolkit-light.js:135
>>>     <anonymous> http://localhost:4001/midi.xhtml:111
>>>
>>>
>>>
>>>
>>>
>>> --
>>> 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 on the web visit
>>> https://groups.google.com/d/msgid/emscripten-discuss/9619c413-0463-427e-ae26-27c41942466d%40googlegroups.com
>>> <https://groups.google.com/d/msgid/emscripten-discuss/9619c413-0463-427e-ae26-27c41942466d%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 on the web visit
> https://groups.google.com/d/msgid/emscripten-discuss/6fe85c54-f3a2-44c6-bb2c-26002a3e14ef%40googlegroups.com
> <https://groups.google.com/d/msgid/emscripten-discuss/6fe85c54-f3a2-44c6-bb2c-26002a3e14ef%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 on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpTUiyyfnnjd75s6fu_F8jdFrXu3WsUT%3D8niUL10eyJTmg%40mail.gmail.com.

Reply via email to