Illegal instruction on new port mongodb49 on arm64

Ronald Klop ronald-lists at klop.ws
Thu Apr 1 08:37:44 UTC 2021


Hi,

I created a new port for mongodb49: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254631
It compiles fine: https://www.klop.ws/mongodb49-4.9.0.r0.log

When I run an application I get "Illegal Instruction" error.

==============================================================
[root at rpi4 /tmp]# lldb /usr/local/bin/mongo
(lldb) target create "/usr/local/bin/mongo"
Current executable set to '/usr/local/bin/mongo' (aarch64).
(lldb) run
Process 55420 launching
Process 55420 launched: '/usr/local/bin/mongo' (aarch64)
Process 55420 stopped
* thread #1, name = 'mongo', stop reason = signal SIGILL: illegal trap
    frame #0: 0x00000000016a320c mongo`___lldb_unnamed_symbol32$$mongo + 1784
mongo`___lldb_unnamed_symbol32$$mongo:
->  0x16a320c <+1784>: ldaddal x9, x8, [x8]
    0x16a3210 <+1788>: ldr    q0, [x11]
    0x16a3214 <+1792>: mov    w10, #0x20
    0x16a3218 <+1796>: strb   wzr, [sp, #0x68]
(lldb) bt
* thread #1, name = 'mongo', stop reason = signal SIGILL: illegal trap
  * frame #0: 0x00000000016a320c mongo`___lldb_unnamed_symbol32$$mongo + 1784
    frame #1: 0x0000000042b29b58
    frame #2: 0x0000000042b289f8

==============================================================
[root at rpi4 /tmp]# /usr/local/bin/mongo
Illegal instruction (core dumped)

[root at rpi4 /tmp]# lldb /usr/local/bin/mongo -c /var/tmp/0.mongo.0.55421.core
(lldb) target create "/usr/local/bin/mongo" --core "/var/tmp/0.mongo.0.55421.core"
Core file '/var/tmp/0.mongo.0.55421.core' (aarch64) was loaded.

(lldb) bt
* thread #1, name = 'mongo', stop reason = signal SIGILL
  * frame #0: 0x00000000016a320c mongo`___lldb_unnamed_symbol32$$mongo + 1784
    frame #1: 0x0000000042b29b58 ld-elf.so.1`objlist_call_init(list=<unavailable>, lockstate=<unavailable>) at rtld.c:2855:7
    frame #2: 0x0000000042b289f8 ld-elf.so.1`_rtld(sp=<unavailable>, exit_proc=<unavailable>, objp=<unavailable>) at rtld.c:828:5
    frame #3: 0x0000000042b264d8 ld-elf.so.1`.rtld_start at rtld_start.S:41

==============================================================

NB: The default of the port uses LTO. I disabled it on my build system because of lack of memory.

Can anybody help me with this?

It would be interesting to know if this also happens on amd64.

Regards,
Ronald.
 


More information about the freebsd-ports mailing list