-
Notifications
You must be signed in to change notification settings - Fork 912
Open
Labels
Description
Describe the Bug
When running asdf plugin add [[PACKAGE NAME]], in a x64 container on a Fedora 42 ARM VM hosted on a MacOS M3 host, Golang returns a segmentation failure. We attempted with a handful of packages an all return similar error messages.
Steps to Reproduce
x64 container running in a ARM guest VM on a ARM physical host
asdf plugin maven
Expected Behaviour
Plugin is added to plugin list.
Actual Behaviour
Attempted with maven, argo, chromedriver, and via asdf plugin add sonarscanner https://github.com/virtualstaticvoid/asdf-sonarscanner.git (so we know it is not only an problem with non-url based plugins actios).
$ asdf plugin add maven
SIGSEGV: segmentation violation
PC=0x43430e m=2 sigcode=1 addr=0xffffffff980cf060
goroutine 0 gp=0xc0000068c0 m=2 mp=0xc000048708 [idle]:
runtime.netpoll(0xc00002e000?)
/usr/local/go/src/runtime/netpoll_epoll.go:166 +0x24e fp=0xc000063db8 sp=0xc000063730 pc=0x43430e
runtime.findRunnable()
/usr/local/go/src/runtime/proc.go:3580 +0x8c5 fp=0xc000063f30 sp=0xc000063db8 pc=0x4409e5
runtime.schedule()
/usr/local/go/src/runtime/proc.go:3995 +0xb1 fp=0xc000063f68 sp=0xc000063f30 pc=0x441f51
runtime.park_m(0xc000007340)
/usr/local/go/src/runtime/proc.go:4102 +0x1eb fp=0xc000063fc0 sp=0xc000063f68 pc=0x44236b
runtime.mcall()
/usr/local/go/src/runtime/asm_amd64.s:459 +0x4e fp=0xc000063fd8 sp=0xc000063fc0 pc=0x473aae
goroutine 1 gp=0xc0000061c0 m=nil [runnable]:
runtime.asyncPreempt2()
/usr/local/go/src/runtime/preempt.go:308 +0x39 fp=0xc0001cc5e8 sp=0xc0001cc5c8 pc=0x439319
runtime.asyncPreempt()
/usr/local/go/src/runtime/preempt_amd64.s:53 +0xdb fp=0xc0001cc770 sp=0xc0001cc5e8 pc=0x476e9b
os/exec.(*Cmd).Wait(0xc000002300)
/usr/local/go/src/os/exec/exec.go:924 +0x157 fp=0xc0001cc7d0 sp=0xc0001cc770 pc=0x553ef7
os/exec.(*Cmd).Run(0xc000002300)
/usr/local/go/src/os/exec/exec.go:610 +0x2d fp=0xc0001cc7e8 sp=0xc0001cc7d0 pc=0x552a6d
github.com/asdf-vm/asdf/internal/execute.Command.Run({{0x61e7a6, 0x3}, {0x0, 0x0}, {0xc00018c1a0, 0x4, 0x4}, {0x0, 0x0}, {0x67c018, ...}, ...})
/github/workspace/internal/execute/execute.go:63 +0x2cf fp=0xc0001cc878 sp=0xc0001cc7e8 pc=0x556f6f
github.com/asdf-vm/asdf/internal/git.exec({0xc00018c190?, 0x18?, 0xc00018ab20?})
/github/workspace/internal/git/git.go:171 +0x158 fp=0xc0001cc9e8 sp=0xc0001cc878 pc=0x558798
github.com/asdf-vm/asdf/internal/git.repositoryExists({0xc000018138, 0x18})
/github/workspace/internal/git/git.go:185 +0xe7 fp=0xc0001cca10 sp=0xc0001cc9e8 pc=0x558927
github.com/asdf-vm/asdf/internal/git.Repo.Head({{0xc000018138?, 0x44b8a9?}, {0x0?, 0x9a065608?}})
/github/workspace/internal/git/git.go:60 +0x2b fp=0xc0001cca58 sp=0xc0001cca10 pc=0x5577cb
github.com/asdf-vm/asdf/internal/git.Repo.Update({{0xc000018138?, 0x6292ef?}, {0x0?, 0xc0001bec38?}}, {0x0, 0x0})
/github/workspace/internal/git/git.go:94 +0x5f fp=0xc0001ccbd0 sp=0xc0001cca58 pc=0x557b1f
github.com/asdf-vm/asdf/internal/git.(*Repo).Update(0x1?, {0x0?, 0x18?})
<autogenerated>:1 +0x48 fp=0xc0001ccc10 sp=0xc0001ccbd0 pc=0x558bc8
github.com/asdf-vm/asdf/internal/pluginindex.PluginIndex.doUpdate({{0x67d630, 0xc00018aae0}, {0xc000018138, 0x18}, {0x62ba93, 0x2b}, 0x0, 0x3c})
/github/workspace/internal/pluginindex/pluginindex.go:107 +0x51 fp=0xc0001ccc58 sp=0xc0001ccc10 pc=0x5594f1
github.com/asdf-vm/asdf/internal/pluginindex.PluginIndex.Refresh({{0x67d630, 0xc00018aae0}, {0xc000018138, 0x18}, {0x62ba93, 0x2b}, 0x0, 0x3c})
/github/workspace/internal/pluginindex/pluginindex.go:91 +0x1d1 fp=0xc0001cccb8 sp=0xc0001ccc58 pc=0x559411
github.com/asdf-vm/asdf/internal/pluginindex.PluginIndex.GetPluginSourceURL({{0x67d630, 0xc00018aae0}, {0xc000018138, 0x18}, {0x62ba93, 0x2b}, 0x0, 0x3c}, {0xffff993ef68d, 0x5})
/github/workspace/internal/pluginindex/pluginindex.go:119 +0x68 fp=0xc0001ccd08 sp=0xc0001cccb8 pc=0x559628
github.com/asdf-vm/asdf/internal/plugins.Add({{0xc000012035, 0x5}, {0xc000012670, 0xd}, {0x621030, 0xe}, {0xc000012640, 0xb}, {0x0, 0x0, ...}, ...}, ...)
/github/workspace/internal/plugins/plugins.go:396 +0x2f7 fp=0xc0001ccf68 sp=0xc0001ccd08 pc=0x55ca97
github.com/asdf-vm/asdf/internal/cli.pluginAddCommand(0x5d131b?, {{0xc000012035, 0x5}, {0xc000012670, 0xd}, {0x621030, 0xe}, {0xc000012640, 0xb}, {0x0, ...}, ...}, ...)
/github/workspace/internal/cli/cli.go:721 +0xab fp=0xc0001cd090 sp=0xc0001ccf68 pc=0x5bb22b
github.com/asdf-vm/asdf/internal/cli.Execute.func12({0xc0001a0288?, 0x67d518?}, 0xc0001a0288)
/github/workspace/internal/cli/cli.go:195 +0x23e fp=0xc0001cd2f8 sp=0xc0001cd090 pc=0x5b5e3e
github.com/urfave/cli/v3.(*Command).run(0xc0001a0288, {0x67d518, 0xc00002f9e0}, {0xc00018a840, 0x2, 0x2})
/go/pkg/mod/github.com/urfave/cli/v3@v3.3.3/command_run.go:336 +0x2674 fp=0xc0001cd6b8 sp=0xc0001cd2f8 pc=0x59da54
github.com/urfave/cli/v3.(*Command).run(0xc0001a0008, {0x67d518, 0xc00002f8c0}, {0xc00002f7d0, 0x3, 0x3})
/go/pkg/mod/github.com/urfave/cli/v3@v3.3.3/command_run.go:274 +0x1ee5 fp=0xc0001cda78 sp=0xc0001cd6b8 pc=0x59d2c5
github.com/urfave/cli/v3.(*Command).run(0xc00019e008, {0x67d518, 0xc00002e840}, {0xc000014100, 0x4, 0x4})
/go/pkg/mod/github.com/urfave/cli/v3@v3.3.3/command_run.go:274 +0x1ee5 fp=0xc0001cde38 sp=0xc0001cda78 pc=0x59d2c5
github.com/urfave/cli/v3.(*Command).Run(...)
/go/pkg/mod/github.com/urfave/cli/v3@v3.3.3/command_run.go:94
github.com/asdf-vm/asdf/internal/cli.Execute({0xc000194040, 0x1a})
/github/workspace/internal/cli/cli.go:347 +0x1950 fp=0xc0001cdf30 sp=0xc0001cde38 pc=0x5b5410
main.main()
/github/workspace/cmd/asdf/main.go:18 +0x2a fp=0xc0001cdf50 sp=0xc0001cdf30 pc=0x5c5c6a
runtime.main()
/usr/local/go/src/runtime/proc.go:272 +0x28b fp=0xc0001cdfe0 sp=0xc0001cdf50 pc=0x43a78b
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0001cdfe8 sp=0xc0001cdfe0 pc=0x475961
goroutine 17 gp=0xc000084380 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc00003e7a8 sp=0xc00003e788 pc=0x46e1ee
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:430
runtime.forcegchelper()
/usr/local/go/src/runtime/proc.go:337 +0xb3 fp=0xc00003e7e0 sp=0xc00003e7a8 pc=0x43aad3
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc00003e7e8 sp=0xc00003e7e0 pc=0x475961
created by runtime.init.7 in goroutine 1
/usr/local/go/src/runtime/proc.go:325 +0x1a
goroutine 18 gp=0xc000084540 m=nil [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc00003ef80 sp=0xc00003ef60 pc=0x46e1ee
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:430
runtime.bgsweep(0xc00009a000)
/usr/local/go/src/runtime/mgcsweep.go:277 +0x94 fp=0xc00003efc8 sp=0xc00003ef80 pc=0x425834
runtime.gcenable.gowrap1()
/usr/local/go/src/runtime/mgc.go:204 +0x25 fp=0xc00003efe0 sp=0xc00003efc8 pc=0x419f45
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc00003efe8 sp=0xc00003efe0 pc=0x475961
created by runtime.gcenable in goroutine 1
/usr/local/go/src/runtime/mgc.go:204 +0x66
goroutine 19 gp=0xc000084700 m=nil [GC scavenge wait]:
runtime.gopark(0xc00009a000?, 0x679560?, 0x1?, 0x0?, 0xc000084700?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc00003f778 sp=0xc00003f758 pc=0x46e1ee
runtime.goparkunlock(...)
/usr/local/go/src/runtime/proc.go:430
runtime.(*scavengerState).park(0x7def80)
/usr/local/go/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc00003f7a8 sp=0xc00003f778 pc=0x423269
runtime.bgscavenge(0xc00009a000)
/usr/local/go/src/runtime/mgcscavenge.go:653 +0x3c fp=0xc00003f7c8 sp=0xc00003f7a8 pc=0x4237dc
runtime.gcenable.gowrap2()
/usr/local/go/src/runtime/mgc.go:205 +0x25 fp=0xc00003f7e0 sp=0xc00003f7c8 pc=0x419ee5
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc00003f7e8 sp=0xc00003f7e0 pc=0x475961
created by runtime.gcenable in goroutine 1
/usr/local/go/src/runtime/mgc.go:205 +0xa5
goroutine 2 gp=0xc000006e00 m=nil [finalizer wait]:
runtime.gopark(0x0?, 0xffff980317c8?, 0x15?, 0x0?, 0xc0000426d8?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000042620 sp=0xc000042600 pc=0x46e1ee
runtime.runfinq()
/usr/local/go/src/runtime/mfinal.go:193 +0x107 fp=0xc0000427e0 sp=0xc000042620 pc=0x418fc7
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0000427e8 sp=0xc0000427e0 pc=0x475961
created by runtime.createfing in goroutine 1
/usr/local/go/src/runtime/mfinal.go:163 +0x3d
goroutine 3 gp=0xc000006fc0 m=nil [chan receive]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000042f18 sp=0xc000042ef8 pc=0x46e1ee
runtime.chanrecv(0xc000020150, 0x0, 0x1)
/usr/local/go/src/runtime/chan.go:639 +0x41c fp=0xc000042f90 sp=0xc000042f18 pc=0x409c5c
runtime.chanrecv1(0x0?, 0x0?)
/usr/local/go/src/runtime/chan.go:489 +0x12 fp=0xc000042fb8 sp=0xc000042f90 pc=0x409832
runtime.unique_runtime_registerUniqueMapCleanup.func1(...)
/usr/local/go/src/runtime/mgc.go:1781
runtime.unique_runtime_registerUniqueMapCleanup.gowrap1()
/usr/local/go/src/runtime/mgc.go:1784 +0x2f fp=0xc000042fe0 sp=0xc000042fb8 pc=0x41cf6f
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000042fe8 sp=0xc000042fe0 pc=0x475961
created by unique.runtime_registerUniqueMapCleanup in goroutine 1
/usr/local/go/src/runtime/mgc.go:1779 +0x96
goroutine 4 gp=0xc000007180 m=nil [IO wait]:
runtime.gopark(0x4326ca?, 0x21260?, 0x12?, 0x3b?, 0xb?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc0000433f8 sp=0xc0000433d8 pc=0x46e1ee
runtime.netpollblock(0x4c41f8?, 0x407e66?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:575 +0xf7 fp=0xc000043430 sp=0xc0000433f8 pc=0x433757
internal/poll.runtime_pollWait(0xffff980cf050, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85 fp=0xc000043450 sp=0xc000043430 pc=0x46d4e5
internal/poll.(*pollDesc).wait(0xc0000762a0?, 0xc000118000?, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc000043478 sp=0xc000043450 pc=0x4e2f47
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0000762a0, {0xc000118000, 0x8000, 0x8000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x27a fp=0xc000043510 sp=0xc000043478 pc=0x4e423a
os.(*File).read(...)
/usr/local/go/src/os/file_posix.go:29
os.(*File).Read(0xc000046530, {0xc000118000?, 0x5dc680?, 0x5f0901?})
/usr/local/go/src/os/file.go:124 +0x52 fp=0xc000043550 sp=0xc000043510 pc=0x4ef7d2
os.(*fileWithoutWriteTo).Read(0x7d4b10?, {0xc000118000?, 0x46c71f?, 0xc000116000?})
<autogenerated>:1 +0x25 fp=0xc000043580 sp=0xc000043550 pc=0x4f7985
io.copyBuffer({0x67c018, 0xc00018ab40}, {0x67c220, 0xc000116000}, {0x0, 0x0, 0x0})
/usr/local/go/src/io/io.go:429 +0x191 fp=0xc0000435f8 sp=0xc000043580 pc=0x4b8f51
io.Copy(...)
/usr/local/go/src/io/io.go:388
os.genericWriteTo(0xc000046530?, {0x67c018, 0xc00018ab40})
/usr/local/go/src/os/file.go:275 +0x4f fp=0xc000043648 sp=0xc0000435f8 pc=0x4f010f
os.(*File).WriteTo(0xc000046530, {0x67c018, 0xc00018ab40})
/usr/local/go/src/os/file.go:253 +0x9c fp=0xc000043688 sp=0xc000043648 pc=0x4f003c
io.copyBuffer({0x67c018, 0xc00018ab40}, {0x67bf58, 0xc000046530}, {0x0, 0x0, 0x0})
/usr/local/go/src/io/io.go:411 +0x9d fp=0xc000043700 sp=0xc000043688 pc=0x4b8e5d
io.Copy(...)
/usr/local/go/src/io/io.go:388
os/exec.(*Cmd).writerDescriptor.func1()
/usr/local/go/src/os/exec/exec.go:580 +0x34 fp=0xc000043760 sp=0xc000043700 pc=0x5529f4
os/exec.(*Cmd).Start.func2(0x0?)
/usr/local/go/src/os/exec/exec.go:733 +0x2c fp=0xc0000437c8 sp=0xc000043760 pc=0x55366c
os/exec.(*Cmd).Start.gowrap1()
/usr/local/go/src/os/exec/exec.go:745 +0x24 fp=0xc0000437e0 sp=0xc0000437c8 pc=0x553604
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0000437e8 sp=0xc0000437e0 pc=0x475961
created by os/exec.(*Cmd).Start in goroutine 1
/usr/local/go/src/os/exec/exec.go:732 +0x98b
goroutine 5 gp=0xc000007340 m=nil [IO wait]:
runtime.gopark(0x4326ca?, 0x176c0?, 0x12?, 0x3b?, 0xb?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000043bf8 sp=0xc000043bd8 pc=0x46e1ee
runtime.netpollblock(0x4c41f8?, 0x407e66?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:575 +0xf7 fp=0xc000043c30 sp=0xc000043bf8 pc=0x433757
internal/poll.runtime_pollWait(0xffff980cee20, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85 fp=0xc000043c50 sp=0xc000043c30 pc=0x46d4e5
internal/poll.(*pollDesc).wait(0xc000076360?, 0xc0000a4000?, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc000043c78 sp=0xc000043c50 pc=0x4e2f47
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc000076360, {0xc0000a4000, 0x8000, 0x8000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x27a fp=0xc000043d10 sp=0xc000043c78 pc=0x4e423a
os.(*File).read(...)
/usr/local/go/src/os/file_posix.go:29
os.(*File).Read(0xc000046548, {0xc0000a4000?, 0x5dc680?, 0x5f0901?})
/usr/local/go/src/os/file.go:124 +0x52 fp=0xc000043d50 sp=0xc000043d10 pc=0x4ef7d2
os.(*fileWithoutWriteTo).Read(0x7d4b10?, {0xc0000a4000?, 0x46c71f?, 0xc0000a2000?})
<autogenerated>:1 +0x25 fp=0xc000043d80 sp=0xc000043d50 pc=0x4f7985
io.copyBuffer({0x67c018, 0xc00018ab60}, {0x67c220, 0xc0000a2000}, {0x0, 0x0, 0x0})
/usr/local/go/src/io/io.go:429 +0x191 fp=0xc000043df8 sp=0xc000043d80 pc=0x4b8f51
io.Copy(...)
/usr/local/go/src/io/io.go:388
os.genericWriteTo(0xc000046548?, {0x67c018, 0xc00018ab60})
/usr/local/go/src/os/file.go:275 +0x4f fp=0xc000043e48 sp=0xc000043df8 pc=0x4f010f
os.(*File).WriteTo(0xc000046548, {0x67c018, 0xc00018ab60})
/usr/local/go/src/os/file.go:253 +0x9c fp=0xc000043e88 sp=0xc000043e48 pc=0x4f003c
io.copyBuffer({0x67c018, 0xc00018ab60}, {0x67bf58, 0xc000046548}, {0x0, 0x0, 0x0})
/usr/local/go/src/io/io.go:411 +0x9d fp=0xc000043f00 sp=0xc000043e88 pc=0x4b8e5d
io.Copy(...)
/usr/local/go/src/io/io.go:388
os/exec.(*Cmd).writerDescriptor.func1()
/usr/local/go/src/os/exec/exec.go:580 +0x34 fp=0xc000043f60 sp=0xc000043f00 pc=0x5529f4
os/exec.(*Cmd).Start.func2(0x0?)
/usr/local/go/src/os/exec/exec.go:733 +0x2c fp=0xc000043fc8 sp=0xc000043f60 pc=0x55366c
os/exec.(*Cmd).Start.gowrap1()
/usr/local/go/src/os/exec/exec.go:745 +0x24 fp=0xc000043fe0 sp=0xc000043fc8 pc=0x553604
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000043fe8 sp=0xc000043fe0 pc=0x475961
created by os/exec.(*Cmd).Start in goroutine 1
/usr/local/go/src/os/exec/exec.go:732 +0x98b
rax 0x1
rbx 0x0
rcx 0x0
rdx 0xffffffffffffffff
rdi 0x7feb00
rsi 0xffffffff980cf050
rbp 0xc000063da8
rsp 0xc000063730
r8 0x72
r9 0x72
r10 0x2
r11 0x0
r12 0xc0000637b0
r13 0x1
r14 0xc0000068c0
r15 0x1
rip 0x43430e
rflags 0x202
cs 0x33
fs 0x0
gs 0x0Environment
Fedora 42 x64 container on a Fedora 42 ARM OS on a MacOs M3 hostasdf plugins affected (if relevant)
All tested:
- argo
- maven
- sonarscanner
- opentofu
- syft
- tflint