* qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation
@ 2012-08-23 16:16 Mike Gerber
2012-08-23 16:41 ` Jan Kiszka
2012-08-24 7:13 ` Michael Tokarev
0 siblings, 2 replies; 4+ messages in thread
From: Mike Gerber @ 2012-08-23 16:16 UTC (permalink / raw)
To: kvm
Hi,
I'm using a KVM guest to stream audio using darkice to an icecast2 server on the
same guest. The guest uses an emulated ES1370 sound card to capture the host's
audio input (ASUS Xonar DX) using the ALSA backend. After 1 or 2 days, the
qemu-kvm process locks up, using up 100% CPU, apparently spinning in
audio/rate_template.h (See gdb session below).
Do you have any advice on how to solve this problem?
I haven't tried the -no-kvm-* switches, please advice if that would be useful
in this case. Unfortunately it takes up to 2 days for the bug to happen, so
trying all possible configurations is a bit time-consuming.
More information here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685353
Thank you for your time,
Mike
cpu model: AMD Turion(tm) II Neo N40L Dual-Core Processor
qemu-kvm version: 1.1.1 (Debian package by Michael Tokarev),
happened also with 1.1.0
host: Debian wheezy, 3.2.23, x86_64
guest: Debian wheezy, 3.2.23, x86_64
/usr/bin/kvm -S -M pc-1.1 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1
-name mp3 -uuid 25d2b76c-9533-c55a-b5e2-07da213886f1 -nodefconfig -nodefaults
-chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/mp3.monitor,server,nowait -mon
chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device
piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
file=/dev/vg_vms/lv_mp3,if=none,id=drive-virtio-disk0,format=raw -device
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
-netdev tap,fd=20,id=hostnet0 -device
virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b1:e7:80,bus=pci.0,addr=0x3
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0
-vnc 127.0.0.1:0 -vga cirrus -device ES1370,id=sound0,bus=pci.0,addr=0x6 -device
i6300esb,id=watchdog0,bus=pci.0,addr=0x7 -watchdog-action reset -device
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
gdb output (truncated, full output at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685353)
(gdb) info threads
Id Target Id Frame
2 Thread 0x7fccec446700 (LWP 19893) "kvm" 0x00007fccf3f5fcec in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
* 1 Thread 0x7fccf7c8c8e0 (LWP 19892) "kvm" st_rate_flow (opaque=0x7fccf9248f40, ibuf=0x7fccf9150320, obuf=0x7fccf91975b0, isamp=isamp@entry=0x7fffe9ff6550,
osamp=osamp@entry=0x7fffe9ff6554) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h:75
(gdb) thread apply all bt full
Thread 2 (Thread 0x7fccec446700 (LWP 19893)):
#0 0x00007fccf3f5fcec in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1 0x00007fccf3f5b339 in _L_lock_926 () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#2 0x00007fccf3f5b15b in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#3 0x00007fccf7f18c29 in qemu_mutex_lock (mutex=mutex@entry=0x7fccf8c39a80) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/qemu-thread-posix.c:54
err = <optimized out>
__func__ = "qemu_mutex_lock"
#4 0x00007fccf7f729f0 in qemu_mutex_lock_iothread () at /tmp/buildd/qemu-kvm-1.1.1+dfsg/cpus.c:897
No locals.
#5 0x00007fccf7f9a0b6 in kvm_cpu_exec (env=env@entry=0x7fccf902d510) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/kvm-all.c:1268
run = 0x7fccf7d80000
ret = <optimized out>
run_ret = 0
#6 0x00007fccf7f71591 in qemu_kvm_cpu_thread_fn (arg=0x7fccf902d510) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/cpus.c:752
env = 0x7fccf902d510
r = <optimized out>
#7 0x00007fccf3f58b50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#8 0x00007fccf3ca370d in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#9 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 1 (Thread 0x7fccf7c8c8e0 (LWP 19892)):
#0 st_rate_flow (opaque=0x7fccf9248f40, ibuf=0x7fccf9150320, obuf=0x7fccf91975b0, isamp=isamp@entry=0x7fffe9ff6550, osamp=osamp@entry=0x7fffe9ff6554)
at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h:75
rate = 0x7fccf9248f40
istart = 0x7fccf9148810
iend = 0x7fccf91730c0
ostart = 0x7fccf91975b0
oend = 0x7fccf9197870
ilast = {l = -50003968, r = 171704320}
icur = <optimized out>
out = <optimized out>
t = <optimized out>
#1 0x00007fccf7e08a96 in audio_pcm_sw_read (sw=0x7fccf9260bf0, buf=0x7fffe9ff65d0, size=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/audio.c:952
hw = 0x7fccf924aa20
samples = <optimized out>
live = <optimized out>
ret = <optimized out>
swlim = <optimized out>
isamp = 10891
osamp = 44
rpos = 0
total = <optimized out>
src = <optimized out>
dst = <optimized out>
__FUNCTION__ = "audio_pcm_sw_read"
#2 0x00007fccf7e9ac0a in es1370_transfer_audio (s=s@entry=0x7fccf90a9470, d=0x7fccf90a9988, loop_sel=32768, max=<optimized out>, irq=irq@entry=0x7fffe9ff7624)
at /tmp/buildd/qemu-kvm-1.1.1+dfsg/hw/es1370.c:803
acquired = <optimized out>
to_copy = 4096
tmpbuf = "\344\002\230\017f\002\006\022\243\001~\021\230\000\000\r\251\377\035\005z\377{\374O\000\332\365\320\001\032\362\224\003]\360U\005\330\357\347\006\375\357i\b\\\360\062\n\273\360h\f9\361\263\016\070\362N\020\336\363`\020\233\365H\016{\366\357\n\234\366\351\a|\366\365\005\065\366\364\004n\365\230\004\372\363\242\004B\362\320\004\026\361\346\004\365\360\363\004\214\361\017\005E\362\323\004\034\363C\004\246\364\304\003\374\366\306\003\\\371p\004W\372\222\005\341\370\343\006\004\365\067\b\357\357}\t\202\353m\n\330\351\256\n\254\354C\n\226\362\024\t\346\367P\a\341\372\313\005\064\374\063\005\353\374\230\005y\375\221\006\336\375\270\a\025\376\366\b#\376>\n\367\375\062\v\372\375}\v\271\376P\v\357\377\357\n\t\001\256\n\213\001\023\v\033\001]\f\203\377\032\016\316\374R\017a\371Y\0
17\330\365\357\r,\363 \v\273\362\v\bA\364\215\005\210\366{\003n\370a\001\220\371=\377T\372\\\375v\373\372\373f\375T\373\275\377\265\373h\001\352\374\264\001$\376\340\000\312\376$\377\300\376\204\374a\376[\371\032\376H\366\a\376\t\364\363\375n\363\254\375\032\365\063\375\316\370\217\374P\375G\3---Type <return> to continue, or q <return> to quit---
74q\000\240\374z\000\025\375t\375\061\375\375\370\n\375\346\364\027\375\363\361\275\375\363\357\365\376\316\356%\000&\357V\000R\361\066\377\374\363\205\375\300\365\277\374\376\366\344\375\033\370\220\000\037\371v\003\332\371\223\005\367\371\274\006\063\371U\a\272\367\304\a@\366W\b\\\365\372\b\323\364\352\b\322\363\071\b\032\362f\a\275\357\306\006\353\354\200\006\357\351\211\006\060\347"...
addr = 1021014016
sc = 1023
csc_bytes = 4096
cnt = 7168
size = 16383
left = <optimized out>
transferred = <optimized out>
temp = 4096
index = 2
#3 0x00007fccf7e9af54 in es1370_run_channel (s=0x7fccf90a9470, chan=<optimized out>, free_or_avail=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/hw/es1370.c:877
new_status = 96
max_bytes = <optimized out>
irq = <optimized out>
d = <optimized out>
b = 0x7fccf833ec30
#4 0x00007fccf7e0a4e7 in audio_run_in (s=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/audio.c:1487
sw = 0x7fccf9260bf0
captured = <optimized out>
hw = <optimized out>
#5 audio_run (msg=msg@entry=0x7fccf80529d1 "alsa run (running)") at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/audio.c:1546
s = 0x7fccf84029c0
#6 0x00007fccf7e04b91 in alsa_poll_handler (opaque=0x7fccf924aaa8) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/alsaaudio.c:233
err = <optimized out>
count = <optimized out>
state = <optimized out>
revents = 1
#7 0x00007fccf7e5b406 in qemu_iohandler_poll (readfds=readfds@entry=0x7fccf880f060, writefds=writefds@entry=0x7fccf880f0e0, xfds=xfds@entry=0x7fccf880f160, ret=ret@entry=1)
at /tmp/buildd/qemu-kvm-1.1.1+dfsg/iohandler.c:122
pioh = 0x7fccf90e7990
ioh = 0x7fccf9274e40
#8 0x00007fccf7eedb6a in main_loop_wait (nonblocking=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/main-loop.c:497
ret = 1
timeout = 4294967295
#9 0x00007fccf7dfd943 in main_loop () at /tmp/buildd/qemu-kvm-1.1.1+dfsg/vl.c:1566
nonblocking = <optimized out>
last_io = 1
#10 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/vl.c:3702
i = <optimized out>
snapshot = 0
linux_boot = <optimized out>
icount_option = 0x0
initrd_filename = <optimized out>
kernel_filename = <optimized out>
kernel_cmdline = <optimized out>
boot_devices = "cad", '\000' <repeats 29 times>
ds = 0x7fccf90470b0
dcl = <optimized out>
cyls = 0
heads = 0
secs = 0
translation = 0
hda_opts = <optimized out>
opts = <optimized out>
machine_opts = <optimized out>
olist = <optimized out>
optind = 48
optarg = 0x7fffe9ff8f67 "virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4"
loadvm = 0x0
machine = 0x7fccf83fdb60
---Type <return> to continue, or q <return> to quit---
cpu_model = 0x0
vga_model = 0x7fffe9ff8ee4 "cirrus"
pid_file = 0x0
incoming = 0x0
defconfig = <optimized out>
userconfig = false
log_mask = 0x0
log_file = 0x0
mem_trace = {malloc = 0x7fccf7ee6c40 <malloc_and_trace>, realloc = 0x7fccf7ee6c00 <realloc_and_trace>, free = 0x7fccf7ee6bc0 <free_and_trace>, calloc = 0, try_malloc = 0,
try_realloc = 0}
trace_events = 0x0
trace_file = 0x0
(gdb) step
73 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
75 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
71 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
72 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
73 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
75 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
73 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
75 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
71 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
72 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
(gdb)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation
2012-08-23 16:16 qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation Mike Gerber
@ 2012-08-23 16:41 ` Jan Kiszka
2012-08-24 7:13 ` Michael Tokarev
1 sibling, 0 replies; 4+ messages in thread
From: Jan Kiszka @ 2012-08-23 16:41 UTC (permalink / raw)
To: Mike Gerber; +Cc: kvm, qemu-devel
[likely not kvm related, CC'ing the appropriate community]
On 2012-08-23 18:16, Mike Gerber wrote:
> Hi,
>
> I'm using a KVM guest to stream audio using darkice to an icecast2 server on the
> same guest. The guest uses an emulated ES1370 sound card to capture the host's
> audio input (ASUS Xonar DX) using the ALSA backend. After 1 or 2 days, the
> qemu-kvm process locks up, using up 100% CPU, apparently spinning in
> audio/rate_template.h (See gdb session below).
>
> Do you have any advice on how to solve this problem?
>
> I haven't tried the -no-kvm-* switches, please advice if that would be useful
> in this case. Unfortunately it takes up to 2 days for the bug to happen, so
> trying all possible configurations is a bit time-consuming.
>
> More information here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685353
>
> Thank you for your time,
> Mike
>
> cpu model: AMD Turion(tm) II Neo N40L Dual-Core Processor
> qemu-kvm version: 1.1.1 (Debian package by Michael Tokarev),
> happened also with 1.1.0
> host: Debian wheezy, 3.2.23, x86_64
> guest: Debian wheezy, 3.2.23, x86_64
>
> /usr/bin/kvm -S -M pc-1.1 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1
> -name mp3 -uuid 25d2b76c-9533-c55a-b5e2-07da213886f1 -nodefconfig -nodefaults
> -chardev
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/mp3.monitor,server,nowait -mon
> chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device
> piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
> file=/dev/vg_vms/lv_mp3,if=none,id=drive-virtio-disk0,format=raw -device
> virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
> -netdev tap,fd=20,id=hostnet0 -device
> virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b1:e7:80,bus=pci.0,addr=0x3
> -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0
> -vnc 127.0.0.1:0 -vga cirrus -device ES1370,id=sound0,bus=pci.0,addr=0x6 -device
> i6300esb,id=watchdog0,bus=pci.0,addr=0x7 -watchdog-action reset -device
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
>
> gdb output (truncated, full output at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685353)
>
> (gdb) info threads
> Id Target Id Frame
> 2 Thread 0x7fccec446700 (LWP 19893) "kvm" 0x00007fccf3f5fcec in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
> * 1 Thread 0x7fccf7c8c8e0 (LWP 19892) "kvm" st_rate_flow (opaque=0x7fccf9248f40, ibuf=0x7fccf9150320, obuf=0x7fccf91975b0, isamp=isamp@entry=0x7fffe9ff6550,
> osamp=osamp@entry=0x7fffe9ff6554) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h:75
> (gdb) thread apply all bt full
>
> Thread 2 (Thread 0x7fccec446700 (LWP 19893)):
> #0 0x00007fccf3f5fcec in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #1 0x00007fccf3f5b339 in _L_lock_926 () from /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #2 0x00007fccf3f5b15b in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #3 0x00007fccf7f18c29 in qemu_mutex_lock (mutex=mutex@entry=0x7fccf8c39a80) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/qemu-thread-posix.c:54
> err = <optimized out>
> __func__ = "qemu_mutex_lock"
> #4 0x00007fccf7f729f0 in qemu_mutex_lock_iothread () at /tmp/buildd/qemu-kvm-1.1.1+dfsg/cpus.c:897
> No locals.
> #5 0x00007fccf7f9a0b6 in kvm_cpu_exec (env=env@entry=0x7fccf902d510) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/kvm-all.c:1268
> run = 0x7fccf7d80000
> ret = <optimized out>
> run_ret = 0
> #6 0x00007fccf7f71591 in qemu_kvm_cpu_thread_fn (arg=0x7fccf902d510) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/cpus.c:752
> env = 0x7fccf902d510
> r = <optimized out>
> #7 0x00007fccf3f58b50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #8 0x00007fccf3ca370d in clone () from /lib/x86_64-linux-gnu/libc.so.6
> No symbol table info available.
> #9 0x0000000000000000 in ?? ()
> No symbol table info available.
>
> Thread 1 (Thread 0x7fccf7c8c8e0 (LWP 19892)):
> #0 st_rate_flow (opaque=0x7fccf9248f40, ibuf=0x7fccf9150320, obuf=0x7fccf91975b0, isamp=isamp@entry=0x7fffe9ff6550, osamp=osamp@entry=0x7fffe9ff6554)
> at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h:75
> rate = 0x7fccf9248f40
> istart = 0x7fccf9148810
> iend = 0x7fccf91730c0
> ostart = 0x7fccf91975b0
> oend = 0x7fccf9197870
> ilast = {l = -50003968, r = 171704320}
> icur = <optimized out>
> out = <optimized out>
> t = <optimized out>
> #1 0x00007fccf7e08a96 in audio_pcm_sw_read (sw=0x7fccf9260bf0, buf=0x7fffe9ff65d0, size=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/audio.c:952
> hw = 0x7fccf924aa20
> samples = <optimized out>
> live = <optimized out>
> ret = <optimized out>
> swlim = <optimized out>
> isamp = 10891
> osamp = 44
> rpos = 0
> total = <optimized out>
> src = <optimized out>
> dst = <optimized out>
> __FUNCTION__ = "audio_pcm_sw_read"
> #2 0x00007fccf7e9ac0a in es1370_transfer_audio (s=s@entry=0x7fccf90a9470, d=0x7fccf90a9988, loop_sel=32768, max=<optimized out>, irq=irq@entry=0x7fffe9ff7624)
> at /tmp/buildd/qemu-kvm-1.1.1+dfsg/hw/es1370.c:803
> acquired = <optimized out>
> to_copy = 4096
> tmpbuf = "\344\002\230\017f\002\006\022\243\001~\021\230\000\000\r\251\377\035\005z\377{\374O\000\332\365\320\001\032\362\224\003]\360U\005\330\357\347\006\375\357i\b\\\360\062\n\273\360h\f9\361\263\016\070\362N\020\336\363`\020\233\365H\016{\366\357\n\234\366\351\a|\366\365\005\065\366\364\004n\365\230\004\372\363\242\004B\362\320\004\026\361\346\004\365\360\363\004\214\361\017\005E\362\323\004\034\363C\004\246\364\304\003\374\366\306\003\\\371p\004W\372\222\005\341\370\343\006\004\365\067\b\357\357}\t\202\353m\n\330\351\256\n\254\354C\n\226\362\024\t\346\367P\a\341\372\313\005\064\374\063\005\353\374\230\005y\375\221\006\336\375\270\a\025\376\366\b#\376>\n\367\375\062\v\372\375}\v\271\376P\v\357\377\357\n\t\001\256\n\213\001\023\v\033\001]\f\203\377\032\016\316\374R\017a\371Y
\0
> 17\330\365\357\r,\363 \v\273\362\v\bA\364\215\005\210\366{\003n\370a\001\220\371=\377T\372\\\375v\373\372\373f\375T\373\275\377\265\373h\001\352\374\264\001$\376\340\000\312\376$\377\300\376\204\374a\376[\371\032\376H\366\a\376\t\364\363\375n\363\254\375\032\365\063\375\316\370\217\374P\375G\3---Type <return> to continue, or q <return> to quit---
> 74q\000\240\374z\000\025\375t\375\061\375\375\370\n\375\346\364\027\375\363\361\275\375\363\357\365\376\316\356%\000&\357V\000R\361\066\377\374\363\205\375\300\365\277\374\376\366\344\375\033\370\220\000\037\371v\003\332\371\223\005\367\371\274\006\063\371U\a\272\367\304\a@\366W\b\\\365\372\b\323\364\352\b\322\363\071\b\032\362f\a\275\357\306\006\353\354\200\006\357\351\211\006\060\347"...
> addr = 1021014016
> sc = 1023
> csc_bytes = 4096
> cnt = 7168
> size = 16383
> left = <optimized out>
> transferred = <optimized out>
> temp = 4096
> index = 2
> #3 0x00007fccf7e9af54 in es1370_run_channel (s=0x7fccf90a9470, chan=<optimized out>, free_or_avail=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/hw/es1370.c:877
> new_status = 96
> max_bytes = <optimized out>
> irq = <optimized out>
> d = <optimized out>
> b = 0x7fccf833ec30
> #4 0x00007fccf7e0a4e7 in audio_run_in (s=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/audio.c:1487
> sw = 0x7fccf9260bf0
> captured = <optimized out>
> hw = <optimized out>
> #5 audio_run (msg=msg@entry=0x7fccf80529d1 "alsa run (running)") at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/audio.c:1546
> s = 0x7fccf84029c0
> #6 0x00007fccf7e04b91 in alsa_poll_handler (opaque=0x7fccf924aaa8) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/alsaaudio.c:233
> err = <optimized out>
> count = <optimized out>
> state = <optimized out>
> revents = 1
> #7 0x00007fccf7e5b406 in qemu_iohandler_poll (readfds=readfds@entry=0x7fccf880f060, writefds=writefds@entry=0x7fccf880f0e0, xfds=xfds@entry=0x7fccf880f160, ret=ret@entry=1)
> at /tmp/buildd/qemu-kvm-1.1.1+dfsg/iohandler.c:122
> pioh = 0x7fccf90e7990
> ioh = 0x7fccf9274e40
> #8 0x00007fccf7eedb6a in main_loop_wait (nonblocking=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/main-loop.c:497
> ret = 1
> timeout = 4294967295
> #9 0x00007fccf7dfd943 in main_loop () at /tmp/buildd/qemu-kvm-1.1.1+dfsg/vl.c:1566
> nonblocking = <optimized out>
> last_io = 1
> #10 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/vl.c:3702
> i = <optimized out>
> snapshot = 0
> linux_boot = <optimized out>
> icount_option = 0x0
> initrd_filename = <optimized out>
> kernel_filename = <optimized out>
> kernel_cmdline = <optimized out>
> boot_devices = "cad", '\000' <repeats 29 times>
> ds = 0x7fccf90470b0
> dcl = <optimized out>
> cyls = 0
> heads = 0
> secs = 0
> translation = 0
> hda_opts = <optimized out>
> opts = <optimized out>
> machine_opts = <optimized out>
> olist = <optimized out>
> optind = 48
> optarg = 0x7fffe9ff8f67 "virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4"
> loadvm = 0x0
> machine = 0x7fccf83fdb60
> ---Type <return> to continue, or q <return> to quit---
> cpu_model = 0x0
> vga_model = 0x7fffe9ff8ee4 "cirrus"
> pid_file = 0x0
> incoming = 0x0
> defconfig = <optimized out>
> userconfig = false
> log_mask = 0x0
> log_file = 0x0
> mem_trace = {malloc = 0x7fccf7ee6c40 <malloc_and_trace>, realloc = 0x7fccf7ee6c00 <realloc_and_trace>, free = 0x7fccf7ee6bc0 <free_and_trace>, calloc = 0, try_malloc = 0,
> try_realloc = 0}
> trace_events = 0x0
> trace_file = 0x0
> (gdb) step
> 73 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 75 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 71 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 72 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 73 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 75 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 73 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 75 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 71 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 72 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
--
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation
2012-08-23 16:16 qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation Mike Gerber
2012-08-23 16:41 ` Jan Kiszka
@ 2012-08-24 7:13 ` Michael Tokarev
2012-08-24 12:15 ` malc
1 sibling, 1 reply; 4+ messages in thread
From: Michael Tokarev @ 2012-08-24 7:13 UTC (permalink / raw)
To: Mike Gerber; +Cc: kvm, Vassili Karpov
Hello Mike, Vassili.
On 23.08.2012 20:16, Mike Gerber wrote:
> Hi,
>
> I'm using a KVM guest to stream audio using darkice to an icecast2 server on the
> same guest. The guest uses an emulated ES1370 sound card to capture the host's
> audio input (ASUS Xonar DX) using the ALSA backend. After 1 or 2 days, the
> qemu-kvm process locks up, using up 100% CPU, apparently spinning in
> audio/rate_template.h (See gdb session below).
>
> Do you have any advice on how to solve this problem?
>
> I haven't tried the -no-kvm-* switches, please advice if that would be useful
> in this case. Unfortunately it takes up to 2 days for the bug to happen, so
> trying all possible configurations is a bit time-consuming.
>
> More information here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685353
Mike, I noticed your work trying to debug the issue, and you finally
succeeded to get a usable backtrace which is good. I just weren't
able to get to you earlier.
Can you also check whenever hda emulated device also shows this issue?
Vassili, can you take a look please - the prob appears to be somehow
sound-related..
Thank you!
/mjt
> cpu model: AMD Turion(tm) II Neo N40L Dual-Core Processor
> qemu-kvm version: 1.1.1 (Debian package by Michael Tokarev),
> happened also with 1.1.0
> host: Debian wheezy, 3.2.23, x86_64
> guest: Debian wheezy, 3.2.23, x86_64
>
> /usr/bin/kvm -S -M pc-1.1 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1
> -name mp3 -uuid 25d2b76c-9533-c55a-b5e2-07da213886f1 -nodefconfig -nodefaults
> -chardev
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/mp3.monitor,server,nowait -mon
> chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device
> piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
> file=/dev/vg_vms/lv_mp3,if=none,id=drive-virtio-disk0,format=raw -device
> virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
> -netdev tap,fd=20,id=hostnet0 -device
> virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:b1:e7:80,bus=pci.0,addr=0x3
> -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0
> -vnc 127.0.0.1:0 -vga cirrus -device ES1370,id=sound0,bus=pci.0,addr=0x6 -device
> i6300esb,id=watchdog0,bus=pci.0,addr=0x7 -watchdog-action reset -device
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
>
> gdb output (truncated, full output at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685353)
>
> (gdb) info threads
> Id Target Id Frame
> 2 Thread 0x7fccec446700 (LWP 19893) "kvm" 0x00007fccf3f5fcec in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
> * 1 Thread 0x7fccf7c8c8e0 (LWP 19892) "kvm" st_rate_flow (opaque=0x7fccf9248f40, ibuf=0x7fccf9150320, obuf=0x7fccf91975b0, isamp=isamp@entry=0x7fffe9ff6550,
> osamp=osamp@entry=0x7fffe9ff6554) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h:75
> (gdb) thread apply all bt full
>
> Thread 2 (Thread 0x7fccec446700 (LWP 19893)):
> #0 0x00007fccf3f5fcec in __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #1 0x00007fccf3f5b339 in _L_lock_926 () from /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #2 0x00007fccf3f5b15b in pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #3 0x00007fccf7f18c29 in qemu_mutex_lock (mutex=mutex@entry=0x7fccf8c39a80) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/qemu-thread-posix.c:54
> err = <optimized out>
> __func__ = "qemu_mutex_lock"
> #4 0x00007fccf7f729f0 in qemu_mutex_lock_iothread () at /tmp/buildd/qemu-kvm-1.1.1+dfsg/cpus.c:897
> No locals.
> #5 0x00007fccf7f9a0b6 in kvm_cpu_exec (env=env@entry=0x7fccf902d510) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/kvm-all.c:1268
> run = 0x7fccf7d80000
> ret = <optimized out>
> run_ret = 0
> #6 0x00007fccf7f71591 in qemu_kvm_cpu_thread_fn (arg=0x7fccf902d510) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/cpus.c:752
> env = 0x7fccf902d510
> r = <optimized out>
> #7 0x00007fccf3f58b50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #8 0x00007fccf3ca370d in clone () from /lib/x86_64-linux-gnu/libc.so.6
> No symbol table info available.
> #9 0x0000000000000000 in ?? ()
> No symbol table info available.
>
> Thread 1 (Thread 0x7fccf7c8c8e0 (LWP 19892)):
> #0 st_rate_flow (opaque=0x7fccf9248f40, ibuf=0x7fccf9150320, obuf=0x7fccf91975b0, isamp=isamp@entry=0x7fffe9ff6550, osamp=osamp@entry=0x7fffe9ff6554)
> at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h:75
> rate = 0x7fccf9248f40
> istart = 0x7fccf9148810
> iend = 0x7fccf91730c0
> ostart = 0x7fccf91975b0
> oend = 0x7fccf9197870
> ilast = {l = -50003968, r = 171704320}
> icur = <optimized out>
> out = <optimized out>
> t = <optimized out>
> #1 0x00007fccf7e08a96 in audio_pcm_sw_read (sw=0x7fccf9260bf0, buf=0x7fffe9ff65d0, size=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/audio.c:952
> hw = 0x7fccf924aa20
> samples = <optimized out>
> live = <optimized out>
> ret = <optimized out>
> swlim = <optimized out>
> isamp = 10891
> osamp = 44
> rpos = 0
> total = <optimized out>
> src = <optimized out>
> dst = <optimized out>
> __FUNCTION__ = "audio_pcm_sw_read"
> #2 0x00007fccf7e9ac0a in es1370_transfer_audio (s=s@entry=0x7fccf90a9470, d=0x7fccf90a9988, loop_sel=32768, max=<optimized out>, irq=irq@entry=0x7fffe9ff7624)
> at /tmp/buildd/qemu-kvm-1.1.1+dfsg/hw/es1370.c:803
> acquired = <optimized out>
> to_copy = 4096
> tmpbuf = "\344\002\230\017f\002\006\022\243\001~\021\230\000\000\r\251\377\035\005z\377{\374O\000\332\365\320\001\032\362\224\003]\360U\005\330\357\347\006\375\357i\b\\\360\062\n\273\360h\f9\361\263\016\070\362N\020\336\363`\020\233\365H\016{\366\357\n\234\366\351\a|\366\365\005\065\366\364\004n\365\230\004\372\363\242\004B\362\320\004\026\361\346\004\365\360\363\004\214\361\017\005E\362\323\004\034\363C\004\246\364\304\003\374\366\306\003\\\371p\004W\372\222\005\341\370\343\006\004\365\067\b\357\357}\t\202\353m\n\330\351\256\n\254\354C\n\226\362\024\t\346\367P\a\341\372\313\005\064\374\063\005\353\374\230\005y\375\221\006\336\375\270\a\025\376\366\b#\376>\n\367\375\062\v\372\375}\v\271\376P\v\357\377\357\n\t\001\256\n\213\001\023\v\033\001]\f\203\377\032\016\316\374R\017a\371Y
\017\330\365\357\r,\363 \v\273\362\v\bA\364\215\005\210\366{\003n\370a\001\220\371=\377T\372\\\375v\373\372\373f\375T\373\275\377\265\373h\001\352\374\264\001$\376\340\000\312\376$\377\300\376\204\3
7
4
> a\376[\371\032\376H\366\a\376\t\364\363\375n\363\254\375\032\365\063\375\316\370\217\374P\375G\3---Type <return> to continue, or q <return> to quit---
> 74q\000\240\374z\000\025\375t\375\061\375\375\370\n\375\346\364\027\375\363\361\275\375\363\357\365\376\316\356%\000&\357V\000R\361\066\377\374\363\205\375\300\365\277\374\376\366\344\375\033\370\220\000\037\371v\003\332\371\223\005\367\371\274\006\063\371U\a\272\367\304\a@\366W\b\\\365\372\b\323\364\352\b\322\363\071\b\032\362f\a\275\357\306\006\353\354\200\006\357\351\211\006\060\347"...
> addr = 1021014016
> sc = 1023
> csc_bytes = 4096
> cnt = 7168
> size = 16383
> left = <optimized out>
> transferred = <optimized out>
> temp = 4096
> index = 2
> #3 0x00007fccf7e9af54 in es1370_run_channel (s=0x7fccf90a9470, chan=<optimized out>, free_or_avail=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/hw/es1370.c:877
> new_status = 96
> max_bytes = <optimized out>
> irq = <optimized out>
> d = <optimized out>
> b = 0x7fccf833ec30
> #4 0x00007fccf7e0a4e7 in audio_run_in (s=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/audio.c:1487
> sw = 0x7fccf9260bf0
> captured = <optimized out>
> hw = <optimized out>
> #5 audio_run (msg=msg@entry=0x7fccf80529d1 "alsa run (running)") at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/audio.c:1546
> s = 0x7fccf84029c0
> #6 0x00007fccf7e04b91 in alsa_poll_handler (opaque=0x7fccf924aaa8) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/alsaaudio.c:233
> err = <optimized out>
> count = <optimized out>
> state = <optimized out>
> revents = 1
> #7 0x00007fccf7e5b406 in qemu_iohandler_poll (readfds=readfds@entry=0x7fccf880f060, writefds=writefds@entry=0x7fccf880f0e0, xfds=xfds@entry=0x7fccf880f160, ret=ret@entry=1)
> at /tmp/buildd/qemu-kvm-1.1.1+dfsg/iohandler.c:122
> pioh = 0x7fccf90e7990
> ioh = 0x7fccf9274e40
> #8 0x00007fccf7eedb6a in main_loop_wait (nonblocking=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/main-loop.c:497
> ret = 1
> timeout = 4294967295
> #9 0x00007fccf7dfd943 in main_loop () at /tmp/buildd/qemu-kvm-1.1.1+dfsg/vl.c:1566
> nonblocking = <optimized out>
> last_io = 1
> #10 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /tmp/buildd/qemu-kvm-1.1.1+dfsg/vl.c:3702
> i = <optimized out>
> snapshot = 0
> linux_boot = <optimized out>
> icount_option = 0x0
> initrd_filename = <optimized out>
> kernel_filename = <optimized out>
> kernel_cmdline = <optimized out>
> boot_devices = "cad", '\000' <repeats 29 times>
> ds = 0x7fccf90470b0
> dcl = <optimized out>
> cyls = 0
> heads = 0
> secs = 0
> translation = 0
> hda_opts = <optimized out>
> opts = <optimized out>
> machine_opts = <optimized out>
> olist = <optimized out>
> optind = 48
> optarg = 0x7fffe9ff8f67 "virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4"
> loadvm = 0x0
> machine = 0x7fccf83fdb60
> ---Type <return> to continue, or q <return> to quit---
> cpu_model = 0x0
> vga_model = 0x7fffe9ff8ee4 "cirrus"
> pid_file = 0x0
> incoming = 0x0
> defconfig = <optimized out>
> userconfig = false
> log_mask = 0x0
> log_file = 0x0
> mem_trace = {malloc = 0x7fccf7ee6c40 <malloc_and_trace>, realloc = 0x7fccf7ee6c00 <realloc_and_trace>, free = 0x7fccf7ee6bc0 <free_and_trace>, calloc = 0, try_malloc = 0,
> try_realloc = 0}
> trace_events = 0x0
> trace_file = 0x0
> (gdb) step
> 73 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 75 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 71 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 72 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 73 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 75 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 73 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 75 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 71 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> 72 in /tmp/buildd/qemu-kvm-1.1.1+dfsg/audio/rate_template.h
> (gdb)
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation
2012-08-24 7:13 ` Michael Tokarev
@ 2012-08-24 12:15 ` malc
0 siblings, 0 replies; 4+ messages in thread
From: malc @ 2012-08-24 12:15 UTC (permalink / raw)
To: Michael Tokarev; +Cc: Mike Gerber, kvm
On Fri, 24 Aug 2012, Michael Tokarev wrote:
> Hello Mike, Vassili.
>
> On 23.08.2012 20:16, Mike Gerber wrote:
> > Hi,
> >
> > I'm using a KVM guest to stream audio using darkice to an icecast2 server on the
> > same guest. The guest uses an emulated ES1370 sound card to capture the host's
> > audio input (ASUS Xonar DX) using the ALSA backend. After 1 or 2 days, the
> > qemu-kvm process locks up, using up 100% CPU, apparently spinning in
> > audio/rate_template.h (See gdb session below).
> >
> > Do you have any advice on how to solve this problem?
> >
> > I haven't tried the -no-kvm-* switches, please advice if that would be useful
> > in this case. Unfortunately it takes up to 2 days for the bug to happen, so
> > trying all possible configurations is a bit time-consuming.
> >
> > More information here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685353
>
> Mike, I noticed your work trying to debug the issue, and you finally
> succeeded to get a usable backtrace which is good. I just weren't
> able to get to you earlier.
>
> Can you also check whenever hda emulated device also shows this issue?
>
> Vassili, can you take a look please - the prob appears to be somehow
> sound-related..
>
[..snip..]
It's also (appears) to be in the chunk of code written by Fabrice not me.
Last comment at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685353
doesn't include a backtrace.
Question - what's the frequency that the emulated card is operated in
(and what is the actual frequency host card provides)?
--
mailto:av1474@comtv.ru
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-08-24 13:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-23 16:16 qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation Mike Gerber
2012-08-23 16:41 ` Jan Kiszka
2012-08-24 7:13 ` Michael Tokarev
2012-08-24 12:15 ` malc
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).