Re: qemu-kvm 1.1.1 hangs using 100% CPU when using ES1370 emulation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[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
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux