qemu 3.10 golang crash

Bug #1838946 reported by Antony Rheneus
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

Encountered below crashes in qemu 3.10 arm
Also have raised the same in golang groups. But seems like in ARM32 hardware, the below commands works fine, only in qemu if crashes.
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/golang-nuts/1txPOGa4aGc

Need some pointers to narrow down

Please see log below.

$ qemu-arm-static --version
qemu-arm version 3.1.0 (qemu-3.1.0-6.fc30)
Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers

arheneus@bbdee4f6f57d:/sonic/src/telemetry/test$ /usr/local/go/bin/go get -v github.com/Azure/sonic-telemetry/dialout/dialout_client_cli
github.com/openconfig/ygot (download)
github.com/kylelemons/godebug (download)
github.com/openconfig/goyang (download)
SIGSEGV: segmentation violation
PC=0x4512c m=12 sigcode=1

goroutine 15 [syscall]:
syscall.Syscall6(0x118, 0x1, 0x11c3, 0xf513b0, 0x1000004, 0x0, 0x0, 0x1c63c, 0x15e54, 0xe280a0)
        /usr/local/go/src/syscall/asm_linux_arm.s:45 +0x8 fp=0xf51380 sp=0xf5137c pc=0x88298
os.(*Process).blockUntilWaitable(0xf80300, 0xf80300, 0x0, 0x0)
        /usr/local/go/src/os/wait_waitid.go:31 +0x64 fp=0xf51438 sp=0xf51380 pc=0xa94a0
os.(*Process).wait(0xf80300, 0x13, 0xe6e1d0, 0xeba010)
        /usr/local/go/src/os/exec_unix.go:22 +0x2c fp=0xf51470 sp=0xf51438 pc=0xa2d58
os.(*Process).Wait(0xf80300, 0x4d5f58, 0x4d5f5c, 0x4d5f54)
        /usr/local/go/src/os/exec.go:125 +0x1c fp=0xf51484 sp=0xf51470 pc=0xa2494
