TestNewDefaultConfig panics
tigrannajaryan opened this issue · comments
Describe the bug
Running make
results in a panic in TestNewDefaultConfig.
Steps to reproduce
Run make
.
Alternatively run cd cmd/builder/internal/builder && go test -race -run TestNewDefaultConfig
What did you expect to see?
make
finishes successfully.
What did you see instead?
make
fails in TestNewDefaultConfig with a panic.
What version did you use?
Version: 680c7ad
What config did you use?
Config: N/A
Environment
OS: Mac OS X 12.3.1
Compiler(if manually compiled): go version go1.17 darwin/amd64
Additional context
=== RUN TestNewDefaultConfig
SIGABRT: abort
PC=0x7ff81e3c200e m=4 sigcode=0
goroutine 0 [idle]:
syscall.rawSyscall(0x10c8a20, 0x0, 0x0, 0x0)
/Users/tnajaryan/.go/go1.17/src/runtime/sys_darwin.go:77 +0x47 fp=0xc0000b93a8 sp=0xc0000b9388 pc=0x10a8727
syscall.rawSyscall(0x10ae8a5, 0x0, 0x0, 0x1)
<autogenerated>:1 +0x26 fp=0xc0000b93f0 sp=0xc0000b93a8 pc=0x10af346
syscall.forkAndExecInChild(0xc0000ab0af, {0xc0000be498, 0x3, 0x1}, {0xc0000f4420, 0x2c, 0x0}, 0x0, 0x0, 0xc0000b96f8, ...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_libc2.go:80 +0xed fp=0xc0000b9480 sp=0xc0000b93f0 pc=0x10be10d
syscall.forkExec({0x0, 0x0}, {0xc0000e05e0, 0x2, 0x2}, 0xc0000b96f8)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:212 +0x5a7 fp=0xc0000b9618 sp=0xc0000b9480 pc=0x10bf1a7
syscall.StartProcess(...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:264
os.startProcess({0x0, 0x0}, {0xc0000e05e0, 0x2, 0x2}, 0xc0000b9988)
/Users/tnajaryan/.go/go1.17/src/os/exec_posix.go:55 +0x526 fp=0xc0000b9750 sp=0xc0000b9618 pc=0x10fdaa6
os.StartProcess({0x0, 0x0}, {0xc0000e05e0, 0x2, 0x2}, 0xc0000de3c0)
/Users/tnajaryan/.go/go1.17/src/os/exec.go:109 +0x7a fp=0xc0000b97b0 sp=0xc0000b9750 pc=0x10fcf3a
os/exec.(*Cmd).Start(0xc0000f42c0)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:422 +0x9d4 fp=0xc0000b99e0 sp=0xc0000b97b0 pc=0x1203fb4
os/exec.(*Cmd).Run(0xc0000b9af0)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:338 +0x31 fp=0xc0000b9a20 sp=0xc0000b99e0 pc=0x1203571
os/exec.(*Cmd).CombinedOutput(0xc0000f42c0)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:567 +0x20a fp=0xc0000b9a90 sp=0xc0000b9a20 pc=0x1204eca
go.opentelemetry.io/collector/cmd/builder/internal/builder.(*Config).Validate(0xc0000b9c68)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/config.go:91 +0x95 fp=0xc0000b9b50 sp=0xc0000b9a90 pc=0x145a295
go.opentelemetry.io/collector/cmd/builder/internal/builder.TestNewDefaultConfig(0x0)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/config_test.go:136 +0xd4 fp=0xc0000b9e98 sp=0xc0000b9b50 pc=0x145d4f4
testing.tRunner(0xc00011a820, 0x14fe3f0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1259 +0x230 fp=0xc0000b9fb0 sp=0xc0000b9e98 pc=0x1192d10
testing.(*T).Run·dwrap·21()
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x48 fp=0xc0000b9fe0 sp=0xc0000b9fb0 pc=0x11942a8
runtime.goexit()
/Users/tnajaryan/.go/go1.17/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0000b9fe8 sp=0xc0000b9fe0 pc=0x10abc01
created by testing.(*T).Run
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x727
goroutine 27 [running]:
runtime.systemstack_switch()
/Users/tnajaryan/.go/go1.17/src/runtime/asm_amd64.s:350 fp=0xc0000b9358 sp=0xc0000b9350 pc=0x10a99c0
runtime.libcCall(0x18, 0xc000044d80)
/Users/tnajaryan/.go/go1.17/src/runtime/sys_libc.go:49 +0x66 fp=0xc0000b9388 sp=0xc0000b9358 pc=0x1098066
syscall.rawSyscall(0x10c8a20, 0x0, 0x0, 0x0)
/Users/tnajaryan/.go/go1.17/src/runtime/sys_darwin.go:77 +0x47 fp=0xc0000b93a8 sp=0xc0000b9388 pc=0x10a8727
syscall.rawSyscall(0x10ae8a5, 0x0, 0x0, 0x1)
<autogenerated>:1 +0x26 fp=0xc0000b93f0 sp=0xc0000b93a8 pc=0x10af346
syscall.forkAndExecInChild(0xc0000ab0af, {0xc0000be498, 0x3, 0x1}, {0xc0000f4420, 0x2c, 0x0}, 0x0, 0x0, 0xc0000b96f8, ...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_libc2.go:80 +0xed fp=0xc0000b9480 sp=0xc0000b93f0 pc=0x10be10d
syscall.forkExec({0x0, 0x0}, {0xc0000e05e0, 0x2, 0x2}, 0xc0000b96f8)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:212 +0x5a7 fp=0xc0000b9618 sp=0xc0000b9480 pc=0x10bf1a7
syscall.StartProcess(...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:264
os.startProcess({0x0, 0x0}, {0xc0000e05e0, 0x2, 0x2}, 0xc0000b9988)
/Users/tnajaryan/.go/go1.17/src/os/exec_posix.go:55 +0x526 fp=0xc0000b9750 sp=0xc0000b9618 pc=0x10fdaa6
os.StartProcess({0x0, 0x0}, {0xc0000e05e0, 0x2, 0x2}, 0xc0000de3c0)
/Users/tnajaryan/.go/go1.17/src/os/exec.go:109 +0x7a fp=0xc0000b97b0 sp=0xc0000b9750 pc=0x10fcf3a
os/exec.(*Cmd).Start(0xc0000f42c0)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:422 +0x9d4 fp=0xc0000b99e0 sp=0xc0000b97b0 pc=0x1203fb4
os/exec.(*Cmd).Run(0xc0000b9af0)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:338 +0x31 fp=0xc0000b9a20 sp=0xc0000b99e0 pc=0x1203571
os/exec.(*Cmd).CombinedOutput(0xc0000f42c0)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:567 +0x20a fp=0xc0000b9a90 sp=0xc0000b9a20 pc=0x1204eca
go.opentelemetry.io/collector/cmd/builder/internal/builder.(*Config).Validate(0xc0000b9c68)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/config.go:91 +0x95 fp=0xc0000b9b50 sp=0xc0000b9a90 pc=0x145a295
go.opentelemetry.io/collector/cmd/builder/internal/builder.TestNewDefaultConfig(0x0)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/config_test.go:136 +0xd4 fp=0xc0000b9e98 sp=0xc0000b9b50 pc=0x145d4f4
testing.tRunner(0xc00011a820, 0x14fe3f0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1259 +0x230 fp=0xc0000b9fb0 sp=0xc0000b9e98 pc=0x1192d10
testing.(*T).Run·dwrap·21()
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x48 fp=0xc0000b9fe0 sp=0xc0000b9fb0 pc=0x11942a8
runtime.goexit()
/Users/tnajaryan/.go/go1.17/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0000b9fe8 sp=0xc0000b9fe0 pc=0x10abc01
created by testing.(*T).Run
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x727
goroutine 1 [chan receive]:
testing.(*T).Run(0xc000196680, {0x14e8f17, 0x14}, 0x14fe3f0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1307 +0x752
testing.runTests.func1(0x0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1598 +0x9a
testing.tRunner(0xc000196680, 0xc000115bf8)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1259 +0x230
testing.runTests(0xc0001a6180, {0x17bcb60, 0x9, 0x9}, {0x0, 0xc0001a2a40, 0x17c2ca0})
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1596 +0x7cb
testing.(*M).Run(0xc0001a6180)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1504 +0x9d2
main.main()
_testmain.go:59 +0x22c
rax 0x0
rbx 0x70000c9fd000
rcx 0x70000c9fcca8
rdx 0x0
rdi 0x303
rsi 0x6
rbp 0x70000c9fccd0
rsp 0x70000c9fcca8
r8 0x1
r9 0x0
r10 0x0
r11 0x246
r12 0x303
r13 0x50
r14 0x6
r15 0x16
rip 0x7ff81e3c200e
rflags 0x246
cs 0x7
fs 0x0
gs 0x0
2022-07-06T11:38:19.632-0400 INFO builder/config.go:99 Using go {"go-executable": "/Users/tnajaryan/.go/go1.17/bin/go"}
--- PASS: TestNewDefaultConfig (0.02s)
=== RUN TestGenerateDefault
2022-07-06T11:38:19.636-0400 INFO builder/main.go:76 Sources created {"path": "/var/folders/qc/4yf3cbzj2_s3lb9sm5kpxwd40000gn/T/otelcol-distribution2658451889"}
--- PASS: TestGenerateDefault (0.00s)
=== RUN TestGenerateInvalidCollectorVersion
2022-07-06T11:38:19.637-0400 INFO builder/main.go:52 You're building a distribution with non-aligned version of the builder. Compilation may fail due to API changes. Please upgrade your builder or API {"builder-version": "0.55.0"}
2022-07-06T11:38:19.642-0400 INFO builder/main.go:76 Sources created {"path": "/var/folders/qc/4yf3cbzj2_s3lb9sm5kpxwd40000gn/T/otelcol-distribution3534062882"}
--- PASS: TestGenerateInvalidCollectorVersion (0.01s)
=== RUN TestGenerateInvalidOutputPath
--- PASS: TestGenerateInvalidOutputPath (0.00s)
=== RUN TestGenerateAndCompileDefault
SIGABRT: abort
PC=0x7ff81e3c200e m=5 sigcode=0
goroutine 0 [idle]:
syscall.rawSyscall(0x10c8a20, 0x0, 0x0, 0x0)
/Users/tnajaryan/.go/go1.17/src/runtime/sys_darwin.go:77 +0x47 fp=0xc0000b93b0 sp=0xc0000b9390 pc=0x10a8727
syscall.rawSyscall(0x10ae8a5, 0x0, 0x0, 0x1)
<autogenerated>:1 +0x26 fp=0xc0000b93f8 sp=0xc0000b93b0 pc=0x10af346
syscall.forkAndExecInChild(0xc00021076f, {0xc0002003d8, 0x3, 0x1}, {0xc000252160, 0x2c, 0x0}, 0x0, 0x0, 0xc0000b9700, ...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_libc2.go:80 +0xed fp=0xc0000b9488 sp=0xc0000b93f8 pc=0x10be10d
syscall.forkExec({0x0, 0x0}, {0xc000204380, 0x2, 0x2}, 0xc0000b9700)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:212 +0x5a7 fp=0xc0000b9620 sp=0xc0000b9488 pc=0x10bf1a7
syscall.StartProcess(...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:264
os.startProcess({0x0, 0x0}, {0xc000204380, 0x2, 0x2}, 0xc0000b9990)
/Users/tnajaryan/.go/go1.17/src/os/exec_posix.go:55 +0x526 fp=0xc0000b9758 sp=0xc0000b9620 pc=0x10fdaa6
os.StartProcess({0x0, 0x0}, {0xc000204380, 0x2, 0x2}, 0x2a812900)
/Users/tnajaryan/.go/go1.17/src/os/exec.go:109 +0x7a fp=0xc0000b97b8 sp=0xc0000b9758 pc=0x10fcf3a
os/exec.(*Cmd).Start(0xc000252000)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:422 +0x9d4 fp=0xc0000b99e8 sp=0xc0000b97b8 pc=0x1203fb4
os/exec.(*Cmd).Run(0xc0000b9af8)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:338 +0x31 fp=0xc0000b9a28 sp=0xc0000b99e8 pc=0x1203571
os/exec.(*Cmd).CombinedOutput(0xc000252000)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:567 +0x20a fp=0xc0000b9a98 sp=0xc0000b9a28 pc=0x1204eca
go.opentelemetry.io/collector/cmd/builder/internal/builder.(*Config).Validate(0xc0000b9c68)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/config.go:91 +0x95 fp=0xc0000b9b58 sp=0xc0000b9a98 pc=0x145a295
go.opentelemetry.io/collector/cmd/builder/internal/builder.TestGenerateAndCompileDefault(0xc000222680)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/main_test.go:55 +0xdd fp=0xc0000b9e98 sp=0xc0000b9b58 pc=0x145d9fd
testing.tRunner(0xc000222680, 0x14fe3c0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1259 +0x230 fp=0xc0000b9fb0 sp=0xc0000b9e98 pc=0x1192d10
testing.(*T).Run·dwrap·21()
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x48 fp=0xc0000b9fe0 sp=0xc0000b9fb0 pc=0x11942a8
runtime.goexit()
/Users/tnajaryan/.go/go1.17/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0000b9fe8 sp=0xc0000b9fe0 pc=0x10abc01
created by testing.(*T).Run
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x727
goroutine 39 [running]:
runtime.systemstack_switch()
/Users/tnajaryan/.go/go1.17/src/runtime/asm_amd64.s:350 fp=0xc0000b9360 sp=0xc0000b9358 pc=0x10a99c0
runtime.libcCall(0x18, 0xc000080000)
/Users/tnajaryan/.go/go1.17/src/runtime/sys_libc.go:49 +0x66 fp=0xc0000b9390 sp=0xc0000b9360 pc=0x1098066
syscall.rawSyscall(0x10c8a20, 0x0, 0x0, 0x0)
/Users/tnajaryan/.go/go1.17/src/runtime/sys_darwin.go:77 +0x47 fp=0xc0000b93b0 sp=0xc0000b9390 pc=0x10a8727
syscall.rawSyscall(0x10ae8a5, 0x0, 0x0, 0x1)
<autogenerated>:1 +0x26 fp=0xc0000b93f8 sp=0xc0000b93b0 pc=0x10af346
syscall.forkAndExecInChild(0xc00021076f, {0xc0002003d8, 0x3, 0x1}, {0xc000252160, 0x2c, 0x0}, 0x0, 0x0, 0xc0000b9700, ...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_libc2.go:80 +0xed fp=0xc0000b9488 sp=0xc0000b93f8 pc=0x10be10d
syscall.forkExec({0x0, 0x0}, {0xc000204380, 0x2, 0x2}, 0xc0000b9700)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:212 +0x5a7 fp=0xc0000b9620 sp=0xc0000b9488 pc=0x10bf1a7
syscall.StartProcess(...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:264
os.startProcess({0x0, 0x0}, {0xc000204380, 0x2, 0x2}, 0xc0000b9990)
/Users/tnajaryan/.go/go1.17/src/os/exec_posix.go:55 +0x526 fp=0xc0000b9758 sp=0xc0000b9620 pc=0x10fdaa6
os.StartProcess({0x0, 0x0}, {0xc000204380, 0x2, 0x2}, 0x2a812900)
/Users/tnajaryan/.go/go1.17/src/os/exec.go:109 +0x7a fp=0xc0000b97b8 sp=0xc0000b9758 pc=0x10fcf3a
os/exec.(*Cmd).Start(0xc000252000)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:422 +0x9d4 fp=0xc0000b99e8 sp=0xc0000b97b8 pc=0x1203fb4
os/exec.(*Cmd).Run(0xc0000b9af8)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:338 +0x31 fp=0xc0000b9a28 sp=0xc0000b99e8 pc=0x1203571
os/exec.(*Cmd).CombinedOutput(0xc000252000)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:567 +0x20a fp=0xc0000b9a98 sp=0xc0000b9a28 pc=0x1204eca
go.opentelemetry.io/collector/cmd/builder/internal/builder.(*Config).Validate(0xc0000b9c68)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/config.go:91 +0x95 fp=0xc0000b9b58 sp=0xc0000b9a98 pc=0x145a295
go.opentelemetry.io/collector/cmd/builder/internal/builder.TestGenerateAndCompileDefault(0xc000222680)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/main_test.go:55 +0xdd fp=0xc0000b9e98 sp=0xc0000b9b58 pc=0x145d9fd
testing.tRunner(0xc000222680, 0x14fe3c0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1259 +0x230 fp=0xc0000b9fb0 sp=0xc0000b9e98 pc=0x1192d10
testing.(*T).Run·dwrap·21()
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x48 fp=0xc0000b9fe0 sp=0xc0000b9fb0 pc=0x11942a8
runtime.goexit()
/Users/tnajaryan/.go/go1.17/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0000b9fe8 sp=0xc0000b9fe0 pc=0x10abc01
created by testing.(*T).Run
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x727
goroutine 1 [chan receive]:
testing.(*T).Run(0xc000196680, {0x14ecfea, 0x1d}, 0x14fe3c0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1307 +0x752
testing.runTests.func1(0x0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1598 +0x9a
testing.tRunner(0xc000196680, 0xc000115bf8)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1259 +0x230
testing.runTests(0xc0001a6180, {0x17bcb60, 0x9, 0x9}, {0x0, 0xc0001a2a40, 0x17c2ca0})
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1596 +0x7cb
testing.(*M).Run(0xc0001a6180)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1504 +0x9d2
main.main()
_testmain.go:59 +0x22c
rax 0x0
rbx 0x70000ca80000
rcx 0x70000ca7fca8
rdx 0x0
rdi 0x303
rsi 0x6
rbp 0x70000ca7fcd0
rsp 0x70000ca7fca8
r8 0x1
r9 0x0
r10 0x0
r11 0x246
r12 0x303
r13 0x50
r14 0x6
r15 0x16
rip 0x7ff81e3c200e
rflags 0x246
cs 0x7
fs 0x0
gs 0x0
2022-07-06T11:38:19.654-0400 INFO builder/config.go:99 Using go {"go-executable": "/Users/tnajaryan/.go/go1.17/bin/go"}
2022-07-06T11:38:19.654-0400 INFO builder/main.go:52 You're building a distribution with non-aligned version of the builder. Compilation may fail due to API changes. Please upgrade your builder or API {"builder-version": "0.55.0"}
2022-07-06T11:38:19.657-0400 INFO builder/main.go:76 Sources created {"path": "/var/folders/qc/4yf3cbzj2_s3lb9sm5kpxwd40000gn/T/TestGenerateAndCompileDefault3564181371/001"}
SIGABRT: abort
PC=0x7ff81e3c200e m=4 sigcode=0
goroutine 0 [idle]:
syscall.rawSyscall(0x10c8a20, 0x0, 0x0, 0x0)
/Users/tnajaryan/.go/go1.17/src/runtime/sys_darwin.go:77 +0x47 fp=0xc0000b9178 sp=0xc0000b9158 pc=0x10a8727
syscall.rawSyscall(0x10ae8a5, 0x0, 0x0, 0x1)
<autogenerated>:1 +0x26 fp=0xc0000b91c0 sp=0xc0000b9178 pc=0x10af346
syscall.forkAndExecInChild(0xc0000e2240, {0xc000122900, 0x5, 0x1}, {0xc0000f46e0, 0x2c, 0x0}, 0x0, 0xc000092780, 0xc0000b94c8, ...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_libc2.go:80 +0xed fp=0xc0000b9250 sp=0xc0000b91c0 pc=0x10be10d
syscall.forkExec({0xc0000e2180, 0x22}, {0xc000090f80, 0x4, 0x4}, 0xc0000b94c8)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:212 +0x5a7 fp=0xc0000b93e8 sp=0xc0000b9250 pc=0x10bf1a7
syscall.StartProcess(...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:264
os.startProcess({0xc0000e2180, 0x22}, {0xc000090f80, 0x4, 0x4}, 0xc0000b9758)
/Users/tnajaryan/.go/go1.17/src/os/exec_posix.go:55 +0x526 fp=0xc0000b9520 sp=0xc0000b93e8 pc=0x10fdaa6
os.StartProcess({0xc0000e2180, 0x22}, {0xc000090f80, 0x4, 0x4}, 0x0)
/Users/tnajaryan/.go/go1.17/src/os/exec.go:109 +0x7a fp=0xc0000b9580 sp=0xc0000b9520 pc=0x10fcf3a
os/exec.(*Cmd).Start(0xc0000f4580)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:422 +0x9d4 fp=0xc0000b97b0 sp=0xc0000b9580 pc=0x1203fb4
os/exec.(*Cmd).Run(0xc0000b9988)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:338 +0x31 fp=0xc0000b97f0 sp=0xc0000b97b0 pc=0x1203571
os/exec.(*Cmd).CombinedOutput(0xc0000f4580)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:567 +0x20a fp=0xc0000b9860 sp=0xc0000b97f0 pc=0x1204eca
go.opentelemetry.io/collector/cmd/builder/internal/builder.GetModules({0xc000206de0, 0x0, {{0x14f2b33, 0x29}, {0x0, 0x0}, {0xc0000e2180, 0x22}, {0x0, 0x0}, ...}, ...})
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/main.go:104 +0x14a fp=0xc0000b9a08 sp=0xc0000b9860 pc=0x145beaa
go.opentelemetry.io/collector/cmd/builder/internal/builder.GenerateAndCompile({0xc000206de0, 0x0, {{0x14f2b33, 0x29}, {0x0, 0x0}, {0xc0000e2180, 0x22}, {0x0, 0x0}, ...}, ...})
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/main.go:41 +0x98 fp=0xc0000b9b58 sp=0xc0000b9a08 pc=0x145afb8
go.opentelemetry.io/collector/cmd/builder/internal/builder.TestGenerateAndCompileDefault(0xc000222680)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/main_test.go:56 +0x125 fp=0xc0000b9e98 sp=0xc0000b9b58 pc=0x145da45
testing.tRunner(0xc000222680, 0x14fe3c0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1259 +0x230 fp=0xc0000b9fb0 sp=0xc0000b9e98 pc=0x1192d10
testing.(*T).Run·dwrap·21()
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x48 fp=0xc0000b9fe0 sp=0xc0000b9fb0 pc=0x11942a8
runtime.goexit()
/Users/tnajaryan/.go/go1.17/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0000b9fe8 sp=0xc0000b9fe0 pc=0x10abc01
created by testing.(*T).Run
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x727
goroutine 39 [running]:
runtime.systemstack_switch()
/Users/tnajaryan/.go/go1.17/src/runtime/asm_amd64.s:350 fp=0xc0000b9128 sp=0xc0000b9120 pc=0x10a99c0
runtime.libcCall(0x18, 0xc000044d80)
/Users/tnajaryan/.go/go1.17/src/runtime/sys_libc.go:49 +0x66 fp=0xc0000b9158 sp=0xc0000b9128 pc=0x1098066
syscall.rawSyscall(0x10c8a20, 0x0, 0x0, 0x0)
/Users/tnajaryan/.go/go1.17/src/runtime/sys_darwin.go:77 +0x47 fp=0xc0000b9178 sp=0xc0000b9158 pc=0x10a8727
syscall.rawSyscall(0x10ae8a5, 0x0, 0x0, 0x1)
<autogenerated>:1 +0x26 fp=0xc0000b91c0 sp=0xc0000b9178 pc=0x10af346
syscall.forkAndExecInChild(0xc0000e2240, {0xc000122900, 0x5, 0x1}, {0xc0000f46e0, 0x2c, 0x0}, 0x0, 0xc000092780, 0xc0000b94c8, ...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_libc2.go:80 +0xed fp=0xc0000b9250 sp=0xc0000b91c0 pc=0x10be10d
syscall.forkExec({0xc0000e2180, 0x22}, {0xc000090f80, 0x4, 0x4}, 0xc0000b94c8)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:212 +0x5a7 fp=0xc0000b93e8 sp=0xc0000b9250 pc=0x10bf1a7
syscall.StartProcess(...)
/Users/tnajaryan/.go/go1.17/src/syscall/exec_unix.go:264
os.startProcess({0xc0000e2180, 0x22}, {0xc000090f80, 0x4, 0x4}, 0xc0000b9758)
/Users/tnajaryan/.go/go1.17/src/os/exec_posix.go:55 +0x526 fp=0xc0000b9520 sp=0xc0000b93e8 pc=0x10fdaa6
os.StartProcess({0xc0000e2180, 0x22}, {0xc000090f80, 0x4, 0x4}, 0x0)
/Users/tnajaryan/.go/go1.17/src/os/exec.go:109 +0x7a fp=0xc0000b9580 sp=0xc0000b9520 pc=0x10fcf3a
os/exec.(*Cmd).Start(0xc0000f4580)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:422 +0x9d4 fp=0xc0000b97b0 sp=0xc0000b9580 pc=0x1203fb4
os/exec.(*Cmd).Run(0xc0000b9988)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:338 +0x31 fp=0xc0000b97f0 sp=0xc0000b97b0 pc=0x1203571
os/exec.(*Cmd).CombinedOutput(0xc0000f4580)
/Users/tnajaryan/.go/go1.17/src/os/exec/exec.go:567 +0x20a fp=0xc0000b9860 sp=0xc0000b97f0 pc=0x1204eca
go.opentelemetry.io/collector/cmd/builder/internal/builder.GetModules({0xc000206de0, 0x0, {{0x14f2b33, 0x29}, {0x0, 0x0}, {0xc0000e2180, 0x22}, {0x0, 0x0}, ...}, ...})
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/main.go:104 +0x14a fp=0xc0000b9a08 sp=0xc0000b9860 pc=0x145beaa
go.opentelemetry.io/collector/cmd/builder/internal/builder.GenerateAndCompile({0xc000206de0, 0x0, {{0x14f2b33, 0x29}, {0x0, 0x0}, {0xc0000e2180, 0x22}, {0x0, 0x0}, ...}, ...})
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/main.go:41 +0x98 fp=0xc0000b9b58 sp=0xc0000b9a08 pc=0x145afb8
go.opentelemetry.io/collector/cmd/builder/internal/builder.TestGenerateAndCompileDefault(0xc000222680)
/Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/main_test.go:56 +0x125 fp=0xc0000b9e98 sp=0xc0000b9b58 pc=0x145da45
testing.tRunner(0xc000222680, 0x14fe3c0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1259 +0x230 fp=0xc0000b9fb0 sp=0xc0000b9e98 pc=0x1192d10
testing.(*T).Run·dwrap·21()
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x48 fp=0xc0000b9fe0 sp=0xc0000b9fb0 pc=0x11942a8
runtime.goexit()
/Users/tnajaryan/.go/go1.17/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0000b9fe8 sp=0xc0000b9fe0 pc=0x10abc01
created by testing.(*T).Run
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1306 +0x727
goroutine 1 [chan receive]:
testing.(*T).Run(0xc000196680, {0x14ecfea, 0x1d}, 0x14fe3c0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1307 +0x752
testing.runTests.func1(0x0)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1598 +0x9a
testing.tRunner(0xc000196680, 0xc000115bf8)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1259 +0x230
testing.runTests(0xc0001a6180, {0x17bcb60, 0x9, 0x9}, {0x0, 0xc0001a2a40, 0x17c2ca0})
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1596 +0x7cb
testing.(*M).Run(0xc0001a6180)
/Users/tnajaryan/.go/go1.17/src/testing/testing.go:1504 +0x9d2
main.main()
_testmain.go:59 +0x22c
rax 0x0
rbx 0x70000c9fd000
rcx 0x70000c9fcca8
rdx 0x0
rdi 0x303
rsi 0x6
rbp 0x70000c9fccd0
rsp 0x70000c9fcca8
r8 0x1
r9 0x0
r10 0x0
r11 0x246
r12 0x303
r13 0x50
r14 0x6
r15 0x16
rip 0x7ff81e3c200e
rflags 0x246
cs 0x7
fs 0x0
gs 0x0
main_test.go:56:
Error Trace: /Users/tnajaryan/work/repos/opentelemetry-collector/cmd/builder/internal/builder/main_test.go:56
Error: Received unexpected error:
failed to update go.mod: exit status 2. Output: ""
Test: TestGenerateAndCompileDefault
--- FAIL: TestGenerateAndCompileDefault (0.03s)
FAIL
FAIL go.opentelemetry.io/collector/cmd/builder/internal/builder 3.951s
FAIL
make[2]: *** [test] Error 1
@codeboten looks like you wrote the test, so assigning to you.
@tigrannajaryan I'll need some time to look into this, i've tested this on two different machines (with amd64 and arm64) and go 1.17 and 1.18 and haven't been able to trigger the panic (even running with count 5000) 🤔
I get the panic reliably, every time.
Also cannot reproduce. Closing, if anyone else can reproduce please reopen, may have been just a configuration issue on @tigrannajaryan 's machine?
go test -race -run TestNewDefaultConfig -count 10000
PASS
ok go.opentelemetry.io/collector/cmd/builder/internal/builder 3.017s
This is a known issue in go 1.17: golang/go#50073
After updating to go 1.18 I cannot reproduce this anymore, so we are good.