Skip to content
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

Failed to compile wasm plugin by tinygo in Actions #737

Closed
WeixinX opened this issue Dec 27, 2023 · 2 comments · Fixed by #838
Closed

Failed to compile wasm plugin by tinygo in Actions #737

WeixinX opened this issue Dec 27, 2023 · 2 comments · Fixed by #838
Labels

Comments

@WeixinX
Copy link
Collaborator

WeixinX commented Dec 27, 2023

Ⅰ. Issue Description

Actions 中 tinygo 编译 wasm 插件失败,导致需要 re-run job

Ⅱ. Describe what happened

If there is an exception, please attach the exception trace:

#10 [builder 6/6] RUN tinygo build -o /main.wasm -scheduler=none -gc=custom -tags='custommalloc nottinygc_finalizer' -target=wasi ./
#10 8.787 SIGSEGV: segmentation violation
#10 8.787 PC=0x512465e m=4 sigcode=18446744073709551610
#10 8.787 signal arrived during cgo execution
#10 8.787 
#10 8.787 goroutine 243 [syscall]:
#10 8.787 runtime.cgocall(0x852450, 0xc01d9557f8)
#10 8.787 	/usr/local/go/src/runtime/cgocall.go:157 +0x5c fp=0xc01d9557d0 sp=0xc01d955798 pc=0x4c36bc
#10 8.787 tinygo.org/x/go-llvm._Cfunc_LLVMDeleteFunction(0x7fd9ba3c9018)
#10 8.787 	_cgo_gotypes.go:4704 +0x45 fp=0xc01d9557f8 sp=0xc01d9557d0 pc=0x6f3a25
#10 8.787 tinygo.org/x/go-llvm.Value.EraseFromParentAsFunction.func1({0xc00fcb63c0?})
#10 8.787 	/go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20221028[1830](https://github.com/alibaba/higress/actions/runs/7333588924/job/19976760836?pr=689#step:7:1831)34-8341240c0b32/ir.go:1129 +0x3f fp=0xc01d955830 sp=0xc01d9557f8 pc=0x70abdf
#10 8.787 tinygo.org/x/go-llvm.Value.EraseFromParentAsFunction({0xc01d955b50?})
#10 8.787 	/go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20221028183034-8341240c0b32/ir.go:1129 +0x19 fp=0xc01d955848 sp=0xc01d955830 pc=0x70ab79
#10 8.787 github.com/tinygo-org/tinygo/interp.RunFunc({0xc0003742d0?}, 0xc00422ad80?, 0x20?)
#10 8.787 	/__w/tinygo/tinygo/interp/interp.go:281 +0xba8 fp=0xc01d955bd0 sp=0xc01d955848 pc=0x7c2b08
#10 8.787 github.com/tinygo-org/tinygo/builder.Build.func3(0xc007887e00)
#10 8.787 	/__w/tinygo/tinygo/builder/build.go:437 +0xcd9 fp=0xc01d955f78 sp=0xc01d955bd0 pc=0x800ef9
#10 8.787 github.com/tinygo-org/tinygo/builder.runJob(0xc007887e00, 0x0?)
#10 8.787 	/__w/tinygo/tinygo/builder/jobs.go:222 +0x4f fp=0xc01d955fc0 sp=0xc01d955f78 pc=0x80c84f
#10 8.787 github.com/tinygo-org/tinygo/builder.runJobs.func2()
#10 8.787 	/__w/tinygo/tinygo/builder/jobs.go:123 +0x2a fp=0xc01d955fe0 sp=0xc01d955fc0 pc=0x80c18a
#10 8.787 runtime.goexit()
#10 8.787 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc01d955fe8 sp=0xc01d955fe0 pc=0x5266c1
#10 8.787 created by github.com/tinygo-org/tinygo/builder.runJobs
#10 8.787 	/__w/tinygo/tinygo/builder/jobs.go:123 +0x5be
#10 8.787 
#10 8.787 goroutine 1 [chan receive]:
#10 8.787 runtime.gopark(0xc00788fa40?, 0x2?, 0x0?, 0x0?, 0xc008146630?)
#10 8.787 	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc0081465b0 sp=0xc008146590 pc=0x4f6c76
#10 8.787 runtime.chanrecv(0xc004558900, 0xc008146768, 0x1)
#10 8.787 	/usr/local/go/src/runtime/chan.go:583 +0x49d fp=0xc008146640 sp=0xc0081465b0 pc=0x4c647d
#10 8.787 runtime.chanrecv1(0x54f3e80?, 0xc003f23c50?)
#10 8.787 	/usr/local/go/src/runtime/chan.go:442 +0x18 fp=0xc008146668 sp=0xc008146640 pc=0x4c5f78
#10 8.787 github.com/tinygo-org/tinygo/builder.runJobs(0xc00788cc80?, 0xc007890198?)
#10 8.787 	/__w/tinygo/tinygo/builder/jobs.go:132 +0x5e7 fp=0xc008146a60 sp=0xc008146668 pc=0x80bde7
#10 8.787 github.com/tinygo-org/tinygo/builder.Build({0x7ffc55b51eea, 0x2}, {0x7ffc55b51e90, 0xa}, {0xc00012e660, 0x15}, 0xc000024480)
#10 8.787 	/__w/tinygo/tinygo/builder/build.go:877 +0x369a fp=0xc008147568 sp=0xc008146a60 pc=0x7fc13a
#10 8.787 main.Build({0x7ffc55b51eea, 0x2}, {0x7ffc55b51e90, 0xa}, 0xc00012c1e0)
#10 8.787 	/__w/tinygo/tinygo/main.go:168 +0x26f fp=0xc0081477d0 sp=0xc008147568 pc=0x8240af
#10 8.787 main.main()
#10 8.787 	/__w/tinygo/tinygo/main.go:1573 +0x3588 fp=0xc008147f80 sp=0xc0081477d0 pc=0x831da8
#10 8.787 runtime.main()
#10 8.787 	/usr/local/go/src/runtime/proc.go:250 +0x207 fp=0xc008147fe0 sp=0xc008147f80 pc=0x4f6847
#10 8.787 runtime.goexit()
#10 8.787 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc008147fe8 sp=0xc008147fe0 pc=0x5266c1
#10 8.787 
#10 8.787 goroutine 2 [force gc (idle)]:
#10 8.787 runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
#10 8.787 	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000044fb0 sp=0xc000044f90 pc=0x4f6c76
#10 8.787 runtime.goparkunlock(...)
#10 8.787 	/usr/local/go/src/runtime/proc.go:387
#10 8.787 runtime.forcegchelper()
#10 8.787 	/usr/local/go/src/runtime/proc.go:305 +0xb0 fp=0xc000044fe0 sp=0xc000044fb0 pc=0x4f6ab0
#10 8.787 runtime.goexit()
#10 8.787 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000044fe8 sp=0xc000044fe0 pc=0x5266c1
#10 8.787 created by runtime.init.6
#10 8.787 	/usr/local/go/src/runtime/proc.go:293 +0x25
#10 8.787 
#10 8.787 goroutine 3 [GC sweep wait]:
#10 8.787 runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
#10 8.787 	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000045780 sp=0xc000045760 pc=0x4f6c76
#10 8.787 runtime.goparkunlock(...)
#10 8.787 	/usr/local/go/src/runtime/proc.go:387
#10 8.787 runtime.bgsweep(0x0?)
#10 8.787 	/usr/local/go/src/runtime/mgcsweep.go:319 +0xde fp=0xc0000457c8 sp=0xc000045780 pc=0x4e341e
#10 8.787 runtime.gcenable.func1()
#10 8.787 	/usr/local/go/src/runtime/mgc.go:178 +0x26 fp=0xc0000457e0 sp=0xc0000457c8 pc=0x4d8886
#10 8.787 runtime.goexit()
#10 8.787 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000457e8 sp=0xc0000457e0 pc=0x5266c1
#10 8.787 created by runtime.gcenable
#10 8.787 	/usr/local/go/src/runtime/mgc.go:178 +0x6b
#10 8.787 
#10 8.787 goroutine 4 [GC scavenge wait]:
#10 8.787 runtime.gopark(0xd355e34729?, 0x3023b9?, 0x0?, 0x0?, 0x0?)
#10 8.787 	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000045f70 sp=0xc000045f50 pc=0x4f6c76
#10 8.787 runtime.goparkunlock(...)
#10 8.787 	/usr/local/go/src/runtime/proc.go:387
#10 8.787 runtime.(*scavengerState).park(0x76c2780)
#10 8.787 	/usr/local/go/src/runtime/mgcscavenge.go:400 +0x53 fp=0xc000045fa0 sp=0xc000045f70 pc=0x4e12f3
#10 8.787 runtime.bgscavenge(0x0?)
#10 8.787 	/usr/local/go/src/runtime/mgcscavenge.go:633 +0x65 fp=0xc000045fc8 sp=0xc000045fa0 pc=0x4e18e5
#10 8.787 runtime.gcenable.func2()
#10 8.787 	/usr/local/go/src/runtime/mgc.go:179 +0x26 fp=0xc000045fe0 sp=0xc000045fc8 pc=0x4d8826
#10 8.787 runtime.goexit()
#10 8.787 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000045fe8 sp=0xc000045fe0 pc=0x5266c1
#10 8.787 created by runtime.gcenable
#10 8.787 	/usr/local/go/src/runtime/mgc.go:179 +0xaa
#10 8.787 
#10 8.787 goroutine 5 [finalizer wait]:
#10 8.787 runtime.gopark(0x0?, 0x5578578?, 0xc0?, 0xa1?, 0x2000000020?)
#10 8.787 	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000044628 sp=0xc000044608 pc=0x4f6c76
#10 8.788 runtime.runfinq()
#10 8.788 	/usr/local/go/src/runtime/mfinal.go:193 +0x107 fp=0xc0000447e0 sp=0xc000044628 pc=0x4d78c7
#10 8.788 runtime.goexit()
#10 8.788 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000447e8 sp=0xc0000447e0 pc=0x5266c1
#10 8.788 created by runtime.createfing
#10 8.788 	/usr/local/go/src/runtime/mfinal.go:163 +0x45
#10 8.788 
#10 8.788 goroutine 7 [GC worker (idle)]:
#10 8.788 runtime.gopark(0xd3545710eb?, 0x3?, 0x3b?, 0xbd?, 0x0?)
#10 8.788 	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000046f50 sp=0xc000046f30 pc=0x4f6c76
#10 8.788 runtime.gcBgMarkWorker()
#10 8.788 	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000046fe0 sp=0xc000046f50 pc=0x4da3f1
#10 8.788 runtime.goexit()
#10 8.788 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000046fe8 sp=0xc000046fe0 pc=0x5266c1
#10 8.788 created by runtime.gcBgMarkStartWorkers
#10 8.788 	/usr/local/go/src/runtime/mgc.go:1199 +0x25
#10 8.788 
#10 8.788 goroutine 18 [GC worker (idle)]:
#10 8.788 runtime.gopark(0xd268ef8270?, 0x1?, 0x57?, 0x33?, 0x0?)
#10 8.788 	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000040750 sp=0xc000040730 pc=0x4f6c76
#10 8.788 runtime.gcBgMarkWorker()
#10 8.788 	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0000407e0 sp=0xc000040750 pc=0x4da3f1
#10 8.788 runtime.goexit()
#10 8.788 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000407e8 sp=0xc0000407e0 pc=0x5266c1
#10 8.788 created by runtime.gcBgMarkStartWorkers
#10 8.788 	/usr/local/go/src/runtime/mgc.go:1199 +0x25
#10 8.788 
#10 8.788 goroutine 8 [GC worker (idle)]:
#10 8.788 runtime.gopark(0xd354659f68?, 0x1?, 0x58?, 0xbb?, 0x0?)
#10 8.788 	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000047750 sp=0xc000047730 pc=0x4f6c76
#10 8.788 runtime.gcBgMarkWorker()
#10 8.788 	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0000477e0 sp=0xc000047750 pc=0x4da3f1
#10 8.788 runtime.goexit()
#10 8.788 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000477e8 sp=0xc0000477e0 pc=0x5266c1
#10 8.788 created by runtime.gcBgMarkStartWorkers
#10 8.788 	/usr/local/go/src/runtime/mgc.go:1199 +0x25
#10 8.788 
#10 8.788 goroutine 19 [GC worker (idle)]:
#10 8.788 runtime.gopark(0xd354659c91?, 0x3?, 0x5f?, 0x68?, 0x0?)
#10 8.788 	/usr/local/go/src/runtime/proc.go:381 +0xd6 fp=0xc000040f50 sp=0xc000040f30 pc=0x4f6c76
#10 8.788 runtime.gcBgMarkWorker()
#10 8.788 	/usr/local/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000040fe0 sp=0xc000040f50 pc=0x4da3f1
#10 8.788 runtime.goexit()
#10 8.788 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000040fe8 sp=0xc000040fe0 pc=0x5266c1
#10 8.788 created by runtime.gcBgMarkStartWorkers
#10 8.788 	/usr/local/go/src/runtime/mgc.go:1199 +0x25
#10 8.788 
#10 8.788 goroutine 250 [syscall]:
#10 8.788 runtime.cgocall(0x84ecb0, 0xc008143b70)
#10 8.788 	/usr/local/go/src/runtime/cgocall.go:157 +0x5c fp=0xc008143b48 sp=0xc008143b10 pc=0x4c36bc
#10 8.788 tinygo.org/x/go-llvm._Cfunc_LLVMWriteBitcodeToFD(0x7fd9ba72a590, 0x3, 0x0, 0x0)
#10 8.788 	_cgo_gotypes.go:9383 +0x4c fp=0xc008143b70 sp=0xc008143b48 pc=0x6fb8cc
#10 8.788 tinygo.org/x/go-llvm.WriteBitcodeToFile.func1({0xc018a27980?}, 0x0?)
#10 8.788 	/go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20221028183034-8341240c0b32/bitwriter.go:27 +0x92 fp=0xc008143bb0 sp=0xc008143b70 pc=0x6fc592
#10 8.788 tinygo.org/x/go-llvm.WriteBitcodeToFile({0xc018a27980?}, 0xc007079ce0?)
#10 8.788 	/go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20221028183034-8341240c0b32/bitwriter.go:27 +0x19 fp=0xc008143bd0 sp=0xc008143bb0 pc=0x6fc4b9
#10 8.788 github.com/tinygo-org/tinygo/builder.Build.func3(0xc00788e7e0)
#10 8.788 	/__w/tinygo/tinygo/builder/build.go:466 +0xe46 fp=0xc008143f78 sp=0xc008143bd0 pc=0x801066
#10 8.788 github.com/tinygo-org/tinygo/builder.runJob(0xc00788e7e0, 0x0?)
#10 8.788 	/__w/tinygo/tinygo/builder/jobs.go:222 +0x4f fp=0xc008143fc0 sp=0xc008143f78 pc=0x80c84f
#10 8.788 github.com/tinygo-org/tinygo/builder.runJobs.func2()
#10 8.788 	/__w/tinygo/tinygo/builder/jobs.go:123 +0x2a fp=0xc008143fe0 sp=0xc008143fc0 pc=0x80c18a
#10 8.788 runtime.goexit()
#10 8.788 	/usr/local/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc008143fe8 sp=0xc008143fe0 pc=0x5266c1
#10 8.788 created by github.com/tinygo-org/tinygo/builder.runJobs
#10 8.788 	/__w/tinygo/tinygo/builder/jobs.go:123 +0x5be
#10 8.788 
#10 8.788 rax    0x7fd9b9cd2d30
#10 8.788 rbx    0x7fd9bb4b52a8
#10 8.788 rcx    0x42
#10 8.788 rdx    0x7fd9bc9fa900
#10 8.788 rdi    0x7fd9bb4b52b8
#10 8.788 rsi    0x7fd9b9dd2810
#10 8.788 rbp    0x7fd9ba3c9018
#10 8.788 rsp    0x7fd9bd47c908
#10 8.788 r8     0x7fd9b9dd2828
#10 8.788 r9     0x1
#10 8.788 r10    0x2008
#10 8.788 r11    0x0
#10 8.788 r12    0x7fd9ba3c9060
#10 8.788 r13    0x7fd9ba3c9018
#10 8.788 r14    0xc000f456c0
#10 8.788 r15    0xc000048c00
#10 8.788 rip    0x512465e
#10 8.788 rflags 0x10202
#10 8.788 cs     0x33
#10 8.788 fs     0x0
#10 8.788 gs     0x0
#10 ERROR: process "/bin/sh -c tinygo build -o /main.wasm -scheduler=none -gc=custom -tags='custommalloc nottinygc_finalizer' -target=wasi ./" did not complete successfully: exit code: 2
------
 > [builder 6/6] RUN tinygo build -o /main.wasm -scheduler=none -gc=custom -tags='custommalloc nottinygc_finalizer' -target=wasi ./:
