qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Crash with pcie-pci-bridge on qemu-system-s390x
@ 2017-11-02 14:19 Thomas Huth
  2017-11-02 14:42 ` Marcel Apfelbaum
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Huth @ 2017-11-02 14:19 UTC (permalink / raw)
  To: QEMU Developers, qemu-s390x; +Cc: Aleksandr Bezzubikov, Marcel Apfelbaum

 Hi,

seems like there's a new way to crash QEMU with the pcie-pci-bridge
device (using QEMU master branch of today):

$ s390x-softmmu/qemu-system-s390x -nographic -S
QEMU 2.10.50 monitor - type 'help' for more information
(qemu) device_add pcie-pci-bridge,id=x
Segmentation fault (core dumped)

Does anybody have a clue what might be wrong here?

Backtrace looks like this:

#0  0x000055555577064b in pci_default_write_config (d=d@entry=0x0,
addr=addr@entry=26, val_in=1, l=l@entry=1) at
/home/thuth/devel/qemu/hw/pci/pci.c:1367
#1  0x00005555556c885f in s390_pcihost_hot_plug (hotplug_dev=<optimized
out>, dev=0x55555639b160, errp=0x7fffffffc5a0) at
/home/thuth/devel/qemu/hw/s390x/s390-pci-bus.c:684
#2  0x000055555575afeb in device_set_realized (obj=<optimized out>,
value=<optimized out>, errp=0x7fffffffc6d8) at
/home/thuth/devel/qemu/hw/core/qdev.c:936
#3  0x00005555557ee48e in property_set_bool (obj=0x55555639b160,
v=<optimized out>, name=<optimized out>, opaque=0x555556399fe0,
errp=0x7fffffffc6d8)
    at /home/thuth/devel/qemu/qom/object.c:1906
#4  0x00005555557f25ff in object_property_set_qobject
(obj=obj@entry=0x55555639b160, value=value@entry=0x55555639d170,
name=name@entry=0x5555559a4157 "realized",
errp=errp@entry=0x7fffffffc6d8) at
/home/thuth/devel/qemu/qom/qom-qobject.c:27
#5  0x00005555557f0270 in object_property_set_bool (obj=0x55555639b160,
value=<optimized out>, name=0x5555559a4157 "realized", errp=0x7fffffffc6d8)
    at /home/thuth/devel/qemu/qom/object.c:1171
#6  0x000055555570b549 in qdev_device_add
(opts=opts@entry=0x55555640cb50, errp=errp@entry=0x7fffffffc7b0) at
/home/thuth/devel/qemu/qdev-monitor.c:632
...

 Thomas

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Crash with pcie-pci-bridge on qemu-system-s390x
  2017-11-02 14:19 [Qemu-devel] Crash with pcie-pci-bridge on qemu-system-s390x Thomas Huth
@ 2017-11-02 14:42 ` Marcel Apfelbaum
  2017-11-02 14:59   ` Aleksandr Bezzubikov
  0 siblings, 1 reply; 4+ messages in thread
From: Marcel Apfelbaum @ 2017-11-02 14:42 UTC (permalink / raw)
  To: Thomas Huth, QEMU Developers, qemu-s390x; +Cc: Aleksandr Bezzubikov

On 02/11/2017 16:19, Thomas Huth wrote:
>   Hi,
> 

Hi Thomas,

> seems like there's a new way to crash QEMU with the pcie-pci-bridge
> device (using QEMU master branch of today):
>  > $ s390x-softmmu/qemu-system-s390x -nographic -S
> QEMU 2.10.50 monitor - type 'help' for more information
> (qemu) device_add pcie-pci-bridge,id=x
> Segmentation fault (core dumped)
> 

Thanks for noticing it.

> Does anybody have a clue what might be wrong here?
> 

It was tested with X86 and I think aarch64.
I am not sure how it would work with or if we
really need it for s390.

We need the device to start a PCI hierarchy by plugging
it to PCIe Root Port. If I understand correctly s390
does not use PCIe Root Ports and may not need it.

If the assumption is correct I suppose we should only
be compiled into the above archs.
If you agree, I can post a patch for this.

Thanks,
Marcel

> Backtrace looks like this:
> 
> #0  0x000055555577064b in pci_default_write_config (d=d@entry=0x0,
> addr=addr@entry=26, val_in=1, l=l@entry=1) at
> /home/thuth/devel/qemu/hw/pci/pci.c:1367
> #1  0x00005555556c885f in s390_pcihost_hot_plug (hotplug_dev=<optimized
> out>, dev=0x55555639b160, errp=0x7fffffffc5a0) at
> /home/thuth/devel/qemu/hw/s390x/s390-pci-bus.c:684
> #2  0x000055555575afeb in device_set_realized (obj=<optimized out>,
> value=<optimized out>, errp=0x7fffffffc6d8) at
> /home/thuth/devel/qemu/hw/core/qdev.c:936
> #3  0x00005555557ee48e in property_set_bool (obj=0x55555639b160,
> v=<optimized out>, name=<optimized out>, opaque=0x555556399fe0,
> errp=0x7fffffffc6d8)
>      at /home/thuth/devel/qemu/qom/object.c:1906
> #4  0x00005555557f25ff in object_property_set_qobject
> (obj=obj@entry=0x55555639b160, value=value@entry=0x55555639d170,
> name=name@entry=0x5555559a4157 "realized",
> errp=errp@entry=0x7fffffffc6d8) at
> /home/thuth/devel/qemu/qom/qom-qobject.c:27
> #5  0x00005555557f0270 in object_property_set_bool (obj=0x55555639b160,
> value=<optimized out>, name=0x5555559a4157 "realized", errp=0x7fffffffc6d8)
>      at /home/thuth/devel/qemu/qom/object.c:1171
> #6  0x000055555570b549 in qdev_device_add
> (opts=opts@entry=0x55555640cb50, errp=errp@entry=0x7fffffffc7b0) at
> /home/thuth/devel/qemu/qdev-monitor.c:632
> ...
> 
>   Thomas
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Crash with pcie-pci-bridge on qemu-system-s390x
  2017-11-02 14:42 ` Marcel Apfelbaum
