Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Apr 2024 14:53:35 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 278290] emulators/qemu-user-static: ruby33 crashes under amd64->arm64 emulation
Message-ID:  <bug-278290-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D278290

            Bug ID: 278290
           Summary: emulators/qemu-user-static: ruby33 crashes under
                    amd64->arm64 emulation
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: emulation@FreeBSD.org
          Reporter: jfc@mit.edu
             Flags: maintainer-feedback?(emulation@FreeBSD.org)
          Assignee: emulation@FreeBSD.org

I have a repeatable crash using qemu emulation to cross compile amd64 to ar=
m64
using poudriere and qemu.  While building rubygem-asciidoctor the emulated
ruby33 and native qemu both dump core.  This is on 15.0-CURRENT running ins=
ide
bhyve.

I have overridden some default versions.

RUBY_DEFAULT=3D3.3
LLVM_DEFAULT=3D18

Host /etc/make.conf sets CPUTYPE?=3Dznver1.  Target poudriere.d/make.conf s=
ets
CPUTYPE?=3Dcortex-a53.

The log says.

=3D> SHA256 Checksum OK for rubygem/asciidoctor-2.0.22.gem.
Unpacked gem:
'/wrkdirs/usr/ports/textproc/rubygem-asciidoctor/work/asciidoctor-2.0.22'
<jemalloc>: jemalloc_rtree.c:205: Failed assertion: "!dependent || leaf !=3D
NULL"
*** Signal 6

There are two core dumps.

# ls -ldh *core
-r--r--r--  1 root 6001  1.0G Apr 10 14:26 qemu-aarch64-static.core
-rw-r--r--  1 root 6001   20K Apr 10 14:26 qemu_ruby33.core
# file *core
qemu-aarch64-static.core: ELF 64-bit LSB core file, x86-64, version 1
(FreeBSD), FreeBSD-style, from '/usr/local/bin/qemu-aarch64-static
/usr/local/bin/ruby33 /usr/local/bin/gem unpa', pid=3D42031
qemu_ruby33.core:         ELF 64-bit LSB core file, ARM aarch64, version 1
(FreeBSD), can't read elf program headers at 20616

The qemu core has no usable symbols and I don't know how to debug the arm64
core on an amd64 host.  I can run again with whatever debugging settings se=
em
useful.

(lldb) bt
* thread #1, name =3D 'qemu-aarch64-static', stop reason =3D signal SIGSEGV
  * frame #0: 0x00000000605f1a4a
qemu-aarch64-static`___lldb_unnamed_symbol12822 + 282
    frame #1: 0x0000000060320db7 qemu-aarch64-static`___lldb_unnamed_symbol=
1691
+ 71
    frame #2: 0x000000006030cef6 qemu-aarch64-static`___lldb_unnamed_symbol=
1329
+ 3734
    frame #3: 0x000000006030f197 qemu-aarch64-static`___lldb_unnamed_symbol=
1365
+ 135
    frame #4: 0x00000000603106b9 qemu-aarch64-static`___lldb_unnamed_symbol=
1372
+ 1481
    frame #5: 0x0000000060308f5d qemu-aarch64-static`___lldb_unnamed_symbol=
1313
+ 157
    frame #6: 0x0000000060309f33 qemu-aarch64-static`___lldb_unnamed_symbol=
1320
+ 2931
    frame #7: 0x0000000060572b48
qemu-aarch64-static`___lldb_unnamed_symbol10704 + 280
    frame #8: 0x000000006029e110 qemu-aarch64-static`___lldb_unnamed_symbol=
1 +
48
(lldb) x/i $pc
x/i $pc
->  0x605f1a4a: f3 48 a5  other       rep    movsq      (%rsi), %es:(%rdi)
(lldb) register read
General Purpose Registers:
       rax =3D 0x0000000880938f90
       rbx =3D 0x0000000000001000
       rcx =3D 0x0000000000000200
       rdx =3D 0x0000000000001000
       rdi =3D 0x0000000880938f90
       rsi =3D 0x00007fffe07c3000
       rbp =3D 0x0000000880938a10
       rsp =3D 0x00000008809389e8
        r8 =3D 0xffff8008a0175f90
        r9 =3D 0x0000000000000000
       r10 =3D 0x0000000000000000
       r11 =3D 0x0000000000000246
       r12 =3D 0x0000000000016000
       r13 =3D 0x0000000880938b08
       r14 =3D 0x00007fffe07c3000
       r15 =3D 0x0000000880938f90
       rip =3D 0x00000000605f1a4a=20
qemu-aarch64-static`___lldb_unnamed_symbol12822 + 282
    rflags =3D 0x0000000000010216
        cs =3D 0x0000000000000043
        fs =3D 0x0013
        gs =3D 0x001b
        ss =3D 0x000000000000003b
        ds =3D 0x003b
        es =3D 0x003b

(lldb) p (char *)$rdi
(char *) 0x0000000880938f90 "\U0000007fELF\U00000002\U00000001\U00000001\t"
(lldb) x/8g $rdi
0x880938f90: 0x09010102464c457f 0x0000000000000000
0x880938fa0: 0x0000000100b70003 0x0000000000000000
0x880938fb0: 0x0000000000000040 0x0000000000001280
0x880938fc0: 0x0038004000000000 0x001a001b0040000a

The memory addressed by $rsi is unreadable, as is the previous page ($rsi -=
 8).

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-278290-7788>