Hi Mark, Am 24.02.2013 13:08, schrieb Mark Cave-Ayland: > Whilst running through some OpenBIOS tests, I came across the following > segfault in qemu-system-ppc with -M mac99 on git master. It is > consistently reproducible here with my test openSUSE image although > strangely all my other images seem to run fine. The host is running > amd64 Debian Wheezy. > > > build@kentang:~/rel-qemu-git/bin$ gdb --args ./qemu-system-ppc -cdrom > /home/build/src/qemu/image/ppc/openSUSE-11.1-NET-ppc.iso -boot d -g > 1024x768x32 -vnc :1 -m 512 -M mac99 > GNU gdb (GDB) 7.4.1-debian > Copyright (C) 2012 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from /home/build/rel-qemu-git/bin/qemu-system-ppc...done. > (gdb) handle SIGUSR1 nostop noprint > Signal Stop Print Pass to program Description > SIGUSR1 No No Yes User defined signal 1 > (gdb) run > Starting program: /home/build/rel-qemu-git/bin/qemu-system-ppc -cdrom > /home/build/src/qemu/image/ppc/openSUSE-11.1-NET-ppc.iso -boot d -g > 1024x768x32 -vnc :1 -m 512 -M mac99 > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > [New Thread 0x7fffdf197700 (LWP 17230)] > [New Thread 0x7fffde996700 (LWP 17231)] > [New Thread 0x7fffbc9e8700 (LWP 17232)] > [Thread 0x7fffdf197700 (LWP 17230) exited] > > Program received signal SIGSEGV, Segmentation fault. > 0x00005555555ef458 in bdrv_co_do_readv (bs=0x0, sector_num=169, > nb_sectors=0, qiov=0x55555661f878, flags=0) at block.c:2240 > 2240 BlockDriver *drv = bs->drv; > (gdb) bt > #0 0x00005555555ef458 in bdrv_co_do_readv (bs=0x0, sector_num=169, > nb_sectors=0, qiov=0x55555661f878, flags=0) at block.c:2240 > #1 0x00005555555f3a28 in bdrv_co_do_rw (opaque=0x555556620030) at > block.c:3837 > #2 0x0000555555631fa4 in coroutine_trampoline (i0=1448744496, i1=21845) > at coroutine-ucontext.c:138 > #3 0x00007ffff508c020 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 > #4 0x00007fffffffb100 in ?? () > #5 0x0000000000000000 in ?? () > (gdb) > > > It seems as if the BlockDriver pointer is coming back as NULL - does > anyone have any ideas as to what could be causing this?
Have you tried a revision before my macio refactoring? It changed which IDE code paths are taken. Cheers, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg