Skip to content

fatal error: unexpected signal during runtime execution #1572

@matthewmueller

Description

@matthewmueller

I ran into a panic that took me awhile to track down. I'm quite surprised the tests or others haven't reported it. Maybe it's specific to my setup.

Stack Trace

fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0xb01dfacedebac1e pc=0x7fff6da4970a]

runtime stack:
runtime: unexpected return pc for runtime.sigpanic called from 0x7fff6da4970a
stack: frame={sp:0x7ffeefbff008, fp:0x7ffeefbff058} stack=[0x7ffeefb800a8,0x7ffeefbff110)
0x00007ffeefbfef08:  0x01007ffeefbfef28  0x0000000000000004 
0x00007ffeefbfef18:  0x000000000000001f  0x00007fff6da4970a 
0x00007ffeefbfef28:  0x0b01dfacedebac1e  0x0000000000000001 
0x00007ffeefbfef38:  0x00000000040384b1 <runtime.throw+0x0000000000000071>  0x00007ffeefbfefd8 
0x00007ffeefbfef48:  0x0000000004fcdabc  0x00007ffeefbfef90 
0x00007ffeefbfef58:  0x0000000004038768 <runtime.fatalthrow.func1+0x0000000000000048>  0x000000000549dca0 
0x00007ffeefbfef68:  0x0000000000000001  0x0000000000000001 
0x00007ffeefbfef78:  0x00007ffeefbfefd8  0x00000000040384b1 <runtime.throw+0x0000000000000071> 
0x00007ffeefbfef88:  0x000000000549dca0  0x00007ffeefbfefc8 
0x00007ffeefbfef98:  0x00000000040386f0 <runtime.fatalthrow+0x0000000000000050>  0x00007ffeefbfefa8 
0x00007ffeefbfefa8:  0x0000000004038720 <runtime.fatalthrow.func1+0x0000000000000000>  0x000000000549dca0 
0x00007ffeefbfefb8:  0x00000000040384b1 <runtime.throw+0x0000000000000071>  0x00007ffeefbfefd8 
0x00007ffeefbfefc8:  0x00007ffeefbfeff8  0x00000000040384b1 <runtime.throw+0x0000000000000071> 
0x00007ffeefbfefd8:  0x00007ffeefbfefe0  0x00000000040384e0 <runtime.throw.func1+0x0000000000000000> 
0x00007ffeefbfefe8:  0x0000000004fd2c4f  0x000000000000002a 
0x00007ffeefbfeff8:  0x00007ffeefbff048  0x000000000404e716 <runtime.sigpanic+0x0000000000000396> 
0x00007ffeefbff008: <0x0000000004fd2c4f  0x00000000052bf108 
0x00007ffeefbff018:  0x00007ffeefbff088  0x0000000004029706 <runtime.(*mheap).allocSpan+0x0000000000000546> 
0x00007ffeefbff028:  0x000000c0000b6390  0x000000000401039e <runtime.mallocgc+0x000000000000065e> 
0x00007ffeefbff038:  0x000000c000083ba0  0x0000000000000000 
0x00007ffeefbff048:  0x00007ffeefbff090 !0x00007fff6da4970a 
0x00007ffeefbff058: >0x00007ffeefbff090  0x00000000053d8000 
0x00007ffeefbff068:  0x0000000000001749  0x000000000418a9a5 <golang.org/x/sys/unix.libc_ioctl_trampoline+0x0000000000000005> 
0x00007ffeefbff078:  0x000000000406cf3f <runtime.syscall+0x000000000000001f>  0x000000c000144288 
0x00007ffeefbff088:  0x000000000406c8ac <runtime.nanotime_trampoline+0x000000000000000c>  0x000000c000144258 
0x00007ffeefbff098:  0x000000000406ad90 <runtime.asmcgocall+0x0000000000000070>  0x00007ffeefbff0d0 
0x00007ffeefbff0a8:  0x0000000004010b6e <runtime.persistentalloc.func1+0x000000000000002e>  0x0000000000000028 
0x00007ffeefbff0b8:  0x0000000000000000  0x00000000054e5020 
0x00007ffeefbff0c8:  0x0000000000001dd0  0x000000c000083ba0 
0x00007ffeefbff0d8:  0x0000000004068f8b <runtime.morestack+0x000000000000008b>  0x0000000000000004 
0x00007ffeefbff0e8:  0x000000000511bbd0  0x000000000549dca0 
0x00007ffeefbff0f8:  0x00007ffeefbff148  0x0000000004068da5 <runtime.mstart+0x0000000000000005> 
0x00007ffeefbff108:  0x0000000004068d5d <runtime.rt0_go+0x000000000000013d> 
runtime.throw({0x4fd2c4f, 0x52bf108})
        /usr/local/go/src/runtime/panic.go:1198 +0x71
