* [Qemu-devel] PPC* and Sparc32 crash
@ 2011-08-23 17:55 Blue Swirl
2011-08-23 17:59 ` Peter Maydell
2011-08-24 9:41 ` Avi Kivity
0 siblings, 2 replies; 23+ messages in thread
From: Blue Swirl @ 2011-08-23 17:55 UTC (permalink / raw)
To: Avi Kivity, qemu-devel
qemu-system-ppc: /src/qemu/memory.c:1183:
memory_region_add_subregion_common: Assertion `!subregion->parent'
failed.
Aborted
qemu-system-ppc64: /src/qemu/memory.c:1183:
memory_region_add_subregion_common: Assertion `!subregion->parent'
failed.
Aborted
qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
sysbus_register_withprop: Assertion `info->qdev.size >=
sizeof(SysBusDevice)' failed.
Aborted
This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
seem to work.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-23 17:55 [Qemu-devel] PPC* and Sparc32 crash Blue Swirl
@ 2011-08-23 17:59 ` Peter Maydell
2011-08-23 19:19 ` Edgar E. Iglesias
2011-08-24 17:54 ` [Qemu-devel] PPC* and Sparc32 crash Blue Swirl
2011-08-24 9:41 ` Avi Kivity
1 sibling, 2 replies; 23+ messages in thread
From: Peter Maydell @ 2011-08-23 17:59 UTC (permalink / raw)
To: Blue Swirl; +Cc: Avi Kivity, qemu-devel
On 23 August 2011 18:55, Blue Swirl <blauwirbel@gmail.com> wrote:
> qemu-system-ppc: /src/qemu/memory.c:1183:
> memory_region_add_subregion_common: Assertion `!subregion->parent'
> failed.
> Aborted
> qemu-system-ppc64: /src/qemu/memory.c:1183:
> memory_region_add_subregion_common: Assertion `!subregion->parent'
> failed.
> Aborted
> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> sysbus_register_withprop: Assertion `info->qdev.size >=
> sizeof(SysBusDevice)' failed.
> Aborted
>
> This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
> seem to work.
n810 is also broken with a similar assertion to ppc, which I have a
patch in progress to fix.
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-23 17:59 ` Peter Maydell
@ 2011-08-23 19:19 ` Edgar E. Iglesias
2011-08-24 17:49 ` Blue Swirl
2011-08-24 17:54 ` [Qemu-devel] PPC* and Sparc32 crash Blue Swirl
1 sibling, 1 reply; 23+ messages in thread
From: Edgar E. Iglesias @ 2011-08-23 19:19 UTC (permalink / raw)
To: Peter Maydell; +Cc: Blue Swirl, Avi Kivity, qemu-devel
On Tue, Aug 23, 2011 at 06:59:01PM +0100, Peter Maydell wrote:
> On 23 August 2011 18:55, Blue Swirl <blauwirbel@gmail.com> wrote:
> > qemu-system-ppc: /src/qemu/memory.c:1183:
> > memory_region_add_subregion_common: Assertion `!subregion->parent'
> > failed.
> > Aborted
> > qemu-system-ppc64: /src/qemu/memory.c:1183:
> > memory_region_add_subregion_common: Assertion `!subregion->parent'
> > failed.
> > Aborted
> > qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> > sysbus_register_withprop: Assertion `info->qdev.size >=
> > sizeof(SysBusDevice)' failed.
> > Aborted
> >
> > This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
> > seem to work.
>
> n810 is also broken with a similar assertion to ppc, which I have a
> patch in progress to fix.
MIPS malta is broken in the same way.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-23 17:55 [Qemu-devel] PPC* and Sparc32 crash Blue Swirl
2011-08-23 17:59 ` Peter Maydell
@ 2011-08-24 9:41 ` Avi Kivity
2011-08-24 17:48 ` Blue Swirl
1 sibling, 1 reply; 23+ messages in thread
From: Avi Kivity @ 2011-08-24 9:41 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On 08/23/2011 08:55 PM, Blue Swirl wrote:
> qemu-system-ppc: /src/qemu/memory.c:1183:
> memory_region_add_subregion_common: Assertion `!subregion->parent'
> failed.
> Aborted
> qemu-system-ppc64: /src/qemu/memory.c:1183:
> memory_region_add_subregion_common: Assertion `!subregion->parent'
> failed.
> Aborted
> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> sysbus_register_withprop: Assertion `info->qdev.size>=
> sizeof(SysBusDevice)' failed.
> Aborted
>
> This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
> seem to work.
Please provide disk images and command line options, and I will investigate.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 9:41 ` Avi Kivity
@ 2011-08-24 17:48 ` Blue Swirl
2011-08-24 18:20 ` Avi Kivity
` (2 more replies)
0 siblings, 3 replies; 23+ messages in thread
From: Blue Swirl @ 2011-08-24 17:48 UTC (permalink / raw)
To: Avi Kivity; +Cc: qemu-devel
On Wed, Aug 24, 2011 at 9:41 AM, Avi Kivity <avi@redhat.com> wrote:
> On 08/23/2011 08:55 PM, Blue Swirl wrote:
>>
>> qemu-system-ppc: /src/qemu/memory.c:1183:
>> memory_region_add_subregion_common: Assertion `!subregion->parent'
>> failed.
>> Aborted
>> qemu-system-ppc64: /src/qemu/memory.c:1183:
>> memory_region_add_subregion_common: Assertion `!subregion->parent'
>> failed.
>> Aborted
>> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
>> sysbus_register_withprop: Assertion `info->qdev.size>=
>> sizeof(SysBusDevice)' failed.
>> Aborted
>>
>> This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
>> seem to work.
>
> Please provide disk images and command line options, and I will investigate.
Most legitimate command lines even without any images will do:
$ ./obj-amd64/ppc-softmmu/qemu-system-ppc
qemu-system-ppc: /src/qemu/memory.c:1183:
memory_region_add_subregion_common: Assertion `!subregion->parent'
failed.
Aborted
$ ./obj-amd64/ppc64-softmmu/qemu-system-ppc64
qemu-system-ppc64: /src/qemu/memory.c:1183:
memory_region_add_subregion_common: Assertion `!subregion->parent'
failed.
Aborted
$ ./obj-amd64/sparc-softmmu/qemu-system-sparc
qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
sysbus_register_withprop: Assertion `info->qdev.size >=
sizeof(SysBusDevice)' failed.
Aborted
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-23 19:19 ` Edgar E. Iglesias
@ 2011-08-24 17:49 ` Blue Swirl
2011-08-24 18:14 ` Edgar E. Iglesias
2011-08-24 18:16 ` Edgar E. Iglesias
0 siblings, 2 replies; 23+ messages in thread
From: Blue Swirl @ 2011-08-24 17:49 UTC (permalink / raw)
To: Edgar E. Iglesias; +Cc: Peter Maydell, Avi Kivity, qemu-devel
On Tue, Aug 23, 2011 at 7:19 PM, Edgar E. Iglesias
<edgar.iglesias@gmail.com> wrote:
> On Tue, Aug 23, 2011 at 06:59:01PM +0100, Peter Maydell wrote:
>> On 23 August 2011 18:55, Blue Swirl <blauwirbel@gmail.com> wrote:
>> > qemu-system-ppc: /src/qemu/memory.c:1183:
>> > memory_region_add_subregion_common: Assertion `!subregion->parent'
>> > failed.
>> > Aborted
>> > qemu-system-ppc64: /src/qemu/memory.c:1183:
>> > memory_region_add_subregion_common: Assertion `!subregion->parent'
>> > failed.
>> > Aborted
>> > qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
>> > sysbus_register_withprop: Assertion `info->qdev.size >=
>> > sizeof(SysBusDevice)' failed.
>> > Aborted
>> >
>> > This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
>> > seem to work.
>>
>> n810 is also broken with a similar assertion to ppc, which I have a
>> patch in progress to fix.
>
> MIPS malta is broken in the same way.
Doesn't crash with these command lines:
$ ./obj-amd64/mips-softmmu/qemu-system-mips -bios /dev/null -machine malta
$ ./obj-amd64/mipsel-softmmu/qemu-system-mipsel -bios /dev/null -machine malta
$ ./obj-amd64/mips64el-softmmu/qemu-system-mips64el -bios /dev/null
-machine malta
$ ./obj-amd64/mips64-softmmu/qemu-system-mips64 -bios /dev/null -machine malta
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-23 17:59 ` Peter Maydell
2011-08-23 19:19 ` Edgar E. Iglesias
@ 2011-08-24 17:54 ` Blue Swirl
2011-08-24 18:05 ` Peter Maydell
1 sibling, 1 reply; 23+ messages in thread
From: Blue Swirl @ 2011-08-24 17:54 UTC (permalink / raw)
To: Peter Maydell; +Cc: Avi Kivity, qemu-devel
On Tue, Aug 23, 2011 at 5:59 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 23 August 2011 18:55, Blue Swirl <blauwirbel@gmail.com> wrote:
>> qemu-system-ppc: /src/qemu/memory.c:1183:
>> memory_region_add_subregion_common: Assertion `!subregion->parent'
>> failed.
>> Aborted
>> qemu-system-ppc64: /src/qemu/memory.c:1183:
>> memory_region_add_subregion_common: Assertion `!subregion->parent'
>> failed.
>> Aborted
>> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
>> sysbus_register_withprop: Assertion `info->qdev.size >=
>> sizeof(SysBusDevice)' failed.
>> Aborted
>>
>> This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
>> seem to work.
>
> n810 is also broken with a similar assertion to ppc, which I have a
> patch in progress to fix.
Confirmed:
$ ./obj-amd64/arm-softmmu/qemu-system-arm -machine n810
mipid_reset: Display off
qemu-system-arm: /src/qemu/memory.c:1183:
memory_region_add_subregion_common: Assertion `!subregion->parent'
failed.
Aborted
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 17:54 ` [Qemu-devel] PPC* and Sparc32 crash Blue Swirl
@ 2011-08-24 18:05 ` Peter Maydell
0 siblings, 0 replies; 23+ messages in thread
From: Peter Maydell @ 2011-08-24 18:05 UTC (permalink / raw)
To: Blue Swirl; +Cc: Avi Kivity, qemu-devel
On 24 August 2011 18:54, Blue Swirl <blauwirbel@gmail.com> wrote:
> On Tue, Aug 23, 2011 at 5:59 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
>> n810 is also broken with a similar assertion to ppc, which I have a
>> patch in progress to fix.
>
> Confirmed:
> $ ./obj-amd64/arm-softmmu/qemu-system-arm -machine n810
> mipid_reset: Display off
> qemu-system-arm: /src/qemu/memory.c:1183:
> memory_region_add_subregion_common: Assertion `!subregion->parent'
> failed.
> Aborted
This should be fixed by commit 710ffe604 now in master, though,
I think?
-- PMM
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 17:49 ` Blue Swirl
@ 2011-08-24 18:14 ` Edgar E. Iglesias
2011-08-24 18:16 ` Edgar E. Iglesias
1 sibling, 0 replies; 23+ messages in thread
From: Edgar E. Iglesias @ 2011-08-24 18:14 UTC (permalink / raw)
To: Blue Swirl; +Cc: Peter Maydell, Avi Kivity, qemu-devel
On Wed, Aug 24, 2011 at 05:49:42PM +0000, Blue Swirl wrote:
> On Tue, Aug 23, 2011 at 7:19 PM, Edgar E. Iglesias
> <edgar.iglesias@gmail.com> wrote:
> > On Tue, Aug 23, 2011 at 06:59:01PM +0100, Peter Maydell wrote:
> >> On 23 August 2011 18:55, Blue Swirl <blauwirbel@gmail.com> wrote:
> >> > qemu-system-ppc: /src/qemu/memory.c:1183:
> >> > memory_region_add_subregion_common: Assertion `!subregion->parent'
> >> > failed.
> >> > Aborted
> >> > qemu-system-ppc64: /src/qemu/memory.c:1183:
> >> > memory_region_add_subregion_common: Assertion `!subregion->parent'
> >> > failed.
> >> > Aborted
> >> > qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> >> > sysbus_register_withprop: Assertion `info->qdev.size >=
> >> > sizeof(SysBusDevice)' failed.
> >> > Aborted
> >> >
> >> > This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
> >> > seem to work.
> >>
> >> n810 is also broken with a similar assertion to ppc, which I have a
> >> patch in progress to fix.
> >
> > MIPS malta is broken in the same way.
>
> Doesn't crash with these command lines:
> $ ./obj-amd64/mips-softmmu/qemu-system-mips -bios /dev/null -machine malta
> $ ./obj-amd64/mipsel-softmmu/qemu-system-mipsel -bios /dev/null -machine malta
> $ ./obj-amd64/mips64el-softmmu/qemu-system-mips64el -bios /dev/null
> -machine malta
> $ ./obj-amd64/mips64-softmmu/qemu-system-mips64 -bios /dev/null -machine malta
qemu-system-mipsel -M malta -kernel vmlinux -hda ~/Downloads/debian_squeeze_mipsel_standard.qcow2 -append "root=/dev/hda1 console=ttyS0" -nographic
QEMU 0.15.50 monitor - type 'help' for more information
(qemu) QEMU 0.15.50 monitor - type 'help' for more information
(qemu)
qemu-system-mipsel: /home/edgar/src/c/qemu/qemu/memory.c:1236: memory_region_del_subregion: Assertion `subregion->parent == mr' failed.
Aborted (core dumped)
But the image with run-qemu.sh from the wiki works on my side...
Cheers
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 17:49 ` Blue Swirl
2011-08-24 18:14 ` Edgar E. Iglesias
@ 2011-08-24 18:16 ` Edgar E. Iglesias
2011-08-24 18:39 ` Edgar E. Iglesias
1 sibling, 1 reply; 23+ messages in thread
From: Edgar E. Iglesias @ 2011-08-24 18:16 UTC (permalink / raw)
To: Blue Swirl; +Cc: Peter Maydell, Avi Kivity, qemu-devel
On Wed, Aug 24, 2011 at 05:49:42PM +0000, Blue Swirl wrote:
> On Tue, Aug 23, 2011 at 7:19 PM, Edgar E. Iglesias
> <edgar.iglesias@gmail.com> wrote:
> > On Tue, Aug 23, 2011 at 06:59:01PM +0100, Peter Maydell wrote:
> >> On 23 August 2011 18:55, Blue Swirl <blauwirbel@gmail.com> wrote:
> >> > qemu-system-ppc: /src/qemu/memory.c:1183:
> >> > memory_region_add_subregion_common: Assertion `!subregion->parent'
> >> > failed.
> >> > Aborted
> >> > qemu-system-ppc64: /src/qemu/memory.c:1183:
> >> > memory_region_add_subregion_common: Assertion `!subregion->parent'
> >> > failed.
> >> > Aborted
> >> > qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> >> > sysbus_register_withprop: Assertion `info->qdev.size >=
> >> > sizeof(SysBusDevice)' failed.
> >> > Aborted
> >> >
> >> > This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
> >> > seem to work.
> >>
> >> n810 is also broken with a similar assertion to ppc, which I have a
> >> patch in progress to fix.
> >
> > MIPS malta is broken in the same way.
>
> Doesn't crash with these command lines:
> $ ./obj-amd64/mips-softmmu/qemu-system-mips -bios /dev/null -machine malta
> $ ./obj-amd64/mipsel-softmmu/qemu-system-mipsel -bios /dev/null -machine malta
> $ ./obj-amd64/mips64el-softmmu/qemu-system-mips64el -bios /dev/null
> -machine malta
> $ ./obj-amd64/mips64-softmmu/qemu-system-mips64 -bios /dev/null -machine malta
Sorry, forgot the backtrace:
Starting program: /home/edgar/src/c/qemu/build-qemu/mipsel-softmmu/qemu-system-mipsel -M malta -kernel vmlinux -hda /home/edgar/Downloads/debian_squeeze_mipsel_standard.qcow2 -append root=/dev/hda1\ console=ttyS0 -nographic
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffeef43700 (LWP 18091)]
[New Thread 0x7fffe5a76700 (LWP 18092)]
QEMU 0.15.50 monitor - type 'help' for more information
(qemu) QEMU 0.15.50 monitor - type 'help' for more information
(qemu)
Program received signal SIGUSR2, User defined signal 2.
0x00007ffff5be6913 in select () at ../sysdeps/unix/syscall-template.S:82
82 ../sysdeps/unix/syscall-template.S: No such file or directory.
in ../sysdeps/unix/syscall-template.S
(gdb) bt
#0 0x00007ffff5be6913 in select () at ../sysdeps/unix/syscall-template.S:82
#1 0x0000000000430627 in qemu_aio_wait ()
at /home/edgar/src/c/qemu/qemu/aio.c:193
#2 0x000000000042e6dd in bdrv_read_em (bs=0x116a310, sector_num=0,
buf=<optimized out>, nb_sectors=1)
at /home/edgar/src/c/qemu/qemu/block.c:2833
#3 0x000000000042bfd8 in bdrv_read (bs=0x116a310, sector_num=0,
buf=0x7fffffffdaa0 "", nb_sectors=1)
at /home/edgar/src/c/qemu/qemu/block.c:984
#4 0x000000000042c988 in guess_disk_lchs (bs=0x116a310,
pcylinders=0x7fffffffdcec, pheads=0x7fffffffdcf0, psectors=0x7fffffffdcf4)
at /home/edgar/src/c/qemu/qemu/block.c:1317
#5 0x000000000042cb27 in bdrv_guess_geometry (bs=0x116a310,
pcyls=0x7fffffffdd3c, pheads=0x7fffffffdd40, psecs=0x7fffffffdd44)
at /home/edgar/src/c/qemu/qemu/block.c:1364
#6 0x0000000000587638 in ide_init_drive (s=0x1395b80, bs=0x116a310,
kind=IDE_HD, version=0x0, serial=0x0)
at /home/edgar/src/c/qemu/qemu/hw/ide/core.c:1730
#7 0x000000000058981d in ide_dev_initfn (dev=0x1397e10, kind=<optimized out>)
at /home/edgar/src/c/qemu/qemu/hw/ide/qdev.c:146
#8 0x0000000000493b0c in qdev_init (dev=0x1397e10)
at /home/edgar/src/c/qemu/qemu/hw/qdev.c:287
#9 0x0000000000493bce in qdev_init_nofail (dev=<optimized out>)
at /home/edgar/src/c/qemu/qemu/hw/qdev.c:381
#10 0x0000000000589bca in ide_create_drive (bus=<optimized out>, unit=0,
drive=0x116a270) at /home/edgar/src/c/qemu/qemu/hw/ide/qdev.c:108
#11 0x000000000058a85b in pci_ide_create_devs (dev=0x13956e0,
hd_table=0x7fffffffdf00) at /home/edgar/src/c/qemu/qemu/hw/ide/pci.c:503
#12 0x000000000058b23b in pci_piix4_ide_init (bus=<optimized out>,
hd_table=0x7fffffffdf00, devfn=<optimized out>)
at /home/edgar/src/c/qemu/qemu/hw/ide/piix.c:237
#13 0x00000000005a2d03 in mips_malta_init (ram_size=<optimized out>,
boot_device=<optimized out>, kernel_filename=<optimized out>,
kernel_cmdline=0x7fffffffe658 "root=/dev/hda1 console=ttyS0",
initrd_filename=0x0, cpu_model=<optimized out>)
at /home/edgar/src/c/qemu/qemu/hw/mips_malta.c:911
#14 0x0000000000409e1d in main (argc=<optimized out>, argv=<optimized out>,
envp=<optimized out>) at /home/edgar/src/c/qemu/qemu/vl.c:3257
(gdb) q
A debugging session is active.
Inferior 1 [process 18088] will be killed.
Quit anyway? (y or n) y
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 17:48 ` Blue Swirl
@ 2011-08-24 18:20 ` Avi Kivity
2011-08-24 18:40 ` [Qemu-devel] [PATCH] ppc_oldworld, ppc_newworld: fix escc BAR related crash Avi Kivity
2011-08-24 18:43 ` [Qemu-devel] PPC* and Sparc32 crash Avi Kivity
2 siblings, 0 replies; 23+ messages in thread
From: Avi Kivity @ 2011-08-24 18:20 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On 08/24/2011 08:48 PM, Blue Swirl wrote:
> On Wed, Aug 24, 2011 at 9:41 AM, Avi Kivity<avi@redhat.com> wrote:
> > On 08/23/2011 08:55 PM, Blue Swirl wrote:
> >>
> >> qemu-system-ppc: /src/qemu/memory.c:1183:
> >> memory_region_add_subregion_common: Assertion `!subregion->parent'
> >> failed.
> >> Aborted
> >> qemu-system-ppc64: /src/qemu/memory.c:1183:
> >> memory_region_add_subregion_common: Assertion `!subregion->parent'
> >> failed.
> >> Aborted
> >> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> >> sysbus_register_withprop: Assertion `info->qdev.size>=
> >> sizeof(SysBusDevice)' failed.
> >> Aborted
> >>
> >> This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
> >> seem to work.
> >
> > Please provide disk images and command line options, and I will investigate.
>
> Most legitimate command lines even without any images will do:
> $ ./obj-amd64/ppc-softmmu/qemu-system-ppc
> qemu-system-ppc: /src/qemu/memory.c:1183:
> memory_region_add_subregion_common: Assertion `!subregion->parent'
> failed.
> Aborted
>
Here the issue is that escc is both a sysbus device at 0x80013000 and a
a PCI device. Is this really correct?
In any case, I will post a patch making it behave like it did before the
conversion, and leave any extra fixes to someone who knows the device.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 18:16 ` Edgar E. Iglesias
@ 2011-08-24 18:39 ` Edgar E. Iglesias
2011-08-24 19:09 ` [Qemu-devel] [PATCH] gt64xxx: fix crash in gt64120_pci_mapping() Avi Kivity
0 siblings, 1 reply; 23+ messages in thread
From: Edgar E. Iglesias @ 2011-08-24 18:39 UTC (permalink / raw)
To: Blue Swirl; +Cc: Peter Maydell, Avi Kivity, qemu-devel
On Wed, Aug 24, 2011 at 08:16:41PM +0200, Edgar E. Iglesias wrote:
> On Wed, Aug 24, 2011 at 05:49:42PM +0000, Blue Swirl wrote:
> > On Tue, Aug 23, 2011 at 7:19 PM, Edgar E. Iglesias
> > <edgar.iglesias@gmail.com> wrote:
> > > On Tue, Aug 23, 2011 at 06:59:01PM +0100, Peter Maydell wrote:
> > >> On 23 August 2011 18:55, Blue Swirl <blauwirbel@gmail.com> wrote:
> > >> > qemu-system-ppc: /src/qemu/memory.c:1183:
> > >> > memory_region_add_subregion_common: Assertion `!subregion->parent'
> > >> > failed.
> > >> > Aborted
> > >> > qemu-system-ppc64: /src/qemu/memory.c:1183:
> > >> > memory_region_add_subregion_common: Assertion `!subregion->parent'
> > >> > failed.
> > >> > Aborted
> > >> > qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> > >> > sysbus_register_withprop: Assertion `info->qdev.size >=
> > >> > sizeof(SysBusDevice)' failed.
> > >> > Aborted
> > >> >
> > >> > This is with b861b7419c49ad53e786062b4fbf6da53468f130. Other targets
> > >> > seem to work.
> > >>
> > >> n810 is also broken with a similar assertion to ppc, which I have a
> > >> patch in progress to fix.
> > >
> > > MIPS malta is broken in the same way.
> >
> > Doesn't crash with these command lines:
> > $ ./obj-amd64/mips-softmmu/qemu-system-mips -bios /dev/null -machine malta
> > $ ./obj-amd64/mipsel-softmmu/qemu-system-mipsel -bios /dev/null -machine malta
> > $ ./obj-amd64/mips64el-softmmu/qemu-system-mips64el -bios /dev/null
> > -machine malta
> > $ ./obj-amd64/mips64-softmmu/qemu-system-mips64 -bios /dev/null -machine malta
>
>
> Sorry, forgot the backtrace:
And here is the correct backtrace... :)
(gdb) bt
#0 0x00007ffff5b423a5 in __GI_raise (sig=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff5b45b0b in __GI_abort () at abort.c:92
#2 0x00007ffff5b3ad4d in __GI___assert_fail (
assertion=0x5d331e "subregion->parent == mr", file=<optimized out>,
line=1236, function=<optimized out>) at assert.c:81
#3 0x0000000000425cf9 in memory_region_del_subregion (mr=<optimized out>,
subregion=<optimized out>) at /home/edgar/src/c/qemu/qemu/memory.c:1236
#4 0x00000000005adf17 in gt64120_pci_mapping (s=0x138f650)
at /home/edgar/src/c/qemu/qemu/hw/gt64xxx.c:293
#5 gt64120_pci_mapping (s=0x138f650)
at /home/edgar/src/c/qemu/qemu/hw/gt64xxx.c:285
#6 0x00000000004234b0 in access_with_adjusted_size (addr=80,
value=0x7fffeef428a8, size=4, access_size_min=<optimized out>,
access_size_max=<optimized out>,
access=0x4233d0 <memory_region_write_accessor>, opaque=0x1393590)
at /home/edgar/src/c/qemu/qemu/memory.c:284
#7 0x0000000000424900 in memory_region_write_thunk_n (_mr=0x1393590, addr=80,
size=4, data=64) at /home/edgar/src/c/qemu/qemu/memory.c:849
#8 0x0000000040000138 in ?? ()
#9 0x0000000000000000 in ?? ()
(gdb)
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PATCH] ppc_oldworld, ppc_newworld: fix escc BAR related crash
2011-08-24 17:48 ` Blue Swirl
2011-08-24 18:20 ` Avi Kivity
@ 2011-08-24 18:40 ` Avi Kivity
2011-08-24 18:43 ` [Qemu-devel] PPC* and Sparc32 crash Avi Kivity
2 siblings, 0 replies; 23+ messages in thread
From: Avi Kivity @ 2011-08-24 18:40 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
ppc maps the escc mmio region both at a fixed offset (as a sysbus area) and as part of a PCI BAR.
This crashes, since a MemoryRegion may have only one parent. Use an alias so we have a separate
MemoryRegion for the BAR.
Signed-off-by: Avi Kivity <avi@redhat.com>
---
hw/ppc_newworld.c | 5 ++++-
hw/ppc_oldworld.c | 6 ++++--
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
index 4727e07..fbd443d 100644
--- a/hw/ppc_newworld.c
+++ b/hw/ppc_newworld.c
@@ -146,6 +146,7 @@ static void ppc_core99_init (ram_addr_t ram_size,
MacIONVRAMState *nvr;
int bios_size;
MemoryRegion *pic_mem, *dbdma_mem, *cuda_mem, *escc_mem;
+ MemoryRegion *escc_bar = g_new(MemoryRegion, 1);
MemoryRegion *ide_mem[3];
int ppc_boot_device;
DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
@@ -328,6 +329,8 @@ static void ppc_core99_init (ram_addr_t ram_size,
escc_mem = escc_init(0x80013000, pic[0x25], pic[0x24],
serial_hds[0], serial_hds[1], ESCC_CLOCK, 4);
+ memory_region_init_alias(escc_bar, "escc-bar",
+ escc_mem, 0, memory_region_size(escc_mem));
for(i = 0; i < nb_nics; i++)
pci_nic_init_nofail(&nd_table[i], "ne2k_pci", NULL);
@@ -350,7 +353,7 @@ static void ppc_core99_init (ram_addr_t ram_size,
adb_mouse_init(&adb_bus);
macio_init(pci_bus, PCI_DEVICE_ID_APPLE_UNI_N_KEYL, 0, pic_mem,
- dbdma_mem, cuda_mem, NULL, 3, ide_mem, escc_mem);
+ dbdma_mem, cuda_mem, NULL, 3, ide_mem, escc_bar);
if (usb_enabled) {
usb_ohci_init_pci(pci_bus, -1);
diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
index 0071fc9..235d2ef 100644
--- a/hw/ppc_oldworld.c
+++ b/hw/ppc_oldworld.c
@@ -83,7 +83,7 @@ static void ppc_heathrow_init (ram_addr_t ram_size,
MacIONVRAMState *nvr;
int bios_size;
MemoryRegion *pic_mem, *dbdma_mem, *cuda_mem;
- MemoryRegion *escc_mem, *ide_mem[2];
+ MemoryRegion *escc_mem, *escc_bar = g_new(MemoryRegion, 1), *ide_mem[2];
uint16_t ppc_boot_device;
DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
void *fw_cfg;
@@ -241,6 +241,8 @@ static void ppc_heathrow_init (ram_addr_t ram_size,
escc_mem = escc_init(0x80013000, pic[0x0f], pic[0x10], serial_hds[0],
serial_hds[1], ESCC_CLOCK, 4);
+ memory_region_init_alias(escc_bar, "escc-bar",
+ escc_mem, 0, memory_region_size(escc_mem));
for(i = 0; i < nb_nics; i++)
pci_nic_init_nofail(&nd_table[i], "ne2k_pci", NULL);
@@ -269,7 +271,7 @@ static void ppc_heathrow_init (ram_addr_t ram_size,
pmac_format_nvram_partition(nvr, 0x2000);
macio_init(pci_bus, PCI_DEVICE_ID_APPLE_343S1201, 1, pic_mem,
- dbdma_mem, cuda_mem, nvr, 2, ide_mem, escc_mem);
+ dbdma_mem, cuda_mem, nvr, 2, ide_mem, escc_bar);
if (usb_enabled) {
usb_ohci_init_pci(pci_bus, -1);
--
1.7.5.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 17:48 ` Blue Swirl
2011-08-24 18:20 ` Avi Kivity
2011-08-24 18:40 ` [Qemu-devel] [PATCH] ppc_oldworld, ppc_newworld: fix escc BAR related crash Avi Kivity
@ 2011-08-24 18:43 ` Avi Kivity
2011-08-24 19:43 ` Blue Swirl
2 siblings, 1 reply; 23+ messages in thread
From: Avi Kivity @ 2011-08-24 18:43 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On 08/24/2011 08:48 PM, Blue Swirl wrote:
> $ ./obj-amd64/sparc-softmmu/qemu-system-sparc
> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> sysbus_register_withprop: Assertion `info->qdev.size>=
> sizeof(SysBusDevice)' failed.
> Aborted
Doesn't reproduce on e8906f3 - I get a boot loader prompt.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Qemu-devel] [PATCH] gt64xxx: fix crash in gt64120_pci_mapping()
2011-08-24 18:39 ` Edgar E. Iglesias
@ 2011-08-24 19:09 ` Avi Kivity
2011-08-24 19:17 ` Edgar E. Iglesias
0 siblings, 1 reply; 23+ messages in thread
From: Avi Kivity @ 2011-08-24 19:09 UTC (permalink / raw)
To: Edgar E. Iglesias; +Cc: Blue Swirl, Peter Maydell, qemu-devel
The map/unmap code was assymetric - unmap used the local MemoryRegion while
map used isa_mmio_init(), which cannot handle dynamic mappings.
Fix by using isa_mmio_setup() and the local MemoryRegion.
Signed-off-by: Avi Kivity <avi@redhat.com>
---
Untested.
hw/gt64xxx.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/hw/gt64xxx.c b/hw/gt64xxx.c
index 6af9782..1c34253 100644
--- a/hw/gt64xxx.c
+++ b/hw/gt64xxx.c
@@ -297,7 +297,11 @@ static void gt64120_pci_mapping(GT64120State *s)
s->PCI0IO_start = s->regs[GT_PCI0IOLD] << 21;
s->PCI0IO_length = ((s->regs[GT_PCI0IOHD] + 1) - (s->regs[GT_PCI0IOLD] & 0x7f)) << 21;
isa_mem_base = s->PCI0IO_start;
- isa_mmio_init(s->PCI0IO_start, s->PCI0IO_length);
+ if (s->PCI0IO_length) {
+ isa_mmio_setup(&s->PCI0IO_mem, s->PCI0IO_length);
+ memory_region_add_subregion(get_system_memory(), s->PCI0IO_start,
+ &s->PCI0IO_mem);
+ }
}
}
--
1.7.5.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] [PATCH] gt64xxx: fix crash in gt64120_pci_mapping()
2011-08-24 19:09 ` [Qemu-devel] [PATCH] gt64xxx: fix crash in gt64120_pci_mapping() Avi Kivity
@ 2011-08-24 19:17 ` Edgar E. Iglesias
0 siblings, 0 replies; 23+ messages in thread
From: Edgar E. Iglesias @ 2011-08-24 19:17 UTC (permalink / raw)
To: Avi Kivity; +Cc: Blue Swirl, Peter Maydell, qemu-devel
On Wed, Aug 24, 2011 at 10:09:41PM +0300, Avi Kivity wrote:
> The map/unmap code was assymetric - unmap used the local MemoryRegion while
> map used isa_mmio_init(), which cannot handle dynamic mappings.
>
> Fix by using isa_mmio_setup() and the local MemoryRegion.
>
> Signed-off-by: Avi Kivity <avi@redhat.com>
Thanks, this works for me. I'll apply it in a moment.
Cheers
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 18:43 ` [Qemu-devel] PPC* and Sparc32 crash Avi Kivity
@ 2011-08-24 19:43 ` Blue Swirl
2011-08-24 19:59 ` Avi Kivity
0 siblings, 1 reply; 23+ messages in thread
From: Blue Swirl @ 2011-08-24 19:43 UTC (permalink / raw)
To: Avi Kivity; +Cc: qemu-devel
On Wed, Aug 24, 2011 at 6:43 PM, Avi Kivity <avi@redhat.com> wrote:
> On 08/24/2011 08:48 PM, Blue Swirl wrote:
>>
>> $ ./obj-amd64/sparc-softmmu/qemu-system-sparc
>> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
>> sysbus_register_withprop: Assertion `info->qdev.size>=
>> sizeof(SysBusDevice)' failed.
>> Aborted
>
> Doesn't reproduce on e8906f3 - I get a boot loader prompt.
Still happens here, e8906f3.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 19:43 ` Blue Swirl
@ 2011-08-24 19:59 ` Avi Kivity
2011-08-24 20:02 ` Blue Swirl
0 siblings, 1 reply; 23+ messages in thread
From: Avi Kivity @ 2011-08-24 19:59 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On 08/24/2011 10:43 PM, Blue Swirl wrote:
> On Wed, Aug 24, 2011 at 6:43 PM, Avi Kivity<avi@redhat.com> wrote:
> > On 08/24/2011 08:48 PM, Blue Swirl wrote:
> >>
> >> $ ./obj-amd64/sparc-softmmu/qemu-system-sparc
> >> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> >> sysbus_register_withprop: Assertion `info->qdev.size>=
> >> sizeof(SysBusDevice)' failed.
> >> Aborted
> >
> > Doesn't reproduce on e8906f3 - I get a boot loader prompt.
>
> Still happens here, e8906f3.
Backtrace?
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 19:59 ` Avi Kivity
@ 2011-08-24 20:02 ` Blue Swirl
2011-08-25 4:43 ` Avi Kivity
0 siblings, 1 reply; 23+ messages in thread
From: Blue Swirl @ 2011-08-24 20:02 UTC (permalink / raw)
To: Avi Kivity; +Cc: qemu-devel
On Wed, Aug 24, 2011 at 7:59 PM, Avi Kivity <avi@redhat.com> wrote:
> On 08/24/2011 10:43 PM, Blue Swirl wrote:
>>
>> On Wed, Aug 24, 2011 at 6:43 PM, Avi Kivity<avi@redhat.com> wrote:
>> > On 08/24/2011 08:48 PM, Blue Swirl wrote:
>> >>
>> >> $ ./obj-amd64/sparc-softmmu/qemu-system-sparc
>> >> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
>> >> sysbus_register_withprop: Assertion `info->qdev.size>=
>> >> sizeof(SysBusDevice)' failed.
>> >> Aborted
>> >
>> > Doesn't reproduce on e8906f3 - I get a boot loader prompt.
>>
>> Still happens here, e8906f3.
>
> Backtrace?
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff0ab7700 (LWP 15515)]
qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
sysbus_register_withprop: Assertion `info->qdev.size >=
sizeof(SysBusDevice)' failed.
Program received signal SIGABRT, Aborted.
0x00007ffff3da2165 in *__GI_raise (sig=<value optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) bt
#0 0x00007ffff3da2165 in *__GI_raise (sig=<value optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff3da4f70 in *__GI_abort () at abort.c:92
#2 0x00007ffff3d9b2b1 in *__GI___assert_fail (
assertion=0x5c7650 "info->qdev.size >= sizeof(SysBusDevice)",
file=<value optimized out>, line=0x9c,
function=0x5c7680 "sysbus_register_withprop") at assert.c:81
#3 0x000000000052e280 in sysbus_register_withprop (info=<value optimized out>)
at /src/qemu/hw/sysbus.c:156
#4 0x000000000041de13 in module_call_init (type=<value optimized out>)
at /src/qemu/module.c:78
#5 0x0000000000518fb4 in main (argc=<value optimized out>,
argv=<value optimized out>, envp=<value optimized out>)
at /src/qemu/vl.c:3241
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-24 20:02 ` Blue Swirl
@ 2011-08-25 4:43 ` Avi Kivity
2011-08-25 17:33 ` Blue Swirl
0 siblings, 1 reply; 23+ messages in thread
From: Avi Kivity @ 2011-08-25 4:43 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On 08/24/2011 11:02 PM, Blue Swirl wrote:
> >
> > Backtrace?
>
> [Thread debugging using libthread_db enabled]
> [New Thread 0x7ffff0ab7700 (LWP 15515)]
> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
> sysbus_register_withprop: Assertion `info->qdev.size>=
> sizeof(SysBusDevice)' failed.
>
> Program received signal SIGABRT, Aborted.
> 0x00007ffff3da2165 in *__GI_raise (sig=<value optimized out>)
> at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> 64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> in ../nptl/sysdeps/unix/sysv/linux/raise.c
> (gdb) bt
> #0 0x00007ffff3da2165 in *__GI_raise (sig=<value optimized out>)
> at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> #1 0x00007ffff3da4f70 in *__GI_abort () at abort.c:92
> #2 0x00007ffff3d9b2b1 in *__GI___assert_fail (
> assertion=0x5c7650 "info->qdev.size>= sizeof(SysBusDevice)",
> file=<value optimized out>, line=0x9c,
> function=0x5c7680 "sysbus_register_withprop") at assert.c:81
> #3 0x000000000052e280 in sysbus_register_withprop (info=<value optimized out>)
> at /src/qemu/hw/sysbus.c:156
>
Please dump out frame 3's *info.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-25 4:43 ` Avi Kivity
@ 2011-08-25 17:33 ` Blue Swirl
2011-08-25 19:31 ` Avi Kivity
0 siblings, 1 reply; 23+ messages in thread
From: Blue Swirl @ 2011-08-25 17:33 UTC (permalink / raw)
To: Avi Kivity; +Cc: qemu-devel
On Thu, Aug 25, 2011 at 4:43 AM, Avi Kivity <avi@redhat.com> wrote:
> On 08/24/2011 11:02 PM, Blue Swirl wrote:
>>
>> >
>> > Backtrace?
>>
>> [Thread debugging using libthread_db enabled]
>> [New Thread 0x7ffff0ab7700 (LWP 15515)]
>> qemu-system-sparc: /src/qemu/hw/sysbus.c:156:
>> sysbus_register_withprop: Assertion `info->qdev.size>=
>> sizeof(SysBusDevice)' failed.
>>
>> Program received signal SIGABRT, Aborted.
>> 0x00007ffff3da2165 in *__GI_raise (sig=<value optimized out>)
>> at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
>> 64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or
>> directory.
>> in ../nptl/sysdeps/unix/sysv/linux/raise.c
>> (gdb) bt
>> #0 0x00007ffff3da2165 in *__GI_raise (sig=<value optimized out>)
>> at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
>> #1 0x00007ffff3da4f70 in *__GI_abort () at abort.c:92
>> #2 0x00007ffff3d9b2b1 in *__GI___assert_fail (
>> assertion=0x5c7650 "info->qdev.size>= sizeof(SysBusDevice)",
>> file=<value optimized out>, line=0x9c,
>> function=0x5c7680 "sysbus_register_withprop") at assert.c:81
>> #3 0x000000000052e280 in sysbus_register_withprop (info=<value optimized
>> out>)
>> at /src/qemu/hw/sysbus.c:156
>>
>
> Please dump out frame 3's *info.
(gdb) bt
#0 0x00007ffff3da2165 in *__GI_raise (sig=<value optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff3da4f70 in *__GI_abort () at abort.c:92
#2 0x00007ffff3d9b2b1 in *__GI___assert_fail (
assertion=0x5c7390 "info->qdev.size >= sizeof(SysBusDevice)",
file=<value optimized out>, line=0x9c,
function=0x5c73c0 "sysbus_register_withprop") at assert.c:81
#3 0x000000000052e000 in sysbus_register_withprop (info=<value optimized out>)
at /src/qemu/hw/sysbus.c:156
#4 0x000000000041d9c3 in module_call_init (type=<value optimized out>)
at /src/qemu/module.c:78
#5 0x0000000000518b64 in main (argc=<value optimized out>,
argv=<value optimized out>, envp=<value optimized out>)
at /src/qemu/vl.c:3241
(gdb) up 3
#3 0x000000000052e000 in sysbus_register_withprop (info=<value optimized out>)
at /src/qemu/hw/sysbus.c:156
156 assert(info->qdev.size >= sizeof(SysBusDevice));
(gdb) p *info
Cannot access memory at address 0x0
(gdb) p info
$1 = <value optimized out>
(gdb) up
#4 0x000000000041d9c3 in module_call_init (type=<value optimized out>)
at /src/qemu/module.c:78
78 e->init();
(gdb) p *e
$2 = {type = MODULE_INIT_BLOCK,
init = 0x53cf50 <sun4c_intctl_register_devices>, node = {
tqe_next = 0x1051130, tqe_prev = 0x10510b0}}
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-25 17:33 ` Blue Swirl
@ 2011-08-25 19:31 ` Avi Kivity
2011-08-25 20:17 ` Blue Swirl
0 siblings, 1 reply; 23+ messages in thread
From: Avi Kivity @ 2011-08-25 19:31 UTC (permalink / raw)
To: Blue Swirl; +Cc: qemu-devel
On 08/25/2011 08:33 PM, Blue Swirl wrote:
> (gdb) bt
> #0 0x00007ffff3da2165 in *__GI_raise (sig=<value optimized out>)
> at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> #1 0x00007ffff3da4f70 in *__GI_abort () at abort.c:92
> #2 0x00007ffff3d9b2b1 in *__GI___assert_fail (
> assertion=0x5c7390 "info->qdev.size>= sizeof(SysBusDevice)",
> file=<value optimized out>, line=0x9c,
> function=0x5c73c0 "sysbus_register_withprop") at assert.c:81
> #3 0x000000000052e000 in sysbus_register_withprop (info=<value optimized out>)
> at /src/qemu/hw/sysbus.c:156
> #4 0x000000000041d9c3 in module_call_init (type=<value optimized out>)
> at /src/qemu/module.c:78
> #5 0x0000000000518b64 in main (argc=<value optimized out>,
> argv=<value optimized out>, envp=<value optimized out>)
> at /src/qemu/vl.c:3241
> (gdb) up 3
> #3 0x000000000052e000 in sysbus_register_withprop (info=<value optimized out>)
> at /src/qemu/hw/sysbus.c:156
> 156 assert(info->qdev.size>= sizeof(SysBusDevice));
> (gdb) p *info
> Cannot access memory at address 0x0
> (gdb) p info
> $1 =<value optimized out>
-O1 fixes that.
> (gdb) up
> #4 0x000000000041d9c3 in module_call_init (type=<value optimized out>)
> at /src/qemu/module.c:78
> 78 e->init();
> (gdb) p *e
> $2 = {type = MODULE_INIT_BLOCK,
> init = 0x53cf50<sun4c_intctl_register_devices>, node = {
> tqe_next = 0x1051130, tqe_prev = 0x10510b0}}
static SysBusDeviceInfo sun4c_intctl_info = {
.init = sun4c_intctl_init1,
.qdev.name = "sun4c_intctl",
.qdev.size = sizeof(Sun4c_INTCTLState),
.qdev.vmsd = &vmstate_sun4c_intctl,
.qdev.reset = sun4c_intctl_reset,
};
typedef struct Sun4c_INTCTLState {
SysBusDevice busdev;
...
}
so the code looks fine. Can you dig deeper? Did something stomp on
qdev.size?
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [Qemu-devel] PPC* and Sparc32 crash
2011-08-25 19:31 ` Avi Kivity
@ 2011-08-25 20:17 ` Blue Swirl
0 siblings, 0 replies; 23+ messages in thread
From: Blue Swirl @ 2011-08-25 20:17 UTC (permalink / raw)
To: Avi Kivity; +Cc: qemu-devel
On Thu, Aug 25, 2011 at 7:31 PM, Avi Kivity <avi@redhat.com> wrote:
> On 08/25/2011 08:33 PM, Blue Swirl wrote:
>>
>> (gdb) bt
>> #0 0x00007ffff3da2165 in *__GI_raise (sig=<value optimized out>)
>> at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
>> #1 0x00007ffff3da4f70 in *__GI_abort () at abort.c:92
>> #2 0x00007ffff3d9b2b1 in *__GI___assert_fail (
>> assertion=0x5c7390 "info->qdev.size>= sizeof(SysBusDevice)",
>> file=<value optimized out>, line=0x9c,
>> function=0x5c73c0 "sysbus_register_withprop") at assert.c:81
>> #3 0x000000000052e000 in sysbus_register_withprop (info=<value optimized
>> out>)
>> at /src/qemu/hw/sysbus.c:156
>> #4 0x000000000041d9c3 in module_call_init (type=<value optimized out>)
>> at /src/qemu/module.c:78
>> #5 0x0000000000518b64 in main (argc=<value optimized out>,
>> argv=<value optimized out>, envp=<value optimized out>)
>> at /src/qemu/vl.c:3241
>> (gdb) up 3
>> #3 0x000000000052e000 in sysbus_register_withprop (info=<value optimized
>> out>)
>> at /src/qemu/hw/sysbus.c:156
>> 156 assert(info->qdev.size>= sizeof(SysBusDevice));
>> (gdb) p *info
>> Cannot access memory at address 0x0
>> (gdb) p info
>> $1 =<value optimized out>
>
> -O1 fixes that.
>
>> (gdb) up
>> #4 0x000000000041d9c3 in module_call_init (type=<value optimized out>)
>> at /src/qemu/module.c:78
>> 78 e->init();
>> (gdb) p *e
>> $2 = {type = MODULE_INIT_BLOCK,
>> init = 0x53cf50<sun4c_intctl_register_devices>, node = {
>> tqe_next = 0x1051130, tqe_prev = 0x10510b0}}
>
> static SysBusDeviceInfo sun4c_intctl_info = {
> .init = sun4c_intctl_init1,
> .qdev.name = "sun4c_intctl",
> .qdev.size = sizeof(Sun4c_INTCTLState),
> .qdev.vmsd = &vmstate_sun4c_intctl,
> .qdev.reset = sun4c_intctl_reset,
> };
>
> typedef struct Sun4c_INTCTLState {
> SysBusDevice busdev;
> ...
> }
>
> so the code looks fine. Can you dig deeper? Did something stomp on
> qdev.size?
Bah, I run 'make clean', recompiled and the problem disappeared. Sorry
for the trouble and noise. Bugs with Makefile dependencies?
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2011-08-25 20:17 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-23 17:55 [Qemu-devel] PPC* and Sparc32 crash Blue Swirl
2011-08-23 17:59 ` Peter Maydell
2011-08-23 19:19 ` Edgar E. Iglesias
2011-08-24 17:49 ` Blue Swirl
2011-08-24 18:14 ` Edgar E. Iglesias
2011-08-24 18:16 ` Edgar E. Iglesias
2011-08-24 18:39 ` Edgar E. Iglesias
2011-08-24 19:09 ` [Qemu-devel] [PATCH] gt64xxx: fix crash in gt64120_pci_mapping() Avi Kivity
2011-08-24 19:17 ` Edgar E. Iglesias
2011-08-24 17:54 ` [Qemu-devel] PPC* and Sparc32 crash Blue Swirl
2011-08-24 18:05 ` Peter Maydell
2011-08-24 9:41 ` Avi Kivity
2011-08-24 17:48 ` Blue Swirl
2011-08-24 18:20 ` Avi Kivity
2011-08-24 18:40 ` [Qemu-devel] [PATCH] ppc_oldworld, ppc_newworld: fix escc BAR related crash Avi Kivity
2011-08-24 18:43 ` [Qemu-devel] PPC* and Sparc32 crash Avi Kivity
2011-08-24 19:43 ` Blue Swirl
2011-08-24 19:59 ` Avi Kivity
2011-08-24 20:02 ` Blue Swirl
2011-08-25 4:43 ` Avi Kivity
2011-08-25 17:33 ` Blue Swirl
2011-08-25 19:31 ` Avi Kivity
2011-08-25 20:17 ` Blue Swirl
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.