os/exec.(*Cmd).Wait(0xe14000, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:465 +0x40 fp=0xf514bc sp=0xf51484 pc=0xf8620
os/exec.(*Cmd).Run(0xe14000, 0xd5c720, 0xf30000)
        /usr/local/go/src/os/exec/exec.go:309 +0x44 fp=0xf514cc sp=0xf514bc pc=0xf7e1c
cmd/go/internal/work.(*Builder).toolID(0xd5cf60, 0x497ee2, 0x7, 0x2c, 0x116f8e0)
        /usr/local/go/src/cmd/go/internal/work/buildid.go:193 +0x2e0 fp=0xf515bc sp=0xf514cc pc=0x3549bc
cmd/go/internal/work.(*Builder).buildActionID(0xd5cf60, 0x1177d90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:223 +0xb8c fp=0xf51978 sp=0xf515bc pc=0x3594fc
cmd/go/internal/work.(*Builder).build(0xd5cf60, 0x1177d90, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:373 +0x3d3c fp=0xf51f44 sp=0xf51978 pc=0x35e374
cmd/go/internal/work.(*Builder).Do.func1(0x1177d90)
        /usr/local/go/src/cmd/go/internal/work/exec.go:107 +0x58 fp=0xf51f84 sp=0xf51f44 pc=0x38287c
cmd/go/internal/work.(*Builder).Do.func2(0xdf0070, 0xd5cf60, 0x10427a0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:165 +0x84 fp=0xf51fdc sp=0xf51f84 pc=0x382b24
runtime.goexit()
        /usr/local/go/src/runtime/asm_arm.s:867 +0x4 fp=0xf51fdc sp=0xf51fdc pc=0x67f44
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/exec.go:152 +0x2e4

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xdf0078)
        /usr/local/go/src/runtime/sema.go:56 +0x2c
sync.(*WaitGroup).Wait(0xdf0070)
        /usr/local/go/src/sync/waitgroup.go:130 +0x84
cmd/go/internal/work.(*Builder).Do(0xd5cf60, 0x1177290)
        /usr/local/go/src/cmd/go/internal/work/exec.go:174 +0x304
cmd/go/internal/work.InstallPackages(0xc82078, 0x1, 0x1, 0xc0e938, 0x1, 0x2)
        /usr/local/go/src/cmd/go/internal/work/build.go:506 +0xa88
cmd/go/internal/get.runGet(0x810d78, 0xc82078, 0x1, 0x1)
        /usr/local/go/src/cmd/go/internal/get/get.go:196 +0x1b0
main.main()
        /usr/local/go/src/cmd/go/main.go:219 +0x93c

goroutine 19 [syscall]:
os/signal.signal_recv(0x0)
        /usr/local/go/src/runtime/sigqueue.go:139 +0x130
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:23 +0x14
created by os/signal.init.0
        /usr/local/go/src/os/signal/signal_unix.go:29 +0x30

goroutine 13 [syscall]:
syscall.Syscall6(0x118, 0x1, 0x11ec, 0x10153b0, 0x1000004, 0x0, 0x0, 0x1c63c, 0x15e54, 0xe001e0)
        /usr/local/go/src/syscall/asm_linux_arm.s:45 +0x8
os.(*Process).blockUntilWaitable(0xe62840, 0xe62840, 0x0, 0x0)
        /usr/local/go/src/os/wait_waitid.go:31 +0x64
os.(*Process).wait(0xe62840, 0x1, 0xc0e360, 0xe00160)
        /usr/local/go/src/os/exec_unix.go:22 +0x2c
os.(*Process).Wait(0xe62840, 0x4d5f58, 0x4d5f5c, 0x4d5f54)
        /usr/local/go/src/os/exec.go:125 +0x1c
os/exec.(*Cmd).Wait(0xf8e0b0, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:465 +0x40
os/exec.(*Cmd).Run(0xf8e0b0, 0xca8060, 0xe6cd00)
        /usr/local/go/src/os/exec/exec.go:309 +0x44
cmd/go/internal/work.(*Builder).toolID(0xd5cf60, 0x49631b, 0x3, 0x11, 0x1015890)
        /usr/local/go/src/cmd/go/internal/work/buildid.go:193 +0x2e0
cmd/go/internal/work.(*Builder).buildActionID(0xd5cf60, 0xfb6210, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:225 +0x11d4
cmd/go/internal/work.(*Builder).build(0xd5cf60, 0xfb6210, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:373 +0x3d3c
cmd/go/internal/work.(*Builder).Do.func1(0xfb6210)
        /usr/local/go/src/cmd/go/internal/work/exec.go:107 +0x58
cmd/go/internal/work.(*Builder).Do.func2(0xdf0070, 0xd5cf60, 0x10427a0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:165 +0x84
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/exec.go:152 +0x2e4

goroutine 14 [syscall]:
syscall.Syscall6(0x118, 0x1, 0x11ed, 0xe393b0, 0x1000004, 0x0, 0x0, 0x1c63c, 0x15e54, 0xd280f0)
        /usr/local/go/src/syscall/asm_linux_arm.s:45 +0x8
os.(*Process).blockUntilWaitable(0x115c4e0, 0x115c4e0, 0x0, 0x0)
        /usr/local/go/src/os/wait_waitid.go:31 +0x64
os.(*Process).wait(0x115c4e0, 0x1, 0xe78160, 0xd28070)
        /usr/local/go/src/os/exec_unix.go:22 +0x2c
os.(*Process).Wait(0x115c4e0, 0x4d5f58, 0x4d5f5c, 0x4d5f54)
        /usr/local/go/src/os/exec.go:125 +0x1c
os/exec.(*Cmd).Wait(0x10b8000, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:465 +0x40
os/exec.(*Cmd).Run(0x10b8000, 0xf3e060, 0xf0c000)
        /usr/local/go/src/os/exec/exec.go:309 +0x44
cmd/go/internal/work.(*Builder).toolID(0xd5cf60, 0x49631b, 0x3, 0x11, 0xe39890)
        /usr/local/go/src/cmd/go/internal/work/buildid.go:193 +0x2e0
cmd/go/internal/work.(*Builder).buildActionID(0xd5cf60, 0x1177b80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:225 +0x11d4
cmd/go/internal/work.(*Builder).build(0xd5cf60, 0x1177b80, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:373 +0x3d3c
cmd/go/internal/work.(*Builder).Do.func1(0x1177b80)
        /usr/local/go/src/cmd/go/internal/work/exec.go:107 +0x58
cmd/go/internal/work.(*Builder).Do.func2(0xdf0070, 0xd5cf60, 0x10427a0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:165 +0x84
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/exec.go:152 +0x2e4

goroutine 16 [runnable]:
os/exec.(*Cmd).writerDescriptor(0x10b80b0, 0x54bd38, 0xf3e120, 0xf3e0c0, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:257 +0x484
os/exec.(*Cmd).stderr(0x10b80b0, 0x1112090, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:254 +0xac
os/exec.(*Cmd).Start(0x10b80b0, 0x496701, 0xf3e120)
        /usr/local/go/src/os/exec/exec.go:372 +0xa8
os/exec.(*Cmd).Run(0x10b80b0, 0xf3e120, 0xf0c300)
        /usr/local/go/src/os/exec/exec.go:306 +0x1c
cmd/go/internal/work.(*Builder).toolID(0xd5cf60, 0x49631b, 0x3, 0x11, 0xf49890)
        /usr/local/go/src/cmd/go/internal/work/buildid.go:193 +0x2e0
cmd/go/internal/work.(*Builder).buildActionID(0xd5cf60, 0x1177ce0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:225 +0x11d4
cmd/go/internal/work.(*Builder).build(0xd5cf60, 0x1177ce0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:373 +0x3d3c
cmd/go/internal/work.(*Builder).Do.func1(0x1177ce0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:107 +0x58
cmd/go/internal/work.(*Builder).Do.func2(0xdf0070, 0xd5cf60, 0x10427a0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:165 +0x84
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/exec.go:152 +0x2e4

goroutine 82 [runnable]:
syscall.Syscall(0x3, 0xb, 0x11c2000, 0x8000, 0x0, 0x0, 0x0)
        /usr/local/go/src/syscall/asm_linux_arm.s:14 +0x8
syscall.read(0xb, 0x11c2000, 0x8000, 0x8000, 0x10ea501, 0x0, 0x0)
        /usr/local/go/src/syscall/zsyscall_linux_arm.go:732 +0x40
syscall.Read(0xb, 0x11c2000, 0x8000, 0x8000, 0xdedf9577, 0xe9841d9d, 0xdbb1d24e)
        /usr/local/go/src/syscall/syscall_unix.go:172 +0x34
internal/poll.(*FD).Read(0xd9c140, 0x11c2000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:165 +0xf0
os.(*File).read(0xcdc0f0, 0x11c2000, 0x8000, 0x8000, 0x11c3700, 0x1d, 0x6940)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xcdc0f0, 0x11c2000, 0x8000, 0x8000, 0x171d, 0x0, 0x0)
        /usr/local/go/src/os/file.go:108 +0x4c
io.copyBuffer(0xe77be000, 0xe88380, 0x54c3f8, 0xcdc0f0, 0x11c2000, 0x8000, 0x8000, 0x443d58, 0x47a900, 0x0, ...)
        /usr/local/go/src/io/io.go:402 +0xd8
io.Copy(0xe77be000, 0xe88380, 0x54c3f8, 0xcdc0f0, 0xe88380, 0x0, 0x40, 0xb)
        /usr/local/go/src/io/io.go:364 +0x48
cmd/go/internal/cache.FileHash(0xe628a0, 0x25, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/cmd/go/internal/cache/hash.go:149 +0x240
cmd/go/internal/work.(*Builder).fileHash(0xd5cf60, 0xe628a0, 0x25, 0xe628a0, 0x25)
        /usr/local/go/src/cmd/go/internal/work/buildid.go:396 +0x24
cmd/go/internal/work.(*Builder).buildActionID(0xd5cf60, 0x1177760, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:292 +0x5ec
cmd/go/internal/work.(*Builder).build(0xd5cf60, 0x1177760, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:373 +0x3d3c
cmd/go/internal/work.(*Builder).Do.func1(0x1177760)
        /usr/local/go/src/cmd/go/internal/work/exec.go:107 +0x58
cmd/go/internal/work.(*Builder).Do.func2(0xdf0070, 0xd5cf60, 0x10427a0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:165 +0x84
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/exec.go:152 +0x2e4

goroutine 83 [syscall]:
syscall.Syscall6(0x118, 0x1, 0x11d1, 0xf4d3b0, 0x1000004, 0x0, 0x0, 0x1c63c, 0x15e54, 0xe280b0)
        /usr/local/go/src/syscall/asm_linux_arm.s:45 +0x8
os.(*Process).blockUntilWaitable(0xf80330, 0xf80330, 0x0, 0x0)
        /usr/local/go/src/os/wait_waitid.go:31 +0x64
os.(*Process).wait(0xf80330, 0x1, 0xc7e1b0, 0xe28010)
        /usr/local/go/src/os/exec_unix.go:22 +0x2c
os.(*Process).Wait(0xf80330, 0x4d5f58, 0x4d5f5c, 0x4d5f54)
        /usr/local/go/src/os/exec.go:125 +0x1c
os/exec.(*Cmd).Wait(0x11760b0, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:465 +0x40
os/exec.(*Cmd).Run(0x11760b0, 0xfc8060, 0xefa800)
        /usr/local/go/src/os/exec/exec.go:309 +0x44
cmd/go/internal/work.(*Builder).toolID(0xd5cf60, 0x497ee2, 0x7, 0x2c, 0xf278e0)
        /usr/local/go/src/cmd/go/internal/work/buildid.go:193 +0x2e0
cmd/go/internal/work.(*Builder).buildActionID(0xd5cf60, 0x1177e40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:223 +0xb8c
cmd/go/internal/work.(*Builder).build(0xd5cf60, 0x1177e40, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:373 +0x3d3c
cmd/go/internal/work.(*Builder).Do.func1(0x1177e40)
        /usr/local/go/src/cmd/go/internal/work/exec.go:107 +0x58
cmd/go/internal/work.(*Builder).Do.func2(0xdf0070, 0xd5cf60, 0x10427a0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:165 +0x84
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/exec.go:152 +0x2e4

goroutine 84 [syscall]:
syscall.Syscall6(0x118, 0x1, 0x11cf, 0xf453b0, 0x1000004, 0x0, 0x0, 0x1c63c, 0x15e54, 0xeba040)
        /usr/local/go/src/syscall/asm_linux_arm.s:45 +0x8
os.(*Process).blockUntilWaitable(0xf74180, 0xf74180, 0x0, 0x0)
        /usr/local/go/src/os/wait_waitid.go:31 +0x64
os.(*Process).wait(0xf74180, 0x1, 0x1112070, 0x100e010)
        /usr/local/go/src/os/exec_unix.go:22 +0x2c
os.(*Process).Wait(0xf74180, 0x4d5f58, 0x4d5f5c, 0x4d5f54)
        /usr/local/go/src/os/exec.go:125 +0x1c
os/exec.(*Cmd).Wait(0xfe8000, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:465 +0x40
os/exec.(*Cmd).Run(0xfe8000, 0xe10060, 0xf18000)
        /usr/local/go/src/os/exec/exec.go:309 +0x44
cmd/go/internal/work.(*Builder).toolID(0xd5cf60, 0x497ee2, 0x7, 0x2c, 0x10878e0)
        /usr/local/go/src/cmd/go/internal/work/buildid.go:193 +0x2e0
cmd/go/internal/work.(*Builder).buildActionID(0xd5cf60, 0x1177a20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:223 +0xb8c
cmd/go/internal/work.(*Builder).build(0xd5cf60, 0x1177a20, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:373 +0x3d3c
cmd/go/internal/work.(*Builder).Do.func1(0x1177a20)
        /usr/local/go/src/cmd/go/internal/work/exec.go:107 +0x58
cmd/go/internal/work.(*Builder).Do.func2(0xdf0070, 0xd5cf60, 0x10427a0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:165 +0x84
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/exec.go:152 +0x2e4

goroutine 85 [syscall]:
syscall.Syscall6(0x118, 0x1, 0x11d5, 0xe373b0, 0x1000004, 0x0, 0x0, 0x1c63c, 0x15e54, 0xeba050)
        /usr/local/go/src/syscall/asm_linux_arm.s:45 +0x8
os.(*Process).blockUntilWaitable(0xf741b0, 0xf741b0, 0x0, 0x0)
        /usr/local/go/src/os/wait_waitid.go:31 +0x64
os.(*Process).wait(0xf741b0, 0x50, 0xc0e290, 0xe00090)
        /usr/local/go/src/os/exec_unix.go:22 +0x2c
os.(*Process).Wait(0xf741b0, 0x4d5f58, 0x4d5f5c, 0x4d5f54)
        /usr/local/go/src/os/exec.go:125 +0x1c
os/exec.(*Cmd).Wait(0xf8e000, 0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:465 +0x40
os/exec.(*Cmd).Run(0xf8e000, 0xcb5e00, 0xe6ca00)
        /usr/local/go/src/os/exec/exec.go:309 +0x44
cmd/go/internal/work.(*Builder).toolID(0xd5cf60, 0x497ee2, 0x7, 0x2c, 0xf2b8e0)
        /usr/local/go/src/cmd/go/internal/work/buildid.go:193 +0x2e0
cmd/go/internal/work.(*Builder).buildActionID(0xd5cf60, 0x1177ef0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:223 +0xb8c
cmd/go/internal/work.(*Builder).build(0xd5cf60, 0x1177ef0, 0x0, 0x0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:373 +0x3d3c
cmd/go/internal/work.(*Builder).Do.func1(0x1177ef0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:107 +0x58
cmd/go/internal/work.(*Builder).Do.func2(0xdf0070, 0xd5cf60, 0x10427a0)
        /usr/local/go/src/cmd/go/internal/work/exec.go:165 +0x84
created by cmd/go/internal/work.(*Builder).Do
        /usr/local/go/src/cmd/go/internal/work/exec.go:152 +0x2e4

goroutine 31 [IO wait]:
internal/poll.runtime_pollWait(0xecac29c0, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xd7c3d4, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xd7c3d4, 0x1040601, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xd7c3c0, 0x1040600, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0xe78168, 0x1040600, 0x200, 0x200, 0x1040600, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xe78168, 0x1040600, 0x200, 0x200, 0xe9d2f000, 0xff667d78, 0x3)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xf3e060, 0x54c3f8, 0xe78168, 0xe9d2f000, 0xf3e060, 0x1b001, 0xcf62b0)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xf3e060, 0x54c3f8, 0xe78168, 0x0, 0x0, 0x0, 0x0, 0xcf60c0, 0x0, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xf3e060, 0x54c3f8, 0xe78168, 0x19, 0xfa910, 0xcf6280, 0xf977dc)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0xcf6280, 0xf977dc)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0x10b8000, 0xd280c0)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 30 [IO wait]:
internal/poll.runtime_pollWait(0xecac2dc0, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xd7c354, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xd7c354, 0xddc001, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xd7c340, 0xddc000, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0xe78148, 0xddc000, 0x200, 0x200, 0xddc000, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xe78148, 0xddc000, 0x200, 0x200, 0xe9d2f000, 0xff667d78, 0x5)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xf3e000, 0x54c3f8, 0xe78148, 0xe9d2f000, 0xf3e000, 0x1b001, 0xcf62b0)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xf3e000, 0x54c3f8, 0xe78148, 0x0, 0x0, 0x0, 0x0, 0xcf6140, 0x0, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xf3e000, 0x54c3f8, 0xe78148, 0x0, 0xfa910, 0xcf6280, 0xf95fdc)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0xcf6280, 0xf95fdc)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0x10b8000, 0xd280a0)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 37 [IO wait]:
internal/poll.runtime_pollWait(0xecac2f40, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xdc8514, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xdc8514, 0x1040801, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xdc8500, 0x1040800, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0xc0e338, 0x1040800, 0x200, 0x200, 0x1040800, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xc0e338, 0x1040800, 0x200, 0x200, 0xe9d2f000, 0xff669250, 0x3)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xca8000, 0x54c3f8, 0xc0e338, 0xe9d2f000, 0xca8000, 0x16601, 0xc36f54)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xca8000, 0x54c3f8, 0xc0e338, 0x0, 0x0, 0x0, 0x0, 0xd9c0c0, 0x0, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xca8000, 0x54c3f8, 0xc0e338, 0xd9c100, 0xfa910, 0xd9c100, 0xc36fdc)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0xd9c100, 0xc36fdc)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0xf8e0b0, 0xe00190)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 114 [IO wait]:
internal/poll.runtime_pollWait(0xecac23c0, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xce8694, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xce8694, 0x108e001, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xce8680, 0x108e000, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0xe6e1b8, 0x108e000, 0x200, 0x200, 0x108e000, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xe6e1b8, 0x108e000, 0x200, 0x200, 0xe9d2f000, 0x4e9d0, 0xc37f18)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0x1024000, 0x54c3f8, 0xe6e1b8, 0xe9d2f000, 0x1024000, 0x1177a01, 0xd5cf98)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0x1024000, 0x54c3f8, 0xe6e1b8, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0x1024000, 0x54c3f8, 0xe6e1b8, 0x1, 0x0, 0x0, 0x0)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0xe14000, 0x1042840)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 115 [IO wait]:
internal/poll.runtime_pollWait(0xecac22c0, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xce8714, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xce8714, 0x108e601, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xce8700, 0x108e600, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0xe6e1d8, 0x108e600, 0x200, 0x200, 0x108e600, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xe6e1d8, 0x108e600, 0x200, 0x200, 0xe9d2f000, 0x0, 0x0)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xd5c720, 0x54c3f8, 0xe6e1d8, 0xe9d2f000, 0xd5c720, 0x1, 0x0)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xd5c720, 0x54c3f8, 0xe6e1d8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xd5c720, 0x54c3f8, 0xe6e1d8, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0xe14000, 0x1042860)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 116 [IO wait]:
internal/poll.runtime_pollWait(0xecac2c40, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xc72214, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xc72214, 0xea4201, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xc72200, 0xea4200, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0xc7e190, 0xea4200, 0x200, 0x200, 0xea4200, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xc7e190, 0xea4200, 0x200, 0x200, 0xe9d2f000, 0x3e206820, 0x3331203e)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xfc8000, 0x54c3f8, 0xc7e190, 0xe9d2f000, 0xfc8000, 0x61686d01, 0x32336873)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xfc8000, 0x54c3f8, 0xc7e190, 0x0, 0x0, 0x0, 0x34202b20, 0x7361682a, 0x79656b68, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xfc8000, 0x54c3f8, 0xc7e190, 0x70283233, 0x68090a29, 0x72203d20, 0x5f6c746f)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0x203d5e20, 0x3e3e2068)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0x11760b0, 0xe28040)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 117 [IO wait]:
internal/poll.runtime_pollWait(0xecac2740, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xc72294, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xc72294, 0xea4001, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xc72280, 0xea4000, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0xc7e1b8, 0xea4000, 0x200, 0x200, 0xea4000, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xc7e1b8, 0xea4000, 0x200, 0x200, 0xe9d2f000, 0x0, 0x0)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xfc8060, 0x54c3f8, 0xc7e1b8, 0xe9d2f000, 0xfc8060, 0x1, 0x0)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xfc8060, 0x54c3f8, 0xc7e1b8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xfc8060, 0x54c3f8, 0xc7e1b8, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0x11760b0, 0xe28070)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 130 [IO wait]:
internal/poll.runtime_pollWait(0xecac25c0, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xc8a114, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xc8a114, 0xea4401, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xc8a100, 0xea4400, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0x1112058, 0xea4400, 0x200, 0x200, 0xea4400, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0x1112058, 0xea4400, 0x200, 0x200, 0xe9d2f000, 0x0, 0x0)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xe10000, 0x54c3f8, 0x1112058, 0xe9d2f000, 0xe10000, 0x1177d01, 0xd5cf98)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xe10000, 0x54c3f8, 0x1112058, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xe10000, 0x54c3f8, 0x1112058, 0x1, 0x0, 0x0, 0x0)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0xfe8000, 0x100e040)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 131 [IO wait]:
internal/poll.runtime_pollWait(0xecac24c0, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xc8a214, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xc8a214, 0x1044001, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xc8a200, 0x1044000, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0x1112078, 0x1044000, 0x200, 0x200, 0x1044000, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0x1112078, 0x1044000, 0x200, 0x200, 0xe9d2f000, 0xa, 0x2)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xe10060, 0x54c3f8, 0x1112078, 0xe9d2f000, 0xe10060, 0x1, 0x2)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xe10060, 0x54c3f8, 0x1112078, 0x0, 0x0, 0x0, 0xee3e90, 0x27, 0xd2, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xe10060, 0x54c3f8, 0x1112078, 0x2, 0xedca50, 0x2b, 0xbc)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0xfe8000, 0x100e060)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 132 [IO wait]:
internal/poll.runtime_pollWait(0xecac2240, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xdc82d4, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xdc82d4, 0x1044201, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xdc82c0, 0x1044200, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0xc0e270, 0x1044200, 0x200, 0x200, 0x1044200, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xc0e270, 0x1044200, 0x200, 0x200, 0xe9d2f000, 0x0, 0x0)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xcb5800, 0x54c3f8, 0xc0e270, 0xe9d2f000, 0xcb5800, 0x1, 0x0)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xcb5800, 0x54c3f8, 0xc0e270, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xcb5800, 0x54c3f8, 0xc0e270, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0xcc9f80)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0xf8e000, 0xe000c0)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c

goroutine 133 [IO wait]:
internal/poll.runtime_pollWait(0xecac27c0, 0x72, 0x9cc90)
        /usr/local/go/src/runtime/netpoll.go:173 +0x44
internal/poll.(*pollDesc).wait(0xdc8354, 0x72, 0xffffff01, 0x54cc68, 0x7e0240)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x7c
internal/poll.(*pollDesc).waitRead(0xdc8354, 0x1040401, 0x200, 0x200)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x2c
internal/poll.(*FD).Read(0xdc8340, 0x1040400, 0x200, 0x200, 0x0, 0x0, 0x0)
        /usr/local/go/src/internal/poll/fd_unix.go:169 +0x14c
os.(*File).read(0xc0e298, 0x1040400, 0x200, 0x200, 0x1040400, 0x0, 0x0)
        /usr/local/go/src/os/file_unix.go:249 +0x3c
os.(*File).Read(0xc0e298, 0x1040400, 0x200, 0x200, 0xe9d2f000, 0x0, 0x10b81d0)
        /usr/local/go/src/os/file.go:108 +0x4c
bytes.(*Buffer).ReadFrom(0xcb5e00, 0x54c3f8, 0xc0e298, 0xe9d2f000, 0xcb5e00, 0x1, 0x0)
        /usr/local/go/src/bytes/buffer.go:206 +0xb0
io.copyBuffer(0x54bd38, 0xcb5e00, 0x54c3f8, 0xc0e298, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /usr/local/go/src/io/io.go:388 +0x300
io.Copy(0x54bd38, 0xcb5e00, 0x54c3f8, 0xc0e298, 0x0, 0x0, 0x0, 0x0)
        /usr/local/go/src/io/io.go:364 +0x48
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
        /usr/local/go/src/os/exec/exec.go:279 +0x38
os/exec.(*Cmd).Start.func1(0xf8e000, 0xe000e0)
        /usr/local/go/src/os/exec/exec.go:400 +0x1c
created by os/exec.(*Cmd).Start
        /usr/local/go/src/os/exec/exec.go:399 +0x41c
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)

--------------

With newer golang version
go version
go version go1.11.9 linux/arm
- show quoted text -
GOGCCFLAGS="-fPIC -marm -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build218432843=/tmp/go-build -gno-record-gcc-switches"

$ /usr/local/go/bin/go get -v github.com/Azure/sonic-telemetry/dialout/dialout_client_cli
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x66180]