8.788 r11    0x0
8.788 r12    0x7fd9ba3c9060
8.788 r13    0x7fd9ba3c9018
8.788 r14    0xc000f456c0
8.788 r15    0xc000048c00
8.788 rip    0x512465e
8.788 rflags 0x10202
8.788 cs     0x33
8.788 fs     0x0
8.788 gs     0x0
------
Dockerfile:17
--------------------
  15 |     
  16 |     RUN go mod tidy
  17 | >>> RUN tinygo build -o /main.wasm -scheduler=none -gc=custom -tags='custommalloc nottinygc_finalizer' -target=wasi ./
  18 |     
  19 |     FROM scratch as output
--------------------
ERROR: failed to solve: process "/bin/sh -c tinygo build -o /main.wasm -scheduler=none -gc=custom -tags='custommalloc nottinygc_finalizer' -target=wasi ./" did not complete successfully: exit code: 2
make[1]: *** [Makefile:18: build] Error 1
make[1]: Leaving directory '/home/runner/work/higress/higress/plugins/wasm-go'
make: *** [Makefile.core.mk:166: build-wasmplugins] Error 2
Error: Process completed with exit code 2.
@baerwang
Copy link
Contributor

baerwang commented Feb 9, 2024

We don't change the existing ci. How about adding retry?

@johnlanni
Copy link
Collaborator

@baerwang It can be used as a temporary solution. Are you interested in trying it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants