All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.