goroutine 11fatal error: [malloc deadlock
, panic during panic
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x66180]

108033889401^Ifatal error: unexpected signal during runtime execution
stack trace unavailable

Revision history for this message
Peter Maydell (pmaydell) wrote :

Hi; we very recently fixed a QEMU bug which causes crashes like this for Go binaries running under QEMU's linux-user mode. The fix is in the v4.1.0-rc3 we've just put out and will be in the final 4.1.0 release. Could you retry with that and see if it fixes your problem, please?

Revision history for this message
Antony Rheneus (arheneus) wrote :

Facing similar crash with the latest qemu, Can you give some pointers to debug further like backtrace/breakpoints or so

$ ./qemu-4.1.0-rc3/arm-linux-user/qemu-arm --version
qemu-arm version 4.0.93
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

$ ./qemu-4.1.0-rc3/arm-linux-user/qemu-arm $GOROOT/bin/go get -v github.com/Azure/sonic-telemetry/dialout/dialout_client_cli
Fetching https://google.golang.org/grpc?go-get=1

<<< LOG Truncated>>>

Parsing meta tags from https://golang.org/x/net/context?go-get=1 (status code 200)
get "golang.org/x/net/context": found meta tag get.metaImport{Prefix:"golang.org/x/net", VCS:"git", RepoRoot:"https://go.googlesource.com/net"} at https://golang.org/x/net/context?go-get=1
get "golang.org/x/net/context": verifying non-authoritative meta tag
github.com/c9s/goprocinfo (download)
github.com/go-redis/redis (download)
github.com/golang/glog (download)
github.com/workiva/go-datastructures (download)
github.com/openconfig/ygot (download)
github.com/kylelemons/godebug (download)
github.com/openconfig/goyang (download)
go tool compile: signal: aborted (core dumped)
qemu: unhandled CPU exception 0x10004 - aborting
R00=00000000 R01=0000001e R02=00e2b180 R03=00000000
R04=00000001 R05=000000d8 R06=000000f6 R07=f6ffec64
R08=00000000 R09=000000e0 R10=00e1e740 R11=00e3610c
R12=00000034 R13=f6ffebc8 R14=00018d90 R15=0006668c
PSR=20000010 --C- A usr32
go tool compile: signal: aborted (core dumped)
qemu: unhandled CPU exception 0x10004 - aborting
R00=00000000 R01=0000001e R02=00e1e690 R03=00000000
R04=00000001 R05=00000008 R06=00000004 R07=00000003
R08=da507899 R09=01070000 R10=01000540 R11=00e3610c
R12=f67cc015 R13=01049f1c R14=00018d90 R15=0006668c
PSR=20000010 --C- A usr32

