Skip to content

bug: --hardware all fail with signal 17 not on stack #216

@hugosenari

Description

@hugosenari

When running
sudo nix run nixpkgs#nixos-facter -- --hardware all
it fail with:

signal 17 received but handler not on signal stack
mp.gsignal stack [0xc000006000 0xc00000e000], mp.g0 stack [0x7ffc2e1f2000 0x7ffc2e9f0280], sp=0xc0001867b0
fatal error: non-Go code set up signal handler without SA_ONSTACK flag

runtime stack:
runtime.throw({0x5ad96d?, 0x0?})
	runtime/panic.go:1101 +0x48 fp=0xc0001866d8 sp=0xc0001866a8 pc=0x46e5c8
runtime.sigNotOnStack(0x11, 0xc0001867b0, 0x6df720)
	runtime/signal_unix.go:1116 +0x145 fp=0xc000186708 sp=0xc0001866d8 pc=0x4538c5
runtime.adjustSignalStack2(0x11, 0xc0001867b0, 0x6df720, 0x0)
	runtime/signal_unix.go:601 +0x5b fp=0xc000186738 sp=0xc000186708 pc=0x452a9b
runtime.adjustSignalStack(0x11, 0x6df720, 0xc0001867d8)
	runtime/signal_unix.go:588 +0x26a fp=0xc0001867b0 sp=0xc000186738 pc=0x452a2a
runtime.sigtrampgo(0x11, 0xc0001869b0, 0xc000186880)
	runtime/signal_unix.go:480 +0xd0 fp=0xc000186830 sp=0xc0001867b0 pc=0x4524d0
runtime.sigtramp()
	runtime/sys_linux_amd64.s:352 +0x46 fp=0xc000186880 sp=0xc000186830 pc=0x476fe6

goroutine 17 gp=0xc0000028c0 m=1 mp=0xc000068008 [syscall, locked to thread]:
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000076fe8 sp=0xc000076fe0 pc=0x4754e1

goroutine 1 gp=0xc000002380 m=0 mp=0x6df720 [syscall]:
syscall.Syscall6(0xf7, 0x3, 0xd, 0xc0001876a0, 0x4, 0xc000180090, 0x0)
	syscall/syscall_linux.go:95 +0x39 fp=0xc000187618 sp=0xc0001875b8 pc=0x49e6d9
internal/syscall/unix.Waitid(0xc0001876ce?, 0xc0001877f8?, 0x51490b?, 0xc000031aa0?, 0x1?)
	internal/syscall/unix/waitid_linux.go:18 +0x39 fp=0xc000187670 sp=0xc000187618 pc=0x4adef9
os.(*Process).pidfdWait.func1(...)
	os/pidfd_linux.go:106
os.ignoringEINTR(...)
	os/file_posix.go:251
os.(*Process).pidfdWait(0xc0002b4468?)
	os/pidfd_linux.go:105 +0x209 fp=0xc000187788 sp=0xc000187670 pc=0x4b6f69
os.(*Process).wait(0x6df720?)
	os/exec_unix.go:27 +0x25 fp=0xc0001877a8 sp=0xc000187788 pc=0x4b4345
os.(*Process).Wait(...)
	os/exec.go:358
os/exec.(*Cmd).Wait(0xc0000d8480)
	os/exec/exec.go:922 +0x45 fp=0xc000187808 sp=0xc0001877a8 pc=0x5152e5
os/exec.(*Cmd).Run(0xc0000d8480)
	os/exec/exec.go:626 +0x2d fp=0xc000187820 sp=0xc000187808 pc=0x513fcd
os/exec.(*Cmd).CombinedOutput(0xc0000d8480)
	os/exec/exec.go:1039 +0x85 fp=0xc000187848 sp=0xc000187820 pc=0x515b85
github.com/numtide/nixos-facter/pkg/virt.Detect()
	github.com/numtide/nixos-facter/pkg/virt/virt.go:57 +0x37 fp=0xc0001878f8 sp=0xc000187848 pc=0x540177
github.com/numtide/nixos-facter/pkg/facter.(*Scanner).Scan(0x6dc700)
	github.com/numtide/nixos-facter/pkg/facter/facter.go:116 +0x7fb fp=0xc000187e90 sp=0xc0001878f8 pc=0x540ebb
github.com/numtide/nixos-facter/cmd.Execute()
	github.com/numtide/nixos-facter/cmd/root.go:138 +0x418 fp=0xc000187f40 sp=0xc000187e90 pc=0x54a1f8
main.main()
	github.com/numtide/nixos-facter/main.go:8 +0xf fp=0xc000187f50 sp=0xc000187f40 pc=0x54a58f
runtime.main()
	runtime/proc.go:283 +0x28b fp=0xc000187fe0 sp=0xc000187f50 pc=0x43d78b
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000187fe8 sp=0xc000187fe0 pc=0x4754e1

goroutine 2 gp=0xc000002e00 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000062fa8 sp=0xc000062f88 pc=0x46e6ee
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.forcegchelper()
	runtime/proc.go:348 +0xb3 fp=0xc000062fe0 sp=0xc000062fa8 pc=0x43dad3
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000062fe8 sp=0xc000062fe0 pc=0x4754e1
created by runtime.init.7 in goroutine 1
	runtime/proc.go:336 +0x1a

goroutine 3 gp=0xc000003340 m=nil [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000063780 sp=0xc000063760 pc=0x46e6ee
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.bgsweep(0xc00007e000)
	runtime/mgcsweep.go:276 +0x94 fp=0xc0000637c8 sp=0xc000063780 pc=0x4291d4
runtime.gcenable.gowrap1()
	runtime/mgc.go:204 +0x25 fp=0xc0000637e0 sp=0xc0000637c8 pc=0x41d905
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc0000637e8 sp=0xc0000637e0 pc=0x4754e1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:204 +0x66

goroutine 4 gp=0xc000003500 m=nil [GC scavenge wait]:
runtime.gopark(0xc00007e000?, 0x5daf68?, 0x1?, 0x0?, 0xc000003500?)
	runtime/proc.go:435 +0xce fp=0xc000063f78 sp=0xc000063f58 pc=0x46e6ee
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.(*scavengerState).park(0x6dce40)
	runtime/mgcscavenge.go:425 +0x49 fp=0xc000063fa8 sp=0xc000063f78 pc=0x426c89
runtime.bgscavenge(0xc00007e000)
	runtime/mgcscavenge.go:653 +0x3c fp=0xc000063fc8 sp=0xc000063fa8 pc=0x4271fc
runtime.gcenable.gowrap2()
	runtime/mgc.go:205 +0x25 fp=0xc000063fe0 sp=0xc000063fc8 pc=0x41d8a5
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000063fe8 sp=0xc000063fe0 pc=0x4754e1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:205 +0xa5

goroutine 5 gp=0xc000003dc0 m=nil [finalizer wait]:
runtime.gopark(0x1b8?, 0xc000002380?, 0x1?, 0x23?, 0xc000062688?)
	runtime/proc.go:435 +0xce fp=0xc000062630 sp=0xc000062610 pc=0x46e6ee
runtime.runfinq()
	runtime/mfinal.go:196 +0x107 fp=0xc0000627e0 sp=0xc000062630 pc=0x41c8c7
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc0000627e8 sp=0xc0000627e0 pc=0x4754e1
created by runtime.createfing in goroutine 1
	runtime/mfinal.go:166 +0x3d

option result
all FAIL
max FAIL
modem FAIL
modem_usb FAIL
mouse FAIL

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions