qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Strange qdev related crash (m48t59 ISA qdev conversion)


From: Blue Swirl
Subject: [Qemu-devel] Strange qdev related crash (m48t59 ISA qdev conversion)
Date: Sun, 13 Sep 2009 11:30:47 +0300

Hi,

I get a strange crash when trying to add an ISA bus version of m48t59:
gdb --args ./obj-amd64/sparc-softmmu/qemu-system-sparc -L pc-bios
GNU gdb 6.8-debian
Copyright (C) 2008 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"...
(gdb) r
[Thread debugging using libthread_db enabled]
[New Thread 0x7fbc7a7b9700 (LWP 10616)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fbc7a7b9700 (LWP 10616)]
0x000000000047c1ac in qdev_create (bus=0xf3b770, name=0x578e80 "m48t59")
    at /src/qemu/hw/qdev.c:102
102         qdev_prop_set_defaults(dev, dev->parent_bus->info->props);
(gdb) p dev->parent_bus
$1 = (BusState *) 0xffffffff00000000
(gdb) p bus
$2 = (BusState *) 0x26da770
(gdb) l
97
98          dev = qemu_mallocz(info->size);
99          dev->info = info;
100         dev->parent_bus = bus;
101         qdev_prop_set_defaults(dev, dev->info->props);
102         qdev_prop_set_defaults(dev, dev->parent_bus->info->props);
103         qdev_prop_set_compat(dev);
104         QLIST_INSERT_HEAD(&bus->children, dev, sibling);
105         return dev;
106     }

Line 100 should make sure that dev->parent_bus is OK. Note that the
patch should not affect the SysBus version used by Sparc32 very much.
Recompiling qdev.c with CFLAGS=-g does not change anything.

Attachment: 0001-Add-an-ISA-bus-version-of-m48t59.patch
Description: application/mbox


reply via email to

[Prev in Thread] Current Thread [Next in Thread]