Skip to content

internal assertion failure in sparc64 codegen: translate.c:5695:sparc_tr_insn_start: code should not be reached

Host environment

  • Operating system: NetBSD
  • OS/kernel version: NetBSD 10.99.12 (GENERIC)
  • Architecture: amd64
  • QEMU flavor: qemu-system-sparc64
  • QEMU version: QEMU emulator version 9.2.0
  • QEMU command line:

qemu-system-sparc64 -m 128 -d in_asm -drive file=./netbsd_sparc64.qcow2,if=none,id=hd -drive file=NetBSD-10.99.12-sparc64-dvd.iso,format=raw,if=ide,bus=1,unit=0,media=cdrom,readonly=on -device virtio-blk-pci,bus=pciB,drive=hd

Emulated/Virtualized environment

  • Operating system: NetBSD sparc64
  • OS/kernel version: NetBSD 10.99.12 (GENERIC)
  • Architecture: sparc64

Description of problem

qemu crashes with internal assertion:

ERROR:../target/sparc/translate.c:5695:sparc_tr_insn_start: code should not be reached

Steps to reproduce

  1. boot emulated NetBSD/sparc64 system
  2. cd /usr/tests && atf-run|atf-report

not 100% reproducable, but happens often

Additional information

last output:

IN: 
0x4102ce80:  sethi  %hi(0x29e0000), %g1
0x4102ce84:  b,a   0x40d78220

----------------
IN: 
0x41029fc0:  sethi  %hi(0x1e30000), %g1
0x41029fc4:  b,a   0x40e9ccc0

----------------
IN: 
0x4102b5e0:  sethi  %hi(0x23b8000), %g1
0x4102b5e4:  b,a   0x40e9dc20

----------------
IN: 
0x4102a6e0:  sethi  %hi(0x1ff8000), %g1
0x4102a6e4:  b,a   0x40e9cbc0

----------------
IN: 
0x410230e0:  sethi  %hi(0x278000), %g1
0x410230e4:  b,a   0x40e25d60

----------------
IN: 
0x41026920:  sethi  %hi(0x1088000), %g1
0x41026924:  b,a   0x40d77da0

----------------
IN: 
0x41024140:  sethi  %hi(0x690000), %g1
0x41024144:  b,a   0x40e25f00

----------------
IN: 
0x00245c20:  sethi  %hi(0xc8000), %g1
0x00245c24:  sethi  %hi(0x40d77c00), %g1
0x00245c28:  jmp  %g1 + 0x1a0	! 0x40d77da0
0x00245c2c:  nop 

----------------
IN: 
0x00245ba0:  sethi  %hi(0xa8000), %g1
0x00245ba4:  b,a   %xcc, 0x245920

----------------
IN: 
0x00245ba0:  sethi  %hi(0xa8000), %g1
0x00245ba4:  sethi  %hi(0x40d76c00), %g1
0x00245ba8:  jmp  %g1 + 0x80	! 0x40d76c80
0x00245bac:  nop 

----------------
IN: 
0x00245e60:  sethi  %hi(0x158000), %g1
0x00245e64:  b,a   %xcc, 0x245920

----------------
IN: 
0x00245e60:  sethi  %hi(0x158000), %g1
0x00245e64:  sethi  %hi(0x40d76400), %g1
0x00245e68:  jmp  %g1 + 0x260	! 0x40d76660
0x00245e6c:  nop 

----------------
IN: 
0x002465a0:  sethi  %hi(0x328000), %g1
0x002465a4:  sethi  %hi(0x40d69000), %g1
0x002465a8:  jmp  %g1 + 0x198	! 0x40d69198
0x002465ac:  nop 

**
ERROR:../target/sparc/translate.c:5695:sparc_tr_insn_start: code should not be reached

gdb says:

#0  0x000079343d6ebbfa in _lwp_kill () from /usr/lib/libc.so.12
#1  0x000079343d6f7034 in abort ()
    at /home/martin/current/src/lib/libc/stdlib/abort.c:74
#2  0x000079343e06a03a in g_assertion_message[cold] ()
   from /usr/pkg/lib/libglib-2.0.so.0
#3  0x000079343e03c719 in g_assertion_message_expr ()
   from /usr/pkg/lib/libglib-2.0.so.0
#4  0x0000000000a23345 in sparc_tr_insn_start (dcbase=<optimized out>, 
    cs=<optimized out>) at ../target/sparc/translate.c:5695
#5  0x0000000000aa932f in translator_loop (cpu=cpu@entry=0x7933fac3be40, 
    tb=tb@entry=0x79341ba52840 <code_gen_buffer+549308435>, 
    max_insns=max_insns@entry=0x7933fa5d3d44, pc=pc@entry=1206519, 
    host_pc=host_pc@entry=0x7933f52a58f7, 
    ops=ops@entry=0xfac3c0 <sparc_tr_ops>, db=db@entry=0x7933fa5d3b80)
    at ../accel/tcg/translator.c:152
#6  0x0000000000a368ca in gen_intermediate_code (cs=cs@entry=0x7933fac3be40, 
    tb=tb@entry=0x79341ba52840 <code_gen_buffer+549308435>, 
    max_insns=max_insns@entry=0x7933fa5d3d44, pc=pc@entry=1206519, 
    host_pc=host_pc@entry=0x7933f52a58f7) at ../target/sparc/translate.c:5816
#7  0x0000000000aa7e90 in setjmp_gen_code (env=env@entry=0x7933fac3e5e0, 
    tb=tb@entry=0x79341ba52840 <code_gen_buffer+549308435>, 
    pc=pc@entry=1206519, host_pc=0x7933f52a58f7, 
    max_insns=max_insns@entry=0x7933fa5d3d44, ti=<optimized out>)
    at ../accel/tcg/translate-all.c:278
#8  0x0000000000aa835d in tb_gen_code (cpu=cpu@entry=0x7933fac3be40, 
    pc=pc@entry=1206519, cs_base=cs_base@entry=1206523, flags=2181038080, 
    cflags=cflags@entry=-16777216) at ../accel/tcg/translate-all.c:358
#9  0x0000000000aa135b in cpu_exec_loop (cpu=cpu@entry=0x7933fac3be40, 
    sc=sc@entry=0x7933fa5d3e80) at ../accel/tcg/cpu-exec.c:993
#10 0x0000000000aa1788 in cpu_exec_setjmp (cpu=cpu@entry=0x7933fac3be40, 
    sc=sc@entry=0x7933fa5d3e80) at ../accel/tcg/cpu-exec.c:1039
#11 0x0000000000aa1f8d in cpu_exec (cpu=cpu@entry=0x7933fac3be40)
    at ../accel/tcg/cpu-exec.c:1065
#12 0x0000000000abb53d in tcg_cpu_exec (cpu=cpu@entry=0x7933fac3be40)
    at ../accel/tcg/tcg-accel-ops.c:78
#13 0x0000000000abb6ae in mttcg_cpu_thread_fn (arg=arg@entry=0x7933fac3be40)
    at ../accel/tcg/tcg-accel-ops-mttcg.c:95
#14 0x0000000000c7f750 in qemu_thread_start (args=0x79343aef7520)
    at ../util/qemu-thread-posix.c:541
#15 0x000079343d98c145 in pthread__create_tramp (cookie=0x79343c583000)
    at /home/martin/current/src/lib/libpthread/pthread.c:595
#16 0x000079343d5d1310 in ?? () from /usr/lib/libc.so.12
Edited by Mark Cave-Ayland
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information