@ 2017-11-02 14:59   ` Aleksandr Bezzubikov
  2017-11-07 10:34     ` Cornelia Huck
  0 siblings, 1 reply; 4+ messages in thread
From: Aleksandr Bezzubikov @ 2017-11-02 14:59 UTC (permalink / raw)
  To: Marcel Apfelbaum; +Cc: Thomas Huth, QEMU Developers, qemu-s390x

2017-11-02 17:42 GMT+03:00 Marcel Apfelbaum <marcel@redhat.com>:
> On 02/11/2017 16:19, Thomas Huth wrote:
>>
>>   Hi,
>>
>
> Hi Thomas,
>

Hi Thomas, Marcel,

>> seems like there's a new way to crash QEMU with the pcie-pci-bridge
>> device (using QEMU master branch of today):
>>  > $ s390x-softmmu/qemu-system-s390x -nographic -S
>> QEMU 2.10.50 monitor - type 'help' for more information
>> (qemu) device_add pcie-pci-bridge,id=x
>> Segmentation fault (core dumped)
>>
>
> Thanks for noticing it.
>
>> Does anybody have a clue what might be wrong here?
>>
>
> It was tested with X86 and I think aarch64.
> I am not sure how it would work with or if we
> really need it for s390.
>
> We need the device to start a PCI hierarchy by plugging
> it to PCIe Root Port. If I understand correctly s390
> does not use PCIe Root Ports and may not need it.
>

Personally I can see 2 issues here:
1) [Marcel's already mentioned it] It seems that s390x machines have
only pure PCI hosts,
that's why it's a bit weird to put pcie-pci-bridge into the host
2) The actual segfault cause is bridge parent bus not having a parent
device (somehow).
Maybe it's a consequence of point 1)

> If the assumption is correct I suppose we should only
> be compiled into the above archs.
> If you agree, I can post a patch for this.
>
> Thanks,
> Marcel
>
>
>> Backtrace looks like this:
>>
>> #0  0x000055555577064b in pci_default_write_config (d=d@entry=0x0,
>> addr=addr@entry=26, val_in=1, l=l@entry=1) at
>> /home/thuth/devel/qemu/hw/pci/pci.c:1367
>> #1  0x00005555556c885f in s390_pcihost_hot_plug (hotplug_dev=<optimized
>> out>, dev=0x55555639b160, errp=0x7fffffffc5a0) at
>> /home/thuth/devel/qemu/hw/s390x/s390-pci-bus.c:684
>> #2  0x000055555575afeb in device_set_realized (obj=<optimized out>,
>> value=<optimized out>, errp=0x7fffffffc6d8) at
>> /home/thuth/devel/qemu/hw/core/qdev.c:936
>> #3  0x00005555557ee48e in property_set_bool (obj=0x55555639b160,
>> v=<optimized out>, name=<optimized out>, opaque=0x555556399fe0,
>> errp=0x7fffffffc6d8)
>>      at /home/thuth/devel/qemu/qom/object.c:1906
>> #4  0x00005555557f25ff in object_property_set_qobject
>> (obj=obj@entry=0x55555639b160, value=value@entry=0x55555639d170,
>> name=name@entry=0x5555559a4157 "realized",
>> errp=errp@entry=0x7fffffffc6d8) at
>> /home/thuth/devel/qemu/qom/qom-qobject.c:27
>> #5  0x00005555557f0270 in object_property_set_bool (obj=0x55555639b160,
>> value=<optimized out>, name=0x5555559a4157 "realized",
>> errp=0x7fffffffc6d8)
>>      at /home/thuth/devel/qemu/qom/object.c:1171
>> #6  0x000055555570b549 in qdev_device_add
>> (opts=opts@entry=0x55555640cb50, errp=errp@entry=0x7fffffffc7b0) at
>> /home/thuth/devel/qemu/qdev-monitor.c:632
>> ...
>>
>>   Thomas
>>
>

Thanks,
Aleksandr Bezzubikov

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] Crash with pcie-pci-bridge on qemu-system-s390x
  2017-11-02 14:59   ` Aleksandr Bezzubikov
@ 2017-11-07 10:34     ` Cornelia Huck
  0 siblings, 0 replies; 4+ messages in thread
From: Cornelia Huck @ 2017-11-07 10:34 UTC (permalink / raw)
  To: Aleksandr Bezzubikov
  Cc: Marcel Apfelbaum, qemu-s390x, Thomas Huth, QEMU Developers

On Thu, 2 Nov 2017 17:59:58 +0300
Aleksandr Bezzubikov <zuban32s@gmail.com> wrote:

> 2017-11-02 17:42 GMT+03:00 Marcel Apfelbaum <marcel@redhat.com>:
> > On 02/11/2017 16:19, Thomas Huth wrote:  
> >>
> >>   Hi,
> >>  
> >
> > Hi Thomas,
> >  
> 
> Hi Thomas, Marcel,
> 
> >> seems like there's a new way to crash QEMU with the pcie-pci-bridge
> >> device (using QEMU master branch of today):  
> >>  > $ s390x-softmmu/qemu-system-s390x -nographic -S  
> >> QEMU 2.10.50 monitor - type 'help' for more information
> >> (qemu) device_add pcie-pci-bridge,id=x
> >> Segmentation fault (core dumped)
> >>  
> >
> > Thanks for noticing it.
> >  
> >> Does anybody have a clue what might be wrong here?
> >>  
> >
> > It was tested with X86 and I think aarch64.
> > I am not sure how it would work with or if we
> > really need it for s390.
> >
> > We need the device to start a PCI hierarchy by plugging
> > it to PCIe Root Port. If I understand correctly s390
> > does not use PCIe Root Ports and may not need it.
> >  
> 
> Personally I can see 2 issues here:
> 1) [Marcel's already mentioned it] It seems that s390x machines have
> only pure PCI hosts,
> that's why it's a bit weird to put pcie-pci-bridge into the host
> 2) The actual segfault cause is bridge parent bus not having a parent
> device (somehow).
> Maybe it's a consequence of point 1)

Yes. PCI on s390x is weird; we basically have no topology and just make
one up (of which the guest sees nothing at all).

> 
> > If the assumption is correct I suppose we should only
> > be compiled into the above archs.
> > If you agree, I can post a patch for this.

I think disabling this for s390x makes sense.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-11-07 10:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-02 14:19 [Qemu-devel] Crash with pcie-pci-bridge on qemu-system-s390x Thomas Huth
2017-11-02 14:42 ` Marcel Apfelbaum
2017-11-02 14:59   ` Aleksandr Bezzubikov
2017-11-07 10:34     ` Cornelia Huck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).