Skip to content

cmd/compile: SIGILL when cross-compiling from netbsd/arm64 to linux/mips #52651

@bcmills

Description

@bcmills
            # internal/abi
            SIGILL: illegal instruction
            PC=0x273d40 m=4 sigcode=4
            instruction bytes: 0xa8 0x74 0x41 0x79 0x8 0x1 0x7f 0xb2 0xa8 0x74 0x1 0x79 0xd2 0xf9 0xff 0x17
            
            goroutine 9 [running]:
            cmd/internal/obj/mips.preprocess(0x4000176400, 0x4000443080, 0x40000a81a0)
            	/var/gobuilder/buildlet/go/src/cmd/internal/obj/mips/obj0.go:247 +0x1bd0 fp=0x4000637d50 sp=0x4000637bd0 pc=0x273d40
            cmd/internal/obj.Flushplist(0x4000176400, 0x4000637f28, 0x40000a81a0, {0xffffffffe6e7, 0xc})
            	/var/gobuilder/buildlet/go/src/cmd/internal/obj/plist.go:150 +0x630 fp=0x4000637e80 sp=0x4000637d50 pc=0x135610
            cmd/compile/internal/objw.(*Progs).Flush(...)
            	/var/gobuilder/buildlet/go/src/cmd/compile/internal/objw/prog.go:124
            cmd/compile/internal/ssagen.Compile(0x40003fdb80, 0x778704?)
            	/var/gobuilder/buildlet/go/src/cmd/compile/internal/ssagen/pgen.go:208 +0x574 fp=0x4000637f50 sp=0x4000637e80 pc=0x5d48b4
            cmd/compile/internal/gc.compileFunctions.func4.1(0x0?)
            	/var/gobuilder/buildlet/go/src/cmd/compile/internal/gc/compile.go:153 +0x3c fp=0x4000637f90 sp=0x4000637f50 pc=0x7785cc
            cmd/compile/internal/gc.compileFunctions.func3.1()
            	/var/gobuilder/buildlet/go/src/cmd/compile/internal/gc/compile.go:140 +0x48 fp=0x4000637fd0 sp=0x4000637f90 pc=0x778718
            runtime.goexit()
            	/var/gobuilder/buildlet/go/src/runtime/asm_arm64.s:1155 +0x4 fp=0x4000637fd0 sp=0x4000637fd0 pc=0x74814
            created by cmd/compile/internal/gc.compileFunctions.func3
            	/var/gobuilder/buildlet/go/src/cmd/compile/internal/gc/compile.go:138 +0x7c

greplogs --dashboard -md -l -e \\A.\*-arm\(.\*\\n\)\*\\s\*SIGILL --since=2022-01-01

2022-04-28T18:02:40-c15d0a9/netbsd-arm64-bsiegert

Looks like some kind of memory corruption to me, although at N=1 it isn't clear to me whether this is bug is specific to netbsd or arm64, or even some kind of weird bug in the mips compiler backend. 😅

(CC @golang/netbsd @golang/arm)

Metadata

Metadata

Assignees

No one assigned

    Labels

    NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.OS-NetBSDarch-arm64compiler/runtimeIssues related to the Go compiler and/or runtime.

    Type

    No type

    Projects

    Status

    Triage Backlog

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions