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.
Description of problem:
I boot a guest on a host with spice using port 5930, and then boot another guest on the same host using port 5930 too, then guest aborted.
So suggest there's a prompt instead of aborted.
Command line:
/usr/libexec/qemu-kvm -usbdevice tablet -rtc-td-hack -m 8G -smp 8 -drive file=/dev/vgtest/lv-2k3-64-raw,format=raw,media=disk,if=none,boot=on,cache=none,werror=stop,rerror=stop,id=test -device virtio-blk-pci,drive=test -net nic,vlan=0,macaddr=20:20:20:56:54:22,model=virtio -net tap,vlan=0,script=/etc/qemu-ifup -uuid af354869-1403-4797-8321-9de7d305abbe -cpu qemu64,+sse2 -balloon none -monitor stdio -fda /root/virtio-drivers-1.0.0-45801.vfd -vga qxl -spice port=5930,disable-ticketing -boot c
Version-Release number of selected component (if applicable):
qemu-kvm-0.12.1.2-2.71.el6.x86_64
How reproducible:
Always
Steps to Reproduce:
1.Boot a guest using the above command line.
2.Boot another guest using the same spice port
3.
Actual results:
Guest aborted.
Expected results:
No aborted, just prompt
Additional info:
[root@amd-2427-32-1 ~]# gdb /usr/libexec/qemu-kvm
GNU gdb (GDB) Red Hat Enterprise Linux (7.1-24.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/libexec/qemu-kvm...Reading symbols from /usr/lib/debug/usr/libexec/qemu-kvm.debug...done.
done.
(gdb) r -usbdevice tablet -rtc-td-hack -m 8G -smp 8 -drive file=/dev/vgtest/lv-2k3-64-raw,format=raw,media=disk,if=none,boot=on,cache=none,werror=stop,rerror=stop,id=test -device virtio-blk-pci,drive=test -net nic,vlan=0,macaddr=20:20:20:56:54:22,model=virtio -net tap,vlan=0,script=/etc/qemu-ifup -uuid af354869-1403-4797-8321-9de7d305abbe -cpu qemu64,+sse2 -balloon none -monitor stdio -fda /root/virtio-drivers-1.0.0-45801.vfd -vga qxl -spice port=5930,disable-ticketing -boot c
Starting program: /usr/libexec/qemu-kvm -usbdevice tablet -rtc-td-hack -m 8G -smp 8 -drive file=/dev/vgtest/lv-2k3-64-raw,format=raw,media=disk,if=none,boot=on,cache=none,werror=stop,rerror=stop,id=test -device virtio-blk-pci,drive=test -net nic,vlan=0,macaddr=20:20:20:56:54:22,model=virtio -net tap,vlan=0,script=/etc/qemu-ifup -uuid af354869-1403-4797-8321-9de7d305abbe -cpu qemu64,+sse2 -balloon none -monitor stdio -fda /root/virtio-drivers-1.0.0-45801.vfd -vga qxl -spice port=5930,disable-ticketing -boot c
[Thread debugging using libthread_db enabled]
Detaching after fork from child process 6911.
do_spice_init: starting 0.4.2-10..el6
reds_init_socket: reds_init_socket: binding socket to :5930 failed
Program received signal SIGABRT, Aborted.
0x000000317c6329c5 in raise () from /lib64/libc.so.6
(gdb) bt
#0 0x000000317c6329c5 in raise () from /lib64/libc.so.6
#1 0x000000317c6341a5 in abort () from /lib64/libc.so.6
#2 0x0000003187a1768e in reds_init_socket (portnr=5930,
family=<value optimized out>,
addr=0x2a3ac0 <Address 0x2a3ac0 out of bounds>) at reds.c:3153
#3 0x0000003187a1d2eb in reds_init_net (core_interface=<value optimized out>)
at reds.c:3171
#4 do_spice_init (core_interface=<value optimized out>) at reds.c:5475
#5 0x0000003187a1d9e5 in spice_server_init (s=<value optimized out>,
core=<value optimized out>) at reds.c:5507
#6 0x000000000046fd0f in qemu_spice_init ()
at /usr/src/debug/qemu-kvm-0.12.1.2/spice.c:438
#7 0x000000000040d629 in main (argc=<value optimized out>,
argv=<value optimized out>, envp=<value optimized out>)
at /usr/src/debug/qemu-kvm-0.12.1.2/vl.c:6216
(gdb)
Comment 2RHEL Program Management
2010-06-09 09:53:16 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release. Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release. This request is not yet committed for
inclusion.
Oh, it is just qemu which is aborted, before the guest got a chance to run, so this doesn't harm the guest. There also is a message clearly stating what happened. Which makes this a minor issue IMHO.
Also fixing this requires spice-server passing up errors instead if just abort()ing. Needs some infrastructure work upstream. Fixing this in 6.1 when we sync RHEL-6 spice with upstream should be doable.
As Gerd mentioned above, in RHEL-6.1, spice-server is rebased to spice upstream 0.8. So spice-server does not abort in that case anymore.
But, we need to check in qemu-kvm the value returned from spice_server_init(), and exit upon failure.
Moving back to qemu-kvm.
This bug appears to be fixed:
6 bow:spice_rhel6 alon$ qemu-system-x86_64 -spice port=9998
do_spice_init: starting 0.8.2
reds_init_socket: reds_init_socket: binding socket to :9998 failed
failed to initialize spice server
qemu fails (like Uri asked in comment 12) since commit 9e1520b2efe1a49715312103e9dc4fa32d4322e4 marked with BZ 682227, so making this a duplicate of that.
Also like Uri said spice doesn't abort on binding failure in reds_init_socket since commit 2e1b66143497d58ee503336b1c084f8792697598 which is in 0.5.2 already, i.e. is part of all packages since the rebase to spice 0.8.
*** This bug has been marked as a duplicate of bug 682227 ***