Comments (2)
verbose runs give a few more details. I suppose it has something to do with prologue/epilogue.
e.g. on one run I got
runtime: gp: gp=0xc00007bd40, goid=533228779733184, gp->atomicstatus=0
runtime: getg: g=0xc0001021a0, goid=0, g->atomicstatus=0
fatal error: invalid g status
which directs to https://github.com/golang/go/blob/master/src/runtime/preempt.go#L134
another run gave
runtime: g 7316: unexpected return pc for testing.tRunner called from 0xc0
stack: frame={sp:0xc000557ea0, fp:0xc000557fb0} stack=[0xc000550000,0xc000558000)
another:
=== RUN TestE2E/fibonacci_recursive/with_cache/call_f[20]
require.go:331: expected no error, but was module closed with exit_code(124920)
/Users/evacchi/Devel/github.com/tetratelabs/wazero/internal/engine/wazevo/e2e_test.go:415
another:
fatal error: checkptr: misaligned pointer conversion
goroutine 8272 [running]:
runtime.throw({0x1521545?, 0x18541c0?})
/Users/evacchi/sdk/go/src/runtime/panic.go:1077 +0x5c fp=0xc0002cfcc8 sp=0xc0002cfc98 pc=0x108907c
runtime.checkptrAlignment(0xc0003d0b60?, 0xc0000136d6?, 0xa?)
/Users/evacchi/sdk/go/src/runtime/checkptr.go:20 +0x6c fp=0xc0002cfce8 sp=0xc0002cfcc8 pc=0x105894c
github.com/tetratelabs/wazero/internal/engine/wazevo_test.TestE2E.func1.1(0x4b243068)
/Users/evacchi/Devel/github.com/tetratelabs/wazero/internal/engine/wazevo/e2e_test.go:403 +0x73a fp=0xc0002cfea0 sp=0xc0002cfce8 pc=0x146453a
runtime: g 8272: unexpected return pc for github.com/tetratelabs/wazero/internal/engine/wazevo_test.TestE2E.func1.1 called from 0xc0002cfed0
stack: frame={sp:0xc0002cfce8, fp:0xc0002cfea0} stack=[0xc0002c8000,0xc0002d0000)
0x000000c0002cfbe8: 0x000000c00007e978 0x000000c0002cfcb0
0x000000c0002cfbf8: 0x0000000000000001 0x0000000000000001
0x000000c0002cfc08: 0x00000000010c16b9 <racefuncenter+0x0000000000000019> 0x000000000000002f
0x000000c0002cfc18: 0x0000000000000003 0x0000000000000003
0x000000c0002cfc28: 0x000000c000021110 0x000000c0002cfcb0
0x000000c0002cfc38: 0x000000c00007e990 0x00000000010be1d2 <runtime.systemstack+0x0000000000000032>
0x000000c0002cfc48: 0x000000c0002cfc88 0x0000000001089385 <runtime.fatalthrow+0x0000000000000065>
0x000000c0002cfc58: 0x000000c0002cfc68 0x000000c00022b1e0
0x000000c0002cfc68: 0x00000000010893c0 <runtime.fatalthrow.func1+0x0000000000000000> 0x000000c00022b1e0
0x000000c0002cfc78: 0x000000000108907c <runtime.throw+0x000000000000005c> 0x000000c0002cfc98
0x000000c0002cfc88: 0x000000c0002cfcb8 0x000000000108907c <runtime.throw+0x000000000000005c>
0x000000c0002cfc98: 0x000000c0002cfca0 0x00000000010890a0 <runtime.throw.func1+0x0000000000000000>
0x000000c0002cfca8: 0x0000000001521545 0x0000000000000027
0x000000c0002cfcb8: 0x000000c0002cfcd8 0x000000000105894c <runtime.checkptrAlignment+0x000000000000006c>
0x000000c0002cfcc8: 0x0000000001521545 0x00000000018541c0
0x000000c0002cfcd8: 0x000000c0002cfe90 0x000000000146453a <github.com/tetratelabs/wazero/internal/engine/wazevo_test.TestE2E.func1.1+0x000000000000073a>
0x000000c0002cfce8: <0x000000c0003d0b60 0x000000c0000136d6
0x000000c0002cfcf8: 0x000000000000000a 0x000000c00039fb40
0x000000c0002cfd08: 0x0000000000000002 0x0000000000000000
EDIT reading about the g register https://go.dev/doc/asm#amd64
EDIT2: another interesting error... https://github.com/golang/go/blob/749ebaa4460af237f9facbc43af3e055802dc0be/src/runtime/traceback.go#L450-L474
pc is not valid when it is zero https://github.com/golang/go/blob/749ebaa4460af237f9facbc43af3e055802dc0be/src/runtime/traceback.go#L226C1-L228C2
from wazero.
I think it might have to do with defers + r.Close(ctx)
from wazero.
Related Issues (20)
- [Question] How to handle importing memory HOT 4
- compiler(arm64) overflow in call relocations HOT 8
- Can a Runtime be reused in parallel and across multiple mutually-untrusted modules? HOT 2
- Please tell me how to properly handle stdio HOT 3
- GOOS=wasip1 embedding wazero succeeds with wasmtime but fails with wazero on arm64 HOT 5
- Make compilation faster HOT 20
- Support dialing sockets, udp, tcp, unix. HOT 3
- Race condition during module compilation engine HOT 7
- `wazero.NewCompilationCache` creates a `CompilationCache` instance that's not really caching anything HOT 8
- Race condition during module interpretation with `interpreter` engine HOT 1
- When using `Instantiate` & `InstantiateWithConfig` modules are removed implicitly from the in-memory cache
- Binary built with simd128 works with arm64 but fails with amd64 HOT 12
- Plans to support component model? HOT 4
- wasm debug build crashes HOT 9
- performance issue in browser environment HOT 3
- [help want] the program is hangup when read my net file system HOT 1
- [Question] Compilation cache over different versions HOT 1
- `unreachable` error and stack trace if compiled and extra memory, not otherwise HOT 4
- Clarification on concurrency semantics for invocations HOT 2
- `path_open` with an empty path should fail
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 wazero.