Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1058597

Summary: [PCIe] qemu-kvm will core dump when boot with >=24 i82801b11-bridge behind i82801b11-bridge
Product: Red Hat Enterprise Linux 7 Reporter: Jun Li <juli>
Component: qemu-kvm-rhevAssignee: Marcel Apfelbaum <marcel>
Status: CLOSED DUPLICATE QA Contact: jingzhao <jinzhao>
Severity: low Docs Contact:
Priority: low    
Version: 7.0CC: ailan, dgilbert, hhuang, jinchen, jinzhao, juzhang, knoel, michen, mst, rbalakri, virt-bugs, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-14 10:21:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1311684    

Description Jun Li 2014-01-28 06:17:02 UTC
Description of problem:
qemu-kvm will core dump when boot with >=24 i82801b11-bridge behind i82801b11-bridge.

Version-Release number of selected component (if applicable):


How reproducible:
100%

Steps to Reproduce:
1.boot guest with the following script.
# sh 4230855-pci-bridge-behind-i82801b11-bridge-max-i82801b11-bridge.sh 24
# cat 4230855-pci-bridge-behind-i82801b11-bridge-max-i82801b11-bridge.sh 
#! /bin/sh
MACHINE=q35
SMP=2,cores=2,threads=1,sockets=1
MEM=2G
GUEST_IMG=/home/juli/rhel7.0.qcow2
IMG_FORMAT=qcow2

CLI="gdb --args /usr/libexec/qemu-kvm -enable-kvm -M $MACHINE -smp $SMP -m $MEM -name vm1 -drive file=$GUEST_IMG,if=none,id=guest-img,format=$IMG_FORMAT,werror=stop,rerror=stop -device virtio-blk-pci,drive=guest-img,id=os-disk,bootindex=1 -vnc :6 -monitor stdio -boot menu=on" 
echo "booting ..."

max_num=${1:-0}
CLI="$CLI -device ioh3420,bus=pcie.0,id=root.0,addr=0x4"
CLI="$CLI  -device i82801b11-bridge,bus=root.0,id=bridge_before.0"
for ((i=0;i<$max_num;i++)); do
    CLI="$CLI  -device i82801b11-bridge,bus=bridge_before.$((i)),id=bridge_before.$((i+1))"
done
BRIDGE_ID="bridge_before.$i"
echo "$BRIDGE_ID"
if (($max_num>=1)); then
    for ((i=1;i<=$max_num;i++)); do
        CLI="$CLI -device pci-bridge,bus=$BRIDGE_ID,id=bridge_li$i,chassis_nr=1,addr=0x1"
        BRIDGE_ID="bridge_li$i"
    done
fi
CLI="$CLI -device virtio-scsi-pci,bus=$BRIDGE_ID,id=scsi0,addr=0x1 -drive file=/home/juli/data.qcow2,if=none,id=drive-data,format=qcow2 -device scsi-hd,bus=scsi0.0,id=data-disk,drive=drive-data"
$CLI

2.
3.

Actual results:
*** qemu-kvm core dump.
qemu-kvm: /builddir/build/BUILD/qemu-1.5.3/savevm.c:1555: register_savevm_live: Assertion `!se->compat || se->instance_id == 0' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff2c9c979 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff2c9c979 in raise () from /lib64/libc.so.6
#1  0x00007ffff2c9e088 in abort () from /lib64/libc.so.6
#2  0x00007ffff2c958e6 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007ffff2c95992 in __assert_fail () from /lib64/libc.so.6
#4  0x00005555557e5664 in register_savevm_live ()
#5  0x00005555557c6e02 in virtio_scsi_device_init ()
#6  0x00005555557ccab6 in virtio_device_init ()
#7  0x000055555567f184 in device_realize ()
#8  0x00005555556806ab in device_set_realized ()
#9  0x000055555574123e in property_set_bool ()
#10 0x0000555555743df7 in object_property_set_qobject ()
#11 0x0000555555742c00 in object_property_set_bool ()
#12 0x000055555567f69a in qdev_init ()
#13 0x00005555556f6a82 in virtio_scsi_pci_init_pci ()
#14 0x00005555556f6f92 in virtio_pci_init ()
#15 0x00005555556c3362 in pci_qdev_init ()
#16 0x000055555567f184 in device_realize ()
#17 0x00005555556806ab in device_set_realized ()
#18 0x000055555574123e in property_set_bool ()
#19 0x0000555555743df7 in object_property_set_qobject ()
#20 0x0000555555742c00 in object_property_set_bool ()
#21 0x000055555572f14e in qdev_device_add ()
#22 0x0000555555773649 in device_init_func ()
---Type <return> to continue, or q <return> to quit---
#23 0x00005555558a61bb in qemu_opts_foreach ()
#24 0x0000555555601be1 in main ()


Expected results:
No core dump. Or qemu-kvm will give some warning or error message to forbid booting.

Additional info:
the core dump info is the similar with Bug 1058200. But file this bug to record this scenarios(about the max num of i82801b11-bridge). If it is the same issue to bug 1058200, please close it. Thx.

Comment 1 Jun Li 2014-01-28 06:19:46 UTC
Add the qemu-kvm versio:
Version-Release number of selected component (if applicable):
qemu-kvm-1.5.3-41.el7.x86_64
3.10.0-79.el7.x86_64

Comment 11 Marcel Apfelbaum 2017-02-14 10:01:19 UTC
*** Bug 1421620 has been marked as a duplicate of this bug. ***

Comment 12 Marcel Apfelbaum 2017-02-14 10:03:18 UTC
Hi David,

I think I already 'passed' you a BZ with the same issue. Can you please confirm is the same issue as before so we can close one of them?

Thanks,
Marcel

Comment 13 Dr. David Alan Gilbert 2017-02-14 10:12:19 UTC
(In reply to Marcel Apfelbaum from comment #12)
> Hi David,
> 
> I think I already 'passed' you a BZ with the same issue. Can you please
> confirm is the same issue as before so we can close one of them?
> 
> Thanks,
> Marcel

Yes, I think that's the same as bz 1342434 which I just fixed upstream, so it's a fixed-in-2.9  where it gives a prettier failure.
There doesn't seem any point in backporting the fix to the qemu-kvm world since it's an unreal use case anyway.

Comment 14 Marcel Apfelbaum 2017-02-14 10:21:49 UTC
(In reply to Dr. David Alan Gilbert from comment #13)
> (In reply to Marcel Apfelbaum from comment #12)
> > Hi David,
> > 
> > I think I already 'passed' you a BZ with the same issue. Can you please
> > confirm is the same issue as before so we can close one of them?
> > 
> > Thanks,
> > Marcel
> 
> Yes, I think that's the same as bz 1342434 which I just fixed upstream, so
> it's a fixed-in-2.9  where it gives a prettier failure.
> There doesn't seem any point in backporting the fix to the qemu-kvm world
> since it's an unreal use case anyway.

Agreed,
Since is the same issue as bz 1342434 I'll close it as duplicate.

*** This bug has been marked as a duplicate of bug 1342434 ***