From: Dominique D. <dom...@fr...> - 2006-07-22 16:12:44
|
Darren Salt <li...@yo...> writes: > [snip] >> Thread 10 (process 9933): >> #0 0xffffe410 in __kernel_vsyscall () >> #1 0xa7876fec in pthread_cond_timedwait@@GLIBC_2.3.2 () >> from /lib/tls/i686/cmov/libpthread.so.0 >> #2 0xa7ec0ea1 in vo_remove_from_img_buf_queue_int (queue=0x89591f8, >> blocking=0, width=960, height=528, ratio=1.8181818181818181, >> format=842094169, flags=3) at video_out.c:244 > > That's important - it's waiting on a condition variable. I've re-run the tests and I'm pretty sure to have stooped gxine in time. The traces are at the end of this mail. The first trace shows that 10 threads are in pthread_cond_timedwait The second trace show 9 threads waiting... > Could be significant. Unsure, though. These do implicate xine-lib and > possibly Reinhard Nissl's patches. ok. > BTW, if you can reliably cause this problem with a reasonably short > file, that'd be ideal. No, it happens rather randomly, never at the same place in a movie. However, it happens with *all* files I watch these days (2 or 3 times per hours), no any movie or DVD should do. It _tends_ to happen more often with hi-res movies. HTH First freeze: (No lock found) (gdb) thread apply all bt Thread 15 (Thread -1618908240 (LWP 7883)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918d76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f5ba0c in buffer_pool_alloc (this=0x8771880) at buffer.c:93 #3 0xa663d931 in demux_avi_next (this=0xa0101ae8, decoder_flags=0) at demux_avi.c:1557 #4 0xa66407e8 in demux_avi_send_chunk (this_gen=0xa0101ae8) at demux_avi.c:1833 #5 0xa7f7054f in demux_loop (stream_gen=0x875ecf8) at demux.c:285 #6 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #7 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 13 (Thread -1564558416 (LWP 7881)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa791ba48 in accept () from /lib/tls/i686/cmov/libpthread.so.0 #2 0x080797bd in socket_listener (data=0x0) at server.c:131 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 12 (Thread -1598882896 (LWP 7873)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918d76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f667fa in fifo_remove_int (fifo=0x92ab208, blocking=1) at audio_out.c:342 #3 0xa7f68940 in ao_loop (this_gen=0x928d1e8) at audio_out.c:380 #4 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #5 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 11 (Thread -1590219856 (LWP 7872)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f6545f in video_out_loop (this_gen=0x8e71ac8) at video_out.c:1061 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 10 (Thread -1585714256 (LWP 7871)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa791b82b in __read_nocancel () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f96815 in lirc_nextcode () from /usr/lib/liblirc_client.so.0 #3 0x08060529 in gxine_lirc_run (data=0x0) at lirc.c:150 #4 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #5 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 9 (Thread -1577321552 (LWP 7870)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918d76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f6b7fc in xine_event_wait (queue=0x8e23e18) at events.c:59 #3 0xa7f6b884 in listener_loop (queue_gen=0x8e23e18) at events.c:213 #4 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #5 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 8 (Thread -1568928848 (LWP 7869)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f6545f in video_out_loop (this_gen=0x895efa8) at video_out.c:1061 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 7 (Thread -1547998288 (LWP 7865)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f66850 in fifo_remove_int (fifo=0x82238c0, blocking=0) at audio_out.c:349 #3 0xa7f668ca in ao_get_buffer (this_gen=0x8222288) at audio_out.c:391 #4 0xa7198b5f in a52dec_decode_data (this_gen=0x94419a8, buf=0x8772138) at xine_decoder.c:295 #5 0xa7f62794 in audio_decoder_loop (stream_gen=0x875ecf8) at audio_decoder.c:361 #6 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #7 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 6 (Thread -1537717328 (LWP 7864)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f62ea1 in vo_remove_from_img_buf_queue_int (queue=0x895f2b0, blocking=0, width=960, height=528, ratio=1.8181818181818181, format=842094169, flags=3) at video_out.c:244 #3 0xa7f62f7a in vo_get_frame (this_gen=0x895efa8, width=960, height=528, ratio=1.8181818181818181, format=842094169, flags=3) at video_out.c:289 #4 0xa7f74cca in post_video_get_frame (port_gen=0x93b0730, width=960, height=528, ratio=1.8181818181818181, format=842094169, flags=3) at post.c:74 #5 0xa6ef7738 in get_buffer (context=0x9436e00, av_frame=0x9517940) at video_decoder.c:171 #6 0xa6fefaeb in alloc_picture (s=0x9446ae0, pic=0x9517940, shared=0) at mpegvideo.c:391 #7 0xa6ff476a in MPV_frame_start (s=0x9446ae0, avctx=0x9436e00) at mpegvideo.c:1546 #8 0xa6f78765 in ff_h263_decode_frame (avctx=0x9436e00, data=0x94399b0, data_size=0xa45843d8, buf=0xa024b008 "", buf_size=13035) at h263dec.c:692 #9 0xa70441ba in avcodec_decode_video (avctx=0x9436e00, picture=0x94399b0, got_picture_ptr=0xa45843d8, buf=0xa024b008 "", buf_size=13035) at utils.c:940 #10 0xa6ef869b in ff_decode_data (this_gen=0x9fc6c008, buf=0x876fa00) at video_decoder.c:1114 #11 0xa7f613e2 in video_decoder_loop (stream_gen=0x875ecf8) at video_decoder.c:369 #12 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #13 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 5 (Thread -1525224528 (LWP 7863)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f6545f in video_out_loop (this_gen=0x8224c40) at video_out.c:1061 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 4 (Thread -1512592464 (LWP 7862)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa789c203 in poll () from /lib/tls/i686/cmov/libc.so.6 #2 0xa7264225 in snd_pcm_wait_nocheck () from /usr/lib/libasound.so.2 #3 0xa726bdaf in snd_pcm_wait () from /usr/lib/libasound.so.2 #4 0xa65c3853 in ao_alsa_write (this_gen=0x8201108, data=0x8235f40, count=5000) at audio_alsa_out.c:801 #5 0xa7f66618 in ao_fill_gap (this=0x8222288, pts_len=308001) at audio_out.c:474 #6 0xa7f68d0f in ao_loop (this_gen=0x8222288) at audio_out.c:1189 #7 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #8 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 3 (Thread -1503929424 (LWP 7861)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa789c203 in poll () from /lib/tls/i686/cmov/libc.so.6 #2 0xa65c3197 in ao_alsa_handle_event_thread (data=0x8201108) at audio_alsa_out.c:157 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 2 (Thread -1494717520 (LWP 7860)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f5828f in metronom_sync_loop (this=0x810eb38) at metronom.c:873 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 1 (Thread -1487226048 (LWP 7856)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa789c203 in poll () from /lib/tls/i686/cmov/libc.so.6 #2 0xa79e71a9 in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #3 0xa79e7537 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #4 0xa7d814e1 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #5 0x08061bca in main (argc=2, argv=0xafcca154) at main.c:587 +++++++++++++++++++++++++++++ Second freeze: No lock : (gdb) print engine_lock $10 = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 1, __m_lock = {__status = 0, __spinlock = 0}} (gdb) print resize_lock $11 = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}} (gdb) print resize_add_lock $12 = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}} (gdb) print widgets_update_lock $13 = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}} (gdb) print lirc_init_mutex $14 = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}} (gdb) print cur_item_lock $15 = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}} (gdb) print status_lock $16 = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}} (gdb) print xml_lock $17 = {__m_reserved = 0, __m_count = 0, __m_owner = 0x0, __m_kind = 0, __m_lock = {__status = 0, __spinlock = 0}} Thread 15 (Thread -1618908240 (LWP 7883)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918d76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f5ba0c in buffer_pool_alloc (this=0x8771880) at buffer.c:93 #3 0xa663d931 in demux_avi_next (this=0xa0101ae8, decoder_flags=0) at demux_avi.c:1557 #4 0xa66407e8 in demux_avi_send_chunk (this_gen=0xa0101ae8) at demux_avi.c:1833 #5 0xa7f7054f in demux_loop (stream_gen=0x875ecf8) at demux.c:285 #6 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #7 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 13 (Thread -1564558416 (LWP 7881)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa791ba48 in accept () from /lib/tls/i686/cmov/libpthread.so.0 #2 0x080797bd in socket_listener (data=0x0) at server.c:131 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 12 (Thread -1598882896 (LWP 7873)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918d76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f667fa in fifo_remove_int (fifo=0x92ab208, blocking=1) at audio_out.c:342 #3 0xa7f68940 in ao_loop (this_gen=0x928d1e8) at audio_out.c:380 #4 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #5 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 11 (Thread -1590219856 (LWP 7872)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f6545f in video_out_loop (this_gen=0x8e71ac8) at video_out.c:1061 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 10 (Thread -1585714256 (LWP 7871)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa791b82b in __read_nocancel () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f96815 in lirc_nextcode () from /usr/lib/liblirc_client.so.0 #3 0x08060529 in gxine_lirc_run (data=0x0) at lirc.c:150 #4 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #5 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 9 (Thread -1577321552 (LWP 7870)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918d76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f6b7fc in xine_event_wait (queue=0x8e23e18) at events.c:59 #3 0xa7f6b884 in listener_loop (queue_gen=0x8e23e18) at events.c:213 #4 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #5 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 8 (Thread -1568928848 (LWP 7869)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f6545f in video_out_loop (this_gen=0x895efa8) at video_out.c:1061 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 7 (Thread -1547998288 (LWP 7865)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f66850 in fifo_remove_int (fifo=0x82238c0, blocking=0) at audio_out.c:349 #3 0xa7f668ca in ao_get_buffer (this_gen=0x8222288) at audio_out.c:391 #4 0xa7198b5f in a52dec_decode_data (this_gen=0x94419a8, buf=0x8773218) at xine_decoder.c:295 #5 0xa7f62794 in audio_decoder_loop (stream_gen=0x875ecf8) at audio_decoder.c:361 #6 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #7 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 6 (Thread -1537717328 (LWP 7864)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f62ea1 in vo_remove_from_img_buf_queue_int (queue=0x895f2b0, blocking=0, width=960, height=528, ratio=1.8181818181818181, format=842094169, flags=3) at video_out.c:244 #3 0xa7f62f7a in vo_get_frame (this_gen=0x895efa8, width=960, height=528, ratio=1.8181818181818181, format=842094169, flags=3) at video_out.c:289 #4 0xa7f74cca in post_video_get_frame (port_gen=0x93b0730, width=960, height=528, ratio=1.8181818181818181, format=842094169, flags=3) at post.c:74 #5 0xa6ef84e4 in ff_decode_data (this_gen=0x9fc6c008, buf=0x8769670) at video_decoder.c:1196 #6 0xa7f613e2 in video_decoder_loop (stream_gen=0x875ecf8) at video_decoder.c:369 #7 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #8 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 5 (Thread -1525224528 (LWP 7863)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f6545f in video_out_loop (this_gen=0x8224c40) at video_out.c:1061 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 4 (Thread -1512592464 (LWP 7862)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa789c203 in poll () from /lib/tls/i686/cmov/libc.so.6 #2 0xa7264225 in snd_pcm_wait_nocheck () from /usr/lib/libasound.so.2 #3 0xa726bdaf in snd_pcm_wait () from /usr/lib/libasound.so.2 #4 0xa65c3853 in ao_alsa_write (this_gen=0x8201108, data=0x8235f40, count=5000) at audio_alsa_out.c:801 #5 0xa7f66618 in ao_fill_gap (this=0x8222288, pts_len=273721) at audio_out.c:474 #6 0xa7f68d0f in ao_loop (this_gen=0x8222288) at audio_out.c:1189 #7 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #8 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 3 (Thread -1503929424 (LWP 7861)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa789c203 in poll () from /lib/tls/i686/cmov/libc.so.6 #2 0xa65c3197 in ao_alsa_handle_event_thread (data=0x8201108) at audio_alsa_out.c:157 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 2 (Thread -1494717520 (LWP 7860)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa7918fec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xa7f5828f in metronom_sync_loop (this=0x810eb38) at metronom.c:873 #3 0xa7916e60 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #4 0xa78a68ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 1 (Thread -1487226048 (LWP 7856)): #0 0xffffe410 in __kernel_vsyscall () #1 0xa789c203 in poll () from /lib/tls/i686/cmov/libc.so.6 #2 0xa79e71a9 in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #3 0xa79e7537 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #4 0xa7d814e1 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #5 0x08061bca in main (argc=2, argv=0xafcca154) at main.c:587 |