runtime: unexpected return pc for runtime.sigpanic called from 0x7fff6da4970a
stack: frame={sp:0x7ffeefbff008, fp:0x7ffeefbff058} stack=[0x7ffeefb800a8,0x7ffeefbff110)
0x00007ffeefbfef08:  0x01007ffeefbfef28  0x0000000000000004 
0x00007ffeefbfef18:  0x000000000000001f  0x00007fff6da4970a 
0x00007ffeefbfef28:  0x0b01dfacedebac1e  0x0000000000000001 
0x00007ffeefbfef38:  0x00000000040384b1 <runtime.throw+0x0000000000000071>  0x00007ffeefbfefd8 
0x00007ffeefbfef48:  0x0000000004fcdabc  0x00007ffeefbfef90 
0x00007ffeefbfef58:  0x0000000004038768 <runtime.fatalthrow.func1+0x0000000000000048>  0x000000000549dca0 
0x00007ffeefbfef68:  0x0000000000000001  0x0000000000000001 
0x00007ffeefbfef78:  0x00007ffeefbfefd8  0x00000000040384b1 <runtime.throw+0x0000000000000071> 
0x00007ffeefbfef88:  0x000000000549dca0  0x00007ffeefbfefc8 
0x00007ffeefbfef98:  0x00000000040386f0 <runtime.fatalthrow+0x0000000000000050>  0x00007ffeefbfefa8 
0x00007ffeefbfefa8:  0x0000000004038720 <runtime.fatalthrow.func1+0x0000000000000000>  0x000000000549dca0 
0x00007ffeefbfefb8:  0x00000000040384b1 <runtime.throw+0x0000000000000071>  0x00007ffeefbfefd8 
0x00007ffeefbfefc8:  0x00007ffeefbfeff8  0x00000000040384b1 <runtime.throw+0x0000000000000071> 
0x00007ffeefbfefd8:  0x00007ffeefbfefe0  0x00000000040384e0 <runtime.throw.func1+0x0000000000000000> 
0x00007ffeefbfefe8:  0x0000000004fd2c4f  0x000000000000002a 
0x00007ffeefbfeff8:  0x00007ffeefbff048  0x000000000404e716 <runtime.sigpanic+0x0000000000000396> 
0x00007ffeefbff008: <0x0000000004fd2c4f  0x00000000052bf108 
0x00007ffeefbff018:  0x00007ffeefbff088  0x0000000004029706 <runtime.(*mheap).allocSpan+0x0000000000000546> 
0x00007ffeefbff028:  0x000000c0000b6390  0x000000000401039e <runtime.mallocgc+0x000000000000065e> 
0x00007ffeefbff038:  0x000000c000083ba0  0x0000000000000000 
0x00007ffeefbff048:  0x00007ffeefbff090 !0x00007fff6da4970a 
0x00007ffeefbff058: >0x00007ffeefbff090  0x00000000053d8000 
0x00007ffeefbff068:  0x0000000000001749  0x000000000418a9a5 <golang.org/x/sys/unix.libc_ioctl_trampoline+0x0000000000000005> 
0x00007ffeefbff078:  0x000000000406cf3f <runtime.syscall+0x000000000000001f>  0x000000c000144288 
0x00007ffeefbff088:  0x000000000406c8ac <runtime.nanotime_trampoline+0x000000000000000c>  0x000000c000144258 
0x00007ffeefbff098:  0x000000000406ad90 <runtime.asmcgocall+0x0000000000000070>  0x00007ffeefbff0d0 
0x00007ffeefbff0a8:  0x0000000004010b6e <runtime.persistentalloc.func1+0x000000000000002e>  0x0000000000000028 
0x00007ffeefbff0b8:  0x0000000000000000  0x00000000054e5020 
0x00007ffeefbff0c8:  0x0000000000001dd0  0x000000c000083ba0 
0x00007ffeefbff0d8:  0x0000000004068f8b <runtime.morestack+0x000000000000008b>  0x0000000000000004 
0x00007ffeefbff0e8:  0x000000000511bbd0  0x000000000549dca0 
0x00007ffeefbff0f8:  0x00007ffeefbff148  0x0000000004068da5 <runtime.mstart+0x0000000000000005> 
0x00007ffeefbff108:  0x0000000004068d5d <runtime.rt0_go+0x000000000000013d> 
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_unix.go:719 +0x396

