kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).