From: Mike Gerber <mike@sprachgewalt.de>
To: kvm@vger.kernel.org
Subject: qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation
Date: Thu, 23 Aug 2012 18:16:15 +0200 [thread overview]
Message-ID: <20120823161615.GD30565@jelinek> (raw)
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)
next reply other threads:[~2012-08-23 16:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-23 16:16 Mike Gerber [this message]
2012-08-23 16:41 ` qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation Jan Kiszka
2012-08-24 7:13 ` Michael Tokarev
2012-08-24 12:15 ` malc
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120823161615.GD30565@jelinek \
--to=mike@sprachgewalt.de \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.