goroutine 34 [syscall]:
syscall.syscall(0x418a9a0, 0x2, 0x40487413, 0xc000144328)
        /usr/local/go/src/runtime/sys_darwin.go:22 +0x3b fp=0xc000144288 sp=0xc000144268 pc=0x40679db
syscall.syscall(0x40103f4, 0x44, 0x0, 0x8)
        <autogenerated>:1 +0x26 fp=0xc0001442d0 sp=0xc000144288 pc=0x406d706
golang.org/x/sys/unix.ioctl(0x5f80448, 0x0, 0x18)
        /Users/m/dev/pkg/mod/golang.org/x/[email protected]/unix/zsyscall_darwin_amd64.go:746 +0x39 fp=0xc000144300 sp=0xc0001442d0 pc=0x418a4d9
golang.org/x/sys/unix.IoctlGetTermios(...)
        /Users/m/dev/pkg/mod/golang.org/x/[email protected]/unix/ioctl.go:63
github.com/evanw/esbuild/internal/logger.GetTerminalInfo(0xc000144400)
        /Users/m/dev/pkg/mod/github.com/evanw/[email protected]/internal/logger/logger_darwin.go:18 +0x92 fp=0xc000144380 sp=0xc000144300 pc=0x4192eb2
github.com/evanw/esbuild/internal/logger.NewStderrLog({0x0, 0x0, 0x0, 0x0})
        /Users/m/dev/pkg/mod/github.com/evanw/[email protected]/internal/logger/logger.go:379 +0xa5 fp=0xc000144438 sp=0xc000144380 pc=0x418bb05
github.com/evanw/esbuild/pkg/api.buildImpl({0x0, 0x0, 0x0, 0x0, {0x0, 0x0}, 0x0, 0x0, {0x0, 0x0, ...}, ...})
        /Users/m/dev/pkg/mod/github.com/evanw/[email protected]/pkg/api/api_impl.go:700 +0x186 fp=0xc000144eb0 sp=0xc000144438 pc=0x43696a6
github.com/evanw/esbuild/pkg/api.Build(...)
        /Users/m/dev/pkg/mod/github.com/evanw/[email protected]/pkg/api/api.go:344

Steps to Reproduce:

  1. Have an existing Go project, using the Go API. This appears to be enough:
esbuild.Build(esbuild.BuildOptions{})
  1. Upgrade to Go 1.17
  2. go run main.go on the example above and you should see the error posted above

How to Fix

Manually bump the golang.org/x/sys dependency

go get -u golang.org/x/sys                                   
go get: upgraded golang.org/x/sys v0.0.0-20210423082822-04245dca01da => v0.0.0-20210823070655-63515b42dcdf

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions