Crash in contrib/elf2dmp
Host environment
- Operating system: Ubuntu-22.04
- OS/kernel version: Linux version 6.5.0-14-generic
- Architecture: x86_64
- QEMU flavor: contrib/elf2dmp executable
- QEMU version: QEMU emulator version 8.1.50 (v8.1.0-1848-g8b01683e)
- QEMU command line: ./contrib/elf2dmp/elf2dmp ./crash_1 /dev/null
Emulated/Virtualized environment
Not Applicable.
Description of problem
The elf2dmp program crash.
$ ./contrib/elf2dmp/elf2dmp ./crash_1 /dev/null
Using Linux mmap
[1] 994585 segmentation fault ./contrib/elf2dmp/elf2dmp ./crash_1 /dev/null
Steps to reproduce
- build the qemu project following standard steps
- navigate to the
build
directory and run./contrib/elf2dmp/elf2dmp ./crash_1 /dev/null
The crash_1 file.
Additional information
Run in GDB.
$ gdb ./contrib/elf2dmp/elf2dmp
...
(gdb) set args ./crash_1 /dev/null
(gdb) r
Starting program: /data/share/qemu_latest/build/contrib/elf2dmp/elf2dmp ./crash_1 /dev/null
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Using Linux mmap
Program received signal SIGSEGV, Segmentation fault.
init_states (qe=0x7fffffff83f0) at ../contrib/elf2dmp/qemu_elf.c:66
66 Elf64_Nhdr *start = (void *)((uint8_t *)qe->map + phdr[0].p_offset);
(gdb) bt
#0 init_states (qe=0x7fffffff83f0) at ../contrib/elf2dmp/qemu_elf.c:66
#1 QEMU_Elf_init (qe=qe@entry=0x7fffffff83f0, filename=<optimized out>) at ../contrib/elf2dmp/qemu_elf.c:235
#2 0x0000555555555508 in main (argc=<optimized out>, argv=0x7fffffffdb58) at ../contrib/elf2dmp/main.c:538