On Wed, 5 Sep 2012, Mike Gerber wrote:

> Hi Vassily, Hi Michael,
> 
> * malc schrieb:
> > Audio compiled without optimzations which should give meaningful 
> > backtrace and contents of local variables.
> 
> Here it is, (both host and guest had 48kHz capture sample rate). "kvm.real"
> is the qemu-kvm binary, version 1.1.1, -O0.
> 

To clarify things, i was under impression that you said that hang can not
be observed with 1:1 frequency? If this is the case how have you arrived
here to this state of things?

> 0x00007f18106dfb6e in st_rate_flow (opaque=0x7f1812c40550, 
> ibuf=0x7f1812b41360, obuf=0x7f1812b6b0e0, isamp=0x7fff8e3fe428, 
> osamp=0x7fff8e3fe42c) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/audio/rate_template.h:73
> 73                rate->ipos++;
> (gdb) info threads
>   Id   Target Id         Frame 
>   2    Thread 0x7f1804d1a700 (LWP 2157) "kvm.real" 0x00007f180c833cec in 
> __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0
> * 1    Thread 0x7f181055e8e0 (LWP 2156) "kvm.real" 0x00007f18106dfb6e in 
> st_rate_flow (opaque=0x7f1812c40550, ibuf=0x7f1812b41360, 
> obuf=0x7f1812b6b0e0, isamp=0x7fff8e3fe428, osamp=0x7fff8e3fe42c) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/audio/rate_template.h:73
> (gdb) thread apply all bt full
> 
> Thread 2 (Thread 0x7f1804d1a700 (LWP 2157)):
> #0  0x00007f180c833cec in __lll_lock_wait () from 
> /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #1  0x00007f180c82f339 in _L_lock_926 () from 
> /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #2  0x00007f180c82f15b in pthread_mutex_lock () from 
> /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #3  0x00007f181085be4f in qemu_mutex_lock (mutex=0x7f18115d3760) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/qemu-thread-posix.c:54
>         err = 0
>         __func__ = "qemu_mutex_lock"
> #4  0x00007f18108d95c8 in qemu_mutex_lock_iothread () at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/cpus.c:897
> No locals.
> #5  0x00007f1810910481 in kvm_cpu_exec (env=0x7f1812a4f520) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/kvm-all.c:1268
>         run = 0x7f1810654000
>         ret = 0
>         run_ret = 0
> #6  0x00007f18108d90fc in qemu_kvm_cpu_thread_fn (arg=0x7f1812a4f520) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/cpus.c:752
>         env = 0x7f1812a4f520
>         r = 65536
> #7  0x00007f180c82cb50 in start_thread () from 
> /lib/x86_64-linux-gnu/libpthread.so.0
> No symbol table info available.
> #8  0x00007f180c57770d 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 0x7f181055e8e0 (LWP 2156)):
> #0  0x00007f18106dfb6e in st_rate_flow (opaque=0x7f1812c40550, 
> ibuf=0x7f1812b41360, obuf=0x7f1812b6b0e0, isamp=0x7fff8e3fe428, 
> osamp=0x7fff8e3fe42c) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/audio/rate_template.h:73
>         rate = 0x7f1812c40550
>         istart = 0x7f1812b1c340
>         iend = 0x7f1812b46bf0
>         ostart = 0x7f1812b6b0e0
>         oend = 0x7f1812b6b3a0
>         ilast = {l = 22085632, r = 111673344}
>         icur = {l = -12451840, r = -40763392}
>         out = {l = 4281343687, r = 139741334659632}
>         t = 3165658096
> #1  0x00007f18106d7e2f in audio_pcm_sw_read (sw=0x7f1812c3f160, 
> buf=0x7fff8e3fe5a0, size=4096) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/audio/audio.c:952
>         hw = 0x7f1812c28de0
>         samples = 1024
>         live = 15052
>         ret = 980
>         swlim = 44
>         isamp = 10891
>         osamp = 44
>         rpos = 0
>         total = -809300243
                  ^^^^^^^^^^ This is weird..

>         src = 0x7f1812b1c340
>         dst = 0x7f1812b6b0e0
>         __FUNCTION__ = "audio_pcm_sw_read"

set print pretty
p *hw
p *sw

if you can

> #2  0x00007f18106d5913 in alsa_read (sw=0x7f1812c3f160, buf=0x7fff8e3fe5a0, 
> size=4096) at /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/audio/alsaaudio.c:1117
> No locals.
> #3  0x00007f18106dabbd in AUD_read (sw=0x7f1812c3f160, buf=0x7fff8e3fe5a0, 
> size=4096) at /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/audio/audio.c:1173
>         bytes = 4096
> #4  0x00007f18107a59e0 in es1370_transfer_audio (s=0x7f1812acb4a0, 
> d=0x7f1812acb9b8, loop_sel=32768, max=54560, irq=0x7fff8e3ff5fc) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/hw/es1370.c:803
>         acquired = 4096
>         to_copy = 4096
>         tmpbuf = 
> "\275\377\306\376d\377\267\375\022\377\311\374\336\376*\374\326\376\370\373\343\376\a\374\372\376-\374\061\377\256\374u\377\212\375\303\377x\376\"\000\240\377\200\000\326\000\264\000\223\001\261\000\256\001\236\000\237\001\225\000\255\001\232\000\277\001\272\000\037\002\307\000A\002\271\000\n\002\331\000n\002\063\001c\003b\001\272\003\023\001\270\002\\\000\312\000\224\377\264\376\002\377\063\375\353\376\372\374\"\377r\375N\377\325\375\203\377`\376\275\377\000\377\336\377o\377\351\377\245\377\364\377\315\377\006\000\005\000\035\000X\000E\000\246\000A\000\201\000\030\000:\000\065\000\247\000\205\000\212\001\253\000\002\002\222\000\312\001j\000a\001T\000-\001;\000\360\000\027\000k\000\a\000\071\000=\000\311\000\203\000b\001\234\000\205\001\207\000C\001`\000\347\000@\000\243\000&\000j\000\003\000\023\000\315\377\221\377\230\377\026\377\227\377\032\377\305\377\262\377\t\000{\000e\000\221\001\361\000\071\003\225\001\t\005\a\002\061\006\034\002e\006\005\002\067\00
 
6\r\002I\006\027\002a\006\360\001\375\005\257\001.\005<\001\326\003\177\000\300\001\276\377\242\377Z\377\214\376n\377\301\376\306\377\225\377\030\000M\000J\000\331\000r\000b\001\221\000\302\001\266\000M\002\017\001w\003d\001i\004~"...
>         addr = 1013239808
>         sc = 1023
>         csc = 1023
>         csc_bytes = 4096
>         cnt = 13312
>         size = 16383
>         left = 12288
>         transferred = 0
>         temp = 4096
>         index = 2
> #5  0x00007f18107a5d7f in es1370_run_channel (s=0x7f1812acb4a0, chan=2, 
> free_or_avail=54560) at /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/hw/es1370.c:877
>         new_status = 96
>         max_bytes = 54560
>         irq = 32536
>         d = 0x7f1812acb9b8
>         b = 0x7f1810cbc090
> #6  0x00007f18107a5ebc in es1370_adc_callback (opaque=0x7f1812acb4a0, 
> avail=54560) at /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/hw/es1370.c:908
>         s = 0x7f1812acb4a0
> #7  0x00007f18106db802 in audio_run_in (s=0x7f1810d9c6e0) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/audio/audio.c:1487
>         avail = 54560
>         sw = 0x7f1812c3f160
>         captured = 928
> ---Type <return> to continue, or q <return> to quit---
>         min = 928
>         hw = 0x7f1812c28de0
> #8  0x00007f18106dbac9 in audio_run (msg=0x7f18109cc2fb "alsa run (running)") 
> at /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/audio/audio.c:1546
>         s = 0x7f1810d9c6e0
> #9  0x00007f18106d37e5 in alsa_poll_handler (opaque=0x7f1812c28e68) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/audio/alsaaudio.c:233
>         err = 0
>         count = 1
>         state = SND_PCM_STATE_RUNNING
>         hlp = 0x7f1812c28e68
>         revents = 1
> #10 0x00007f181074bbcb in qemu_iohandler_poll (readfds=0x7f18111a8da0, 
> writefds=0x7f18111a8e20, xfds=0x7f18111a8ea0, ret=1) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/iohandler.c:122
>         pioh = 0x7f1812b099d0
>         ioh = 0x7f1812c40e40
> #11 0x00007f1810827182 in main_loop_wait (nonblocking=0) at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/main-loop.c:497
>         ret = 1
>         timeout = 4294967295
> #12 0x00007f1810819ee9 in main_loop () at 
> /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/vl.c:1566
>         nonblocking = false
>         last_io = 1
> #13 0x00007f1810820d2e in main (argc=48, argv=0x7fff8e3ffc28, 
> envp=0x7fff8e3ffdb0) at /root/bug-mp3neu/qemu-kvm-1.1.1+dfsg/vl.c:3702
>         i = 64
>         snapshot = 0
>         linux_boot = 0
>         icount_option = 0x0
>         initrd_filename = 0x0
>         kernel_filename = 0x0
>         kernel_cmdline = 0x7f18109f3e1a ""
>         boot_devices = "cad", '\000' <repeats 29 times>
>         ds = 0x7f1812a690d0
>         dcl = 0x0
>         cyls = 0
>         heads = 0
>         secs = 0
>         translation = 0
>         hda_opts = 0x0
>         opts = 0x7f1812a38820
>         machine_opts = 0x7f1812a376a0
>         olist = 0x7f1810d83de0
>         optind = 48
>         optarg = 0x7fff8e401f63 
> "virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4"
>         loadvm = 0x0
>         machine = 0x7f1810d8fc20
>         cpu_model = 0x0
>         vga_model = 0x7fff8e401ee0 "cirrus"
>         pid_file = 0x0
>         incoming = 0x0
>         show_vnc_port = 0
>         defconfig = false
>         userconfig = true
>         log_mask = 0x0
>         log_file = 0x0
>         mem_trace = {malloc = 0x7f181081d371 <malloc_and_trace>, realloc = 
> 0x7f181081d3c9 <realloc_and_trace>, free = 0x7f181081d430 <free_and_trace>, 
> calloc = 0, try_malloc = 0, try_realloc = 0}
>         trace_events = 0x0
>         trace_file = 0x0
> (gdb) 
> (gdb) p *rate
> $1 = {opos = 18446744072177594748, opos_inc = 3892319628, ipos = 3485675637, 
> ilast = {l = 4718592, r = 11796480}}
               ^^^ this is 0xffffffffa4b0317cL (i.e. real part of fixed 
                   point value is saturated.. hmmm)
> 

-- 
mailto:av1...@comtv.ru

Reply via email to