Crash with UEFI, q35, AHCI, and <= SystemRescueCD 4.3.0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I am getting a crash when booting <= SystemRescueCD 4.3.0 in UEFI mode with q35 machine and from a AHCI device with qemu 2.11.1 and 2.12.0. The crash doesn't occur if I compile with --enable-
OVMF version is from Gentoo: edk2-ovmf-
Here is the commands I have run on qemu 2.12.0 to reproduce the issue although it also crashes with accel=kvm removed:
./configure --target-
make
qemu-system-x86_64 -nodefaults -machine q35,accel=kvm -cpu qemu64 -drive if=pflash,
Valgrind says "Bad permissions for mapped region at address 0x4C022FE0" for the crash.
Here is a backtrace from gdb:
Program received signal SIGSEGV, Segmentation fault.
0x00007f42dcbc5833 in malloc () from /lib64/libc.so.6
(gdb) bt
#0 0x00007f42dcbc5833 in malloc () from /lib64/libc.so.6
#1 0x00007f42e10117d9 in g_malloc () from /usr/lib64/
#2 0x000055a3ff9def8f in qemu_aio_get (aiocb_
#3 0x000055a3ff9e0249 in thread_
opaque=
#4 0x000055a3ff9e0423 in thread_
#5 0x000055a3ff956b50 in paio_submit_co (bs=0x55a400bff180, fd=<optimized out>, offset=362702848, qiov=<optimized out>, bytes=2048, type=1) at block/file-
#6 0x000055a3ff95c82a in bdrv_driver_preadv (bs=bs@
#7 0x000055a3ff960154 in bdrv_aligned_preadv (child=
at block/io.c:1228
#8 0x000055a3ff960434 in bdrv_co_preadv (child=
#9 0x000055a3ff95c82a in bdrv_driver_preadv (bs=bs@
#10 0x000055a3ff960154 in bdrv_aligned_preadv (child=
at block/io.c:1228
#11 0x000055a3ff960434 in bdrv_co_preadv (child=
#12 0x000055a3ff94f4ce in blk_co_preadv (blk=0x55a400bf
#13 0x000055a3ff94f5ac in blk_read_entry (opaque=
#14 0x000055a3ff94e000 in blk_prw (blk=0x55a400bf
#15 0x000055a3ff94f076 in blk_pread (blk=<optimized out>, offset=<optimized out>, buf=<optimized out>, count=count@
#16 0x000055a3ff7d8b93 in cd_read_sector_sync (s=0x55a401a0faa0) at hw/ide/atapi.c:124
#17 ide_atapi_
#18 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#19 0x000055a3ff7d870c in ide_atapi_
#20 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#21 0x000055a3ff7d870c in ide_atapi_
#22 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#23 0x000055a3ff7d870c in ide_atapi_
#24 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#25 0x000055a3ff7d870c in ide_atapi_
#26 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#27 0x000055a3ff7d870c in ide_atapi_
#28 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#29 0x000055a3ff7d870c in ide_atapi_
#30 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#31 0x000055a3ff7d870c in ide_atapi_
#32 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#33 0x000055a3ff7d870c in ide_atapi_
#34 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#35 0x000055a3ff7d870c in ide_atapi_
#36 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#37 0x000055a3ff7d870c in ide_atapi_
#38 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#39 0x000055a3ff7d870c in ide_atapi_
#40 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#41 0x000055a3ff7d870c in ide_atapi_
#42 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#43 0x000055a3ff7d870c in ide_atapi_
#44 0x000055a3ff7dde0e in ahci_start_transfer (dma=0x55a401a0
#45 0x000055a3ff7d870c in ide_atapi_
Changed in qemu: | |
status: | Fix Committed → Fix Released |
Hmm... Is this a stack size protection fault due to the hardening?
We tried to fix the ATAPI recursion depth issue recently, but caused a regression that stops us from booting with SeaBIOS (maybe UEFI too?) and patches are pending to fix this, so sit tight and I'll have a git commit for you to try soon.
--js