Closed WeixinX closed 5 months ago
Actions 中 tinygo 编译 wasm 插件失败,导致需要 re-run job
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.
We don't change the existing ci. How about adding retry?
@baerwang It can be used as a temporary solution. Are you interested in trying it?
Ⅰ. Issue Description
Actions 中 tinygo 编译 wasm 插件失败,导致需要 re-run job
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace: