Bug 552519

Summary: KVM : QEMU-Audio attempting to stop unactivated audio device (snd_playback_stop: ASSERT playback_channel->base.active failed).
Product: Red Hat Enterprise Linux 5 Reporter: RHEL Program Management <pm-rhel>
Component: kvmAssignee: Eduardo Habkost <ehabkost>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 5.4CC: armbru, lihuang, ohochman, pm-eus, qzhang, riek, tburke, virt-maint, ykamay, ykaul
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: kvm-83-105.el5_4.19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-02-09 10:02:21 UTC Type: ---
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: 520394    
Bug Blocks: 553441    

Description RHEL Program Management 2010-01-05 11:37:57 UTC
This bug has been copied from bug #520394 and has been proposed
to be backported to 5.4 z-stream (EUS).

Comment 7 Qunfang Zhang 2010-01-18 07:47:29 UTC
Can reproduce in kvm-83-105.el5_4.18
Retest on kvm-83-105.el5_4.19,this problem does not exist.

Steps:
1.Boot the windows guest using spice.
 #/usr/libexec/qemu-kvm -m 1G -smp 1 -cpu qemu64,+sse2 -drive
file=/root/win2003-32.qcow2,if=ide,media=disk -net
nic,macaddr=20:20:20:19:18:88,vlan=0 -net tap,script=/etc/qemu-ifup,vlan=0
-rtc-td-hack -no-hpet -usbdevice tablet -soundhw ac97 -spice
host=0,ic=on,port=5930,disable-ticketing -qxl 1 -monitor stdio
2.2.*Enable the audio inside the guest.* by the following method:
Click 'Start'-> 'Control Panel'-> 'Sounds and Audio Devices'-> 'Enable' audio
3.Run movie in guest
4.in qemu monitor, migrate guest to file.
(qemu) migrate "exec:gzip -c > /home/STATEFILE6.gz"
5.After finished migration, send "quit" command in qemu monitor.
(qemu)quit


Test result in kvm-83-105.el5_4.18(old version)
(qemu) migrate "exec:gzip -c > /home/STATEFILE6.gz"
Detaching after fork from child process 10255.
qemu_popen: returning result of qemu_fopen_ops

[Thread 0x4332c940 (LWP 10233) exited]
QXL: qxl_vm_change_state_handler: running=0
handle_dev_input: stop
handle_dev_input: save
QXL SAVE -- last_release_offset=0 
(qemu) quit 
snd_playback_stop: ASSERT playback_channel->base.active failed

Program received signal SIGABRT, Aborted.
0x00000037a4430265 in raise () from /lib64/libc.so.6

(gdb) bt
#0  0x00000037a4430265 in raise () from /lib64/libc.so.6
#1  0x00000037a4431d10 in abort () from /lib64/libc.so.6
#2  0x00000037a902e579 in ?? () from /usr/lib64/libspice.so.0
#3  0x000000000047d31d in line_out_ctl (hw=<value optimized out>, cmd=10217)
    at audio/vd_interface_audio.c:439
#4  0x0000000000475899 in audio_atexit () at audio/audio.c:1660
#5  0x00000037a44333a5 in exit () from /lib64/libc.so.6
#6  0x000000000040ed6b in do_quit ()
    at /usr/src/debug/kvm-83-maint-snapshot-20090205/qemu/monitor.c:502
#7  0x0000000000410617 in monitor_handle_command1 (
    opaque=<value optimized out>, cmdline=<value optimized out>)
    at /usr/src/debug/kvm-83-maint-snapshot-20090205/qemu/monitor.c:2699
#8  0x00000000004657f2 in readline_handle_byte (ch=<value optimized out>)
    at readline.c:398
#9  0x000000000040eb5f in term_read (opaque=<value optimized out>, 
    buf=0x27e9 <Address 0x27e9 out of bounds>, size=1)
    at /usr/src/debug/kvm-83-maint-snapshot-20090205/qemu/monitor.c:3071
#10 0x00000000004714f1 in fd_chr_read (opaque=<value optimized out>)
    at qemu-char.c:541
#11 0x0000000000409722 in main_loop_wait (timeout=<value optimized out>)
    at /usr/src/debug/kvm-83-maint-snapshot-20090205/qemu/vl.c:3935
#12 0x00000000005000aa in kvm_main_loop ()
    at /usr/src/debug/kvm-83-maint-snapshot-20090205/qemu/qemu-kvm.c:603
#13 0x000000000040dc0c in main (argc=25, argv=0x7fff01fca378, 
    envp=<value optimized out>)
    at /usr/src/debug/kvm-83-maint-snapshot-20090205/qemu/vl.c:3992


Retest on kvm-83-105.el5_4.19,this problem does not exist.
(qemu) migrate "exec:gzip -c > /home/STATEFILE7.gz"
Detaching after fork from child process 4031.
qemu_popen: returning result of qemu_fopen_ops

QXL: qxl_vm_change_state_handler: running=0
handle_dev_input: stop
[Thread 0x430d2940 (LWP 4021) exited]
handle_dev_input: save
QXL SAVE -- last_release_offset=0 
(qemu) quit 
interface_audio_fini: 
interface_change_notifier: remove VD_INTERFACE_PLAYBACK
interface_change_notifier: remove VD_INTERFACE_RECORD
[Thread 0x43ad3940 (LWP 4022) exited]
[Thread 0x4195d940 (LWP 4013) exited]
[Thread 0x40f5c940 (LWP 4012) exited]
[Thread 0x426d1940 (LWP 4018) exited]

Program exited normally.
(gdb)

Comment 10 errata-xmlrpc 2010-02-09 10:02:21 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0088.html