-
-
Notifications
You must be signed in to change notification settings - Fork 667
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Memory incoherence when using --path #2888
Comments
Some more context: I am trying to build a library that exposes some standard functions to the javascript host. However, because the functions exported in the library cannot manipulate any state that the main program has access to, they aren't useful. |
My initial suspicion is that the same file is read and parsed twice, with different internal names... |
Could it also be related to multiple entrypoints? In the first example (the broken one), I'm compiling two files with |
Entrypoints are compiled together...I don't think they affect whether this bug occurs. |
On second thought, it looks like the cause is the second entry point, because you specify |
Is there a way to use |
Have you tried playing around with |
Bug description
If
asc
is used to compile multiple files, and one of those files is resolved via--path
, then memory set in that file is not persisted. If--path
is not used, the memory persists.Steps to reproduce
index.html
main.ts
lib/utils/types.ts
lib/utils/module.ts
Compile with
asc main.ts lib/utils/module.ts -o main.wasm --bindings esm --path lib
Run
npx http-server
Open
http://localhost:8080
and open the debug console.The output should be:
This shows that the memory is not being set correctly.
Now to prove it is a
--path
issue, we will use relative imports, instead of path imports. Change main.ts to:Compile with
asc main.ts lib/utils/module.ts -o main.wasm --bindings esm
Visit in the browser (you may need to hard refresh). The output will be
This shows that the memory is being set correctly.
AssemblyScript version
0.27.31
The text was updated successfully, but these errors were encountered: