Comments (4)
Hi, just want to make sure we are on the same page. You can run your application in wasm format, but after it is compiled to aot format, it has the error you describe, right?
from wasm-micro-runtime.
Not really. I do the following
- compile my wasm module to .wasm with emscripten
emcc -std=c++20 -g --no-entry -sERROR_ON_UNDEFINED_SYMBOLS=0 \
-I$PROTOLIB_PATH $PROTOLIB_PATH/.libs/libprotobuf.a \
-matomics -mbulk-memory -Wl,--shared-memory,--no-check-features \
-Wl,--export=__heap_base,--export=__data_end,--export=__wasm_call_ctors \
-Wl,--export=malloc -Wl,--export=free \
-Wl,--no-entry \
example.cpp -o example.wasm
- compile .wasm to .aot with wamrc
wamrc --enable-multi-thread --target=x86_64 --cpu=ivybridge -o example.aot example.wasm
- use this module inside my c++ code using wasm_runtime_load, wasm_runtime_instantiate, etc.
Two first steps (.cpp -> .wasm -> .aot) finish successfully without errors. But when using module it throws the error described above
from wasm-micro-runtime.
What if you are loading the wasm file rather than aot file? Will it still have similar errors?
from wasm-micro-runtime.
If I remember correctly, emcc's pthread support for standalone mode may not be ideal. We have encountered some non-trivial issues about it before. I don't know if you can switch to using wasi-sdk instead, given the protobuf link you posted is compiled with emcc, I think it will be some extra work to use wasi-sdk to compile that library.
PS: When you can get it run successfully, for thrown exception debugging you can refer to samples/debug-tools, which explains how to find the line number of the source code based on the call stack dumped when an exception is thrown.
from wasm-micro-runtime.
Related Issues (20)
- Wrong execution reuslt on fast interpreter mode HOT 2
- aot_load_const_from_table is inefficient
- "duplicate export name" check is O(n^2) HOT 3
- Compilation errors when build iwasm with GC and EH support
- iwasm: WASM module load failed: struct or array as field is not supported in constant expr HOT 6
- iwasm: WASM module load failed: type mismatch: expect (ref null ht) but got other1 unknown type HOT 5
- exception handler intercepts c++ exceptions in the host on windows HOT 2
- WASM module instantiate failed on Mac HOT 1
- aot: xtensa xip triggers llvm assertion failure
- BH_DEBUG not set in multi-configuration cmake (eg. visual studio)
- printf_wrapper (libc builtin) makes multiple calls to os_printf with individual characters HOT 6
- Can AOT file built on windows run directly on other platforms? HOT 5
- How to load and run another wasm in a running wasm? HOT 4
- Exception Handling Support in Fast Interpreter HOT 1
- iwasm with aot file fail with SIGSEGV HOT 4
- Exception for Assemblyscript HOT 1
- How to cross compile to riscv64 HOT 2
- Unexpected behavior on fast interpreter mode
- A bug in validation
- Report some typo in wamr.gitbook
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wasm-micro-runtime.