lang/go coredumps on RPI4

Ronald Klop ronald-lists at klop.ws
Thu Apr 29 15:04:04 UTC 2021


Hi maintainer of lang/go and ports ML,

Latest go gives an Illegal Instruction on arm64.
I'm running FreeBSD-14/arm64 on RPI4. Compilation of lang/go goes well. But follow-up ports like grafana7 and mongodb42-tools coredump during compilation.

[00:01:12] ===>  Building mongodump from ./mongodump/main
[00:01:12] go tool compile: signal: illegal instruction (core dumped)
[00:01:12] *** Error code 1
[00:01:12]
[00:01:12] Stop.
[00:01:12] make: stopped in /usr/ports/databases/mongodb42-tools

I tried to get some debug info. I don't know if I got useful information here. I don't use gdb/lldb and go that often.

root at rpi4:/ # /usr/bin/lldb -c var/tmp/65534.compile.0.63376.core /usr/local/go/pkg/tool/freebsd_arm64/compile
(lldb) target create "/usr/local/go/pkg/tool/freebsd_arm64/compile" --core "var/tmp/65534.compile.0.63376.core"
Core file '/var/tmp/65534.compile.0.63376.core' (aarch64) was loaded.

Cannot read termcap database;
using dumb terminal settings.
(lldb) bt
This version of LLDB has no plugin for the go language. Inspection of frame variables will be limited.
* thread #1, name = 'compile', stop reason = signal SIGILL
   * frame #0: 0x0000000000074880 compile`_rt0_arm64_freebsd at rt0_freebsd_arm64.s:9
     frame #1: 0x0000000000074880 compile`runtime.asyncPreempt at preempt_arm64.s:148
(lldb) quit


NB: This compiles fine on the FreeBSD pkg builders. So it might have something todo with ARMv8.1 vs ARMv8.2 instruction set. I'm not familiar with this.
NB2: It also compiles fine in a FreeBSD-12 jail which uses an older clang version.

Regards,

Ronald.



More information about the freebsd-ports mailing list