Revision history for this message
Peter Maydell (pmaydell) wrote :

I suspect you're not using the new version of QEMU in your test. The 'go' binary will fork and exec other go binaries, and Linux binfmt-misc will use the system QEMU binary to run those, even if you were running the top level 'go' binary with the newer QEMU you've built.

For Ubuntu this means you need to put the new QEMU binary into /usr/bin/qemu-arm-static. (Probably "cat /proc/sys/fs/binfmt_misc/qemu-arm" will tell you what interpreter binary it uses. It will also have a "flags:" line -- if this includes 'F' for fixed then you will have to take further measures beyond just copying the new QEMU binary into place, because it means the kernel opens the interpreter binary very early, rather than only on-demand, so it will have effectively cached the old version. I'm not sure how you get it to forget about the old version and re-open the new version.)

Revision history for this message
Antony Rheneus (arheneus) wrote :

Thanks @pmaydell, I missed to check binfmt qemu version. I checked in qemu 4.0.93 and I don't issue any issue.

Changed in qemu:
status: New → Fix Released
Revision history for this message
Peter Maydell (pmaydell) wrote :

Thanks for retesting! (We haven't quite got 4.1.0 out of the door yet, so I'll just move this bug to 'fix committed' for the moment; we'll update it back to 'fix released' next week.)

Changed in qemu:
status: Fix Released → Fix Committed
Thomas Huth (th-huth)
Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.