From: Barry S. <bar...@on...> - 2004-06-11 14:45:48
|
In my app I use two xine_stream_t objects. While playing an mpeg clip from one stream I open the second to minimise the delay in switching from clip to clip. This work well most of the time. But I have found that with some media xine_open will not return from opening the second file until the first finishes playing. Is this a thread locking issue in xine_open? How can I help get to the bottom of what is wrong? Barry |
From: Matt J. <ma...@ro...> - 2005-01-27 15:30:59
|
Hi We have a small problem with our xine-lib based player. When we play an audio track we also play a video track with no audio ( mpeg ), so the player is playing two streams at the same time. After some time playing, a call to xine_open does not return and our player stops. Does anyone have any idea what may be happening here - the backtrace from gdb at that point is : #0 in do_sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 in *__GI___sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 in __pthread_wait_for_restart_signal at pthread.c:1141 #3 in __pthread_cond_wait at restart.h:36 #4 in buffer_pool_alloc at buffer.c:93 #5 in cache_plugin_read_block at input_cache.c:184 #6 in parse_mpeg2_packet at demux_mpeg.c:510 #7 in parse_pack at demux_mpeg.c:815 #8 in demux_mpeg_send_chunk at demux_mpeg.c:943 #9 in demux_loop at demux.c:256 #10 in pthread_start_thread at manager.c:300 #11 in pthread_start_thread_event at manager.c:324 Hope someone can help us understand this, we dont know the xine-lib codebase very well, so we may well be doing something wrong ourselves :) This is using xine-lib 1.0 by the way, although we get the same problem with rc8 and cvs. Thanks for all the great work on xine Matt |
From: Matt J. <ma...@ro...> - 2005-01-28 08:09:37
|
Hi We have a small problem with our xine-lib based player. When we play an audio track we also play a video track with no audio ( mpeg ), so the player is playing two streams at the same time. After some time playing, a call to xine_open does not return and our player stops. Does anyone have any idea what may be happening here - the backtrace from gdb at that point is : #0 in do_sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 in *__GI___sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 in __pthread_wait_for_restart_signal at pthread.c:1141 #3 in __pthread_cond_wait at restart.h:36 #4 in buffer_pool_alloc at buffer.c:93 #5 in cache_plugin_read_block at input_cache.c:184 #6 in parse_mpeg2_packet at demux_mpeg.c:510 #7 in parse_pack at demux_mpeg.c:815 #8 in demux_mpeg_send_chunk at demux_mpeg.c:943 #9 in demux_loop at demux.c:256 #10 in pthread_start_thread at manager.c:300 #11 in pthread_start_thread_event at manager.c:324 Hope someone can help us understand this, we dont know the xine-lib codebase very well, so we may well be doing something wrong ourselves :) This is using xine-lib 1.0 by the way, although we get the same problem with rc8 and cvs. Thanks for all the great work on xine Matt |
From: Michael R. <mr...@us...> - 2005-01-28 11:49:59
|
Hi Matt, > We have a small problem with our xine-lib based player. When we play an > audio track we also play a video track with no audio ( mpeg ), so the > player is playing two streams at the same time. After some time playing, > a call to xine_open does not return and our player stops. Multi-stream playback is not very widely tested, so it is plausible that it contains some undiscovered bugs. > Does anyone > have any idea what may be happening here - the backtrace from gdb at > that point is : > > #0 in do_sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 > #1 in *__GI___sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 > #2 in __pthread_wait_for_restart_signal at pthread.c:1141 > #3 in __pthread_cond_wait at restart.h:36 > #4 in buffer_pool_alloc at buffer.c:93 > #5 in cache_plugin_read_block at input_cache.c:184 > #6 in parse_mpeg2_packet at demux_mpeg.c:510 > #7 in parse_pack at demux_mpeg.c:815 > #8 in demux_mpeg_send_chunk at demux_mpeg.c:943 > #9 in demux_loop at demux.c:256 > #10 in pthread_start_thread at manager.c:300 > #11 in pthread_start_thread_event at manager.c:324 Could you give us a "thread apply all bt" backtrace of all threads. The above backtrace blocks, because no more fifo buffers are available. Now we need to find out where these are stuck. > Hope someone can help us understand this, we dont know the xine-lib > codebase very well, so we may well be doing something wrong ourselves :) I don't think so. Michael -- panic("aha1740.c"); /* Goodbye */ 2.2.16 /usr/src/linux/drivers/scsi/aha1740.c |
From: Matt J. <ma...@ro...> - 2005-01-28 14:33:02
|
Hi Michael Here is the backtrace [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 31847)] [New Thread 32769 (LWP 31849)] [New Thread 16386 (LWP 31850)] [New Thread 32771 (LWP 31851)] [New Thread 49156 (LWP 31852)] [New Thread 65541 (LWP 31853)] [New Thread 81926 (LWP 31854)] [New Thread 98311 (LWP 31855)] [New Thread 114696 (LWP 31856)] [New Thread 131081 (LWP 31857)] [New Thread 147466 (LWP 31858)] [New Thread 163851 (LWP 31859)] [New Thread 180236 (LWP 31860)] [New Thread 196621 (LWP 31861)] [New Thread 213006 (LWP 31862)] [New Thread 229391 (LWP 31863)] [New Thread 245776 (LWP 31864)] [New Thread 262161 (LWP 31880)] [New Thread 278546 (LWP 31881)] [Thread 262161 (LWP 31880) exited] [New Thread 294931 (LWP 31882)] [Thread 294931 (LWP 31882) exited] [New Thread 311316 (LWP 31883)] [Thread 311316 (LWP 31883) exited] [New Thread 327701 (LWP 31884)] [Thread 327701 (LWP 31884) exited] [New Thread 344086 (LWP 31885)] [Thread 344086 (LWP 31885) exited] [New Thread 360471 (LWP 31886)] [Thread 360471 (LWP 31886) exited] [New Thread 376856 (LWP 31887)] [Thread 376856 (LWP 31887) exited] [New Thread 393241 (LWP 31888)] [Thread 393241 (LWP 31888) exited] [New Thread 409626 (LWP 31889)] [Thread 409626 (LWP 31889) exited] [New Thread 426011 (LWP 31890)] [Thread 426011 (LWP 31890) exited] [New Thread 442396 (LWP 31891)] [Thread 278546 (LWP 31881) exited] [New Thread 458781 (LWP 31892)] [Thread 442396 (LWP 31891) exited] [New Thread 475166 (LWP 31893)] [Thread 475166 (LWP 31893) exited] [New Thread 491551 (LWP 31894)] [Thread 491551 (LWP 31894) exited] [New Thread 507936 (LWP 31895)] [Thread 507936 (LWP 31895) exited] [New Thread 524321 (LWP 31896)] [Thread 524321 (LWP 31896) exited] [New Thread 540706 (LWP 31897)] [Thread 540706 (LWP 31897) exited] [New Thread 557091 (LWP 31898)] [Thread 557091 (LWP 31898) exited] [New Thread 573476 (LWP 31899)] [Thread 573476 (LWP 31899) exited] [New Thread 589861 (LWP 31900)] [Thread 589861 (LWP 31900) exited] [New Thread 606246 (LWP 31901)] [Thread 458781 (LWP 31892) exited] [New Thread 622631 (LWP 31902)] [Thread 606246 (LWP 31901) exited] [New Thread 639016 (LWP 31903)] [Thread 639016 (LWP 31903) exited] [New Thread 655401 (LWP 31904)] [Thread 655401 (LWP 31904) exited] [New Thread 671786 (LWP 31905)] [Thread 671786 (LWP 31905) exited] [New Thread 688171 (LWP 31906)] [Thread 688171 (LWP 31906) exited] [New Thread 704556 (LWP 31907)] [Thread 704556 (LWP 31907) exited] [New Thread 720941 (LWP 31908)] [Thread 720941 (LWP 31908) exited] [New Thread 737326 (LWP 31909)] [Thread 737326 (LWP 31909) exited] [New Thread 753711 (LWP 31910)] [Thread 753711 (LWP 31910) exited] [New Thread 770096 (LWP 31911)] [Thread 770096 (LWP 31911) exited] [New Thread 786481 (LWP 31912)] [Thread 786481 (LWP 31912) exited] [New Thread 802866 (LWP 31913)] [Thread 802866 (LWP 31913) exited] [New Thread 819251 (LWP 31914)] [Thread 819251 (LWP 31914) exited] [New Thread 835636 (LWP 31915)] [Thread 622631 (LWP 31902) exited] [Thread 835636 (LWP 31915) exited] [New Thread 852021 (LWP 31916)] [Thread 852021 (LWP 31916) exited] [New Thread 868406 (LWP 31917)] [New Thread 884791 (LWP 31918)] [Thread 868406 (LWP 31917) exited] [New Thread 901176 (LWP 31919)] [Thread 901176 (LWP 31919) exited] [New Thread 917561 (LWP 31920)] [Thread 917561 (LWP 31920) exited] [New Thread 933946 (LWP 31921)] [Thread 933946 (LWP 31921) exited] [New Thread 950331 (LWP 31922)] [Thread 950331 (LWP 31922) exited] [New Thread 966716 (LWP 31923)] [Thread 966716 (LWP 31923) exited] [New Thread 983101 (LWP 31924)] [Thread 983101 (LWP 31924) exited] [New Thread 999486 (LWP 31925)] [Thread 999486 (LWP 31925) exited] [New Thread 1015871 (LWP 31926)] [Thread 1015871 (LWP 31926) exited] [New Thread 1032256 (LWP 31927)] [Thread 884791 (LWP 31918) exited] [New Thread 1048641 (LWP 31928)] [Thread 1032256 (LWP 31927) exited] [New Thread 1065026 (LWP 31929)] [Thread 1065026 (LWP 31929) exited] [New Thread 1081411 (LWP 31930)] [Thread 1081411 (LWP 31930) exited] [New Thread 1097796 (LWP 31931)] [Thread 1097796 (LWP 31931) exited] [New Thread 1114181 (LWP 31932)] [Thread 1114181 (LWP 31932) exited] [New Thread 1130566 (LWP 31933)] [Thread 1130566 (LWP 31933) exited] [New Thread 1146951 (LWP 31934)] [Thread 1048641 (LWP 31928) exited] [New Thread 1163336 (LWP 31935)] [Thread 1146951 (LWP 31934) exited] [New Thread 1179721 (LWP 31936)] [Thread 1179721 (LWP 31936) exited] [New Thread 1196106 (LWP 31937)] [Thread 1196106 (LWP 31937) exited] [New Thread 1212491 (LWP 31938)] [Thread 1212491 (LWP 31938) exited] [New Thread 1228876 (LWP 31939)] [Thread 1228876 (LWP 31939) exited] [New Thread 1245261 (LWP 31940)] [Thread 1245261 (LWP 31940) exited] [New Thread 1261646 (LWP 31941)] [Thread 1261646 (LWP 31941) exited] [New Thread 1278031 (LWP 31942)] [Thread 1278031 (LWP 31942) exited] [New Thread 1294416 (LWP 31943)] [Thread 1294416 (LWP 31943) exited] [New Thread 1310801 (LWP 31944)] [Thread 1310801 (LWP 31944) exited] [New Thread 1327186 (LWP 31945)] [Thread 1327186 (LWP 31945) exited] [New Thread 1343571 (LWP 31946)] [Thread 1343571 (LWP 31946) exited] [New Thread 1359956 (LWP 31947)] [Thread 1359956 (LWP 31947) exited] [New Thread 1376341 (LWP 31948)] [Thread 1163336 (LWP 31935) exited] [New Thread 1392726 (LWP 31949)] [Thread 1376341 (LWP 31948) exited] [New Thread 1409111 (LWP 31950)] [Thread 1409111 (LWP 31950) exited] [New Thread 1425496 (LWP 31951)] [Thread 1425496 (LWP 31951) exited] [New Thread 1441881 (LWP 31952)] [Thread 1441881 (LWP 31952) exited] [New Thread 1458266 (LWP 31953)] [Thread 1458266 (LWP 31953) exited] [New Thread 1474651 (LWP 31954)] [Thread 1474651 (LWP 31954) exited] [New Thread 1491036 (LWP 31955)] [Thread 1392726 (LWP 31949) exited] [New Thread 1507421 (LWP 31956)] [Thread 1491036 (LWP 31955) exited] [New Thread 1523806 (LWP 31957)] [Thread 1523806 (LWP 31957) exited] [New Thread 1540191 (LWP 31958)] [Thread 1540191 (LWP 31958) exited] [New Thread 1556576 (LWP 31959)] [Thread 1556576 (LWP 31959) exited] [New Thread 1572961 (LWP 31960)] [Thread 1572961 (LWP 31960) exited] [New Thread 1589346 (LWP 31961)] [Thread 1589346 (LWP 31961) exited] [New Thread 1605731 (LWP 31962)] [Thread 1605731 (LWP 31962) exited] [New Thread 1622116 (LWP 31963)] [Thread 1622116 (LWP 31963) exited] [New Thread 1638501 (LWP 31964)] [Thread 1638501 (LWP 31964) exited] [New Thread 1654886 (LWP 31965)] [Thread 1654886 (LWP 31965) exited] [New Thread 1671271 (LWP 31966)] [Thread 1671271 (LWP 31966) exited] [New Thread 1687656 (LWP 31967)] [Thread 1687656 (LWP 31967) exited] [New Thread 1704041 (LWP 31968)] [Thread 1507421 (LWP 31956) exited] [New Thread 1720426 (LWP 31969)] [Thread 1704041 (LWP 31968) exited] [New Thread 1736811 (LWP 31970)] [Thread 1736811 (LWP 31970) exited] [New Thread 1753196 (LWP 31971)] [Thread 1753196 (LWP 31971) exited] [New Thread 1769581 (LWP 31972)] [Thread 1769581 (LWP 31972) exited] [New Thread 1785966 (LWP 31973)] [Thread 1785966 (LWP 31973) exited] [New Thread 1802351 (LWP 31974)] [Thread 1802351 (LWP 31974) exited] [New Thread 1818736 (LWP 31975)] [Thread 1720426 (LWP 31969) exited] [New Thread 1835121 (LWP 31976)] [Thread 1818736 (LWP 31975) exited] [New Thread 1851506 (LWP 31977)] [Thread 1851506 (LWP 31977) exited] [New Thread 1867891 (LWP 31978)] [Thread 1867891 (LWP 31978) exited] [New Thread 1884276 (LWP 31979)] [Thread 1884276 (LWP 31979) exited] [New Thread 1900661 (LWP 31980)] [Thread 1900661 (LWP 31980) exited] [New Thread 1917046 (LWP 31981)] [Thread 1917046 (LWP 31981) exited] [New Thread 1933431 (LWP 31982)] [Thread 1933431 (LWP 31982) exited] [New Thread 1949816 (LWP 31983)] [Thread 1949816 (LWP 31983) exited] [New Thread 1966201 (LWP 31984)] [Thread 1966201 (LWP 31984) exited] [New Thread 1982586 (LWP 31985)] [Thread 1982586 (LWP 31985) exited] [New Thread 1998971 (LWP 31986)] [Thread 1998971 (LWP 31986) exited] [New Thread 2015356 (LWP 31987)] [Thread 2015356 (LWP 31987) exited] [New Thread 2031741 (LWP 31988)] [Thread 2031741 (LWP 31988) exited] [New Thread 2048126 (LWP 31989)] [Thread 1835121 (LWP 31976) exited] [New Thread 2064511 (LWP 31990)] [Thread 2048126 (LWP 31989) exited] [New Thread 2080896 (LWP 31991)] [Thread 2080896 (LWP 31991) exited] [New Thread 2097281 (LWP 31992)] [Thread 2097281 (LWP 31992) exited] [New Thread 2113666 (LWP 31993)] [Thread 2113666 (LWP 31993) exited] [New Thread 2130051 (LWP 31994)] [Thread 2130051 (LWP 31994) exited] [New Thread 2146436 (LWP 31995)] [Thread 2146436 (LWP 31995) exited] [New Thread 2162821 (LWP 31996)] [Thread 2162821 (LWP 31996) exited] [New Thread 2179206 (LWP 31997)] [Thread 2064511 (LWP 31990) exited] [New Thread 2195591 (LWP 31998)] [Thread 2179206 (LWP 31997) exited] [New Thread 2211976 (LWP 31999)] [Thread 2211976 (LWP 31999) exited] [New Thread 2228361 (LWP 32000)] [Thread 2228361 (LWP 32000) exited] [New Thread 2244746 (LWP 32001)] [Thread 2244746 (LWP 32001) exited] [New Thread 2261131 (LWP 32002)] [Thread 2261131 (LWP 32002) exited] [New Thread 2277516 (LWP 32003)] [Thread 2277516 (LWP 32003) exited] [New Thread 2293901 (LWP 32004)] [Thread 2293901 (LWP 32004) exited] [New Thread 2310286 (LWP 32005)] [Thread 2195591 (LWP 31998) exited] [New Thread 2326671 (LWP 32006)] [Thread 2310286 (LWP 32005) exited] [New Thread 2343056 (LWP 32007)] [Thread 2343056 (LWP 32007) exited] [New Thread 2359441 (LWP 32008)] [Thread 2359441 (LWP 32008) exited] [New Thread 2375826 (LWP 32009)] [Thread 2375826 (LWP 32009) exited] [New Thread 2392211 (LWP 32010)] [Thread 2392211 (LWP 32010) exited] [New Thread 2408596 (LWP 32011)] [Thread 2408596 (LWP 32011) exited] [New Thread 2424981 (LWP 32012)] [Thread 2424981 (LWP 32012) exited] [New Thread 2441366 (LWP 32013)] [Thread 2441366 (LWP 32013) exited] [New Thread 2457751 (LWP 32014)] [Thread 2457751 (LWP 32014) exited] [New Thread 2474136 (LWP 32015)] [Thread 2326671 (LWP 32006) exited] [New Thread 2490521 (LWP 32016)] [Thread 2474136 (LWP 32015) exited] [New Thread 2506906 (LWP 32017)] [Thread 2506906 (LWP 32017) exited] [New Thread 2523291 (LWP 32018)] [Thread 2523291 (LWP 32018) exited] [New Thread 2539676 (LWP 32019)] [Thread 2539676 (LWP 32019) exited] [New Thread 2556061 (LWP 32020)] [Thread 2556061 (LWP 32020) exited] [New Thread 2572446 (LWP 32021)] [Thread 2572446 (LWP 32021) exited] [New Thread 2588831 (LWP 32022)] [Thread 2588831 (LWP 32022) exited] [New Thread 2605216 (LWP 32023)] [Thread 2605216 (LWP 32023) exited] [New Thread 2621601 (LWP 32024)] [Thread 2621601 (LWP 32024) exited] [New Thread 2637986 (LWP 32025)] [Thread 2637986 (LWP 32025) exited] [New Thread 2654371 (LWP 32026)] [Thread 2654371 (LWP 32026) exited] [New Thread 2670756 (LWP 32027)] [Thread 2670756 (LWP 32027) exited] [New Thread 2687141 (LWP 32028)] [Thread 2687141 (LWP 32028) exited] [New Thread 2703526 (LWP 32029)] [Thread 2703526 (LWP 32029) exited] [New Thread 2719911 (LWP 32030)] [Thread 2719911 (LWP 32030) exited] [New Thread 2736296 (LWP 32031)] [Thread 2490521 (LWP 32016) exited] [Thread 2736296 (LWP 32031) exited] [New Thread 2752681 (LWP 32032)] [Thread 2752681 (LWP 32032) exited] [New Thread 2769066 (LWP 32033)] [Thread 2769066 (LWP 32033) exited] [New Thread 2785451 (LWP 32034)] [Thread 2785451 (LWP 32034) exited] [New Thread 2801836 (LWP 32035)] Program received signal SIGINT, Interrupt. [Switching to Thread 2801836 (LWP 32035)] 0x402ba411 in do_sigsuspend (set=0xaa3ff87c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 50 ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. in ../sysdeps/unix/sysv/linux/sigsuspend.c Current language: auto; currently c Thread 173 (Thread 2801836 (LWP 32035)): #0 0x402ba411 in do_sigsuspend (set=0xaa3ff87c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xaa3ff87c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xaa3ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93c0480) at restart.h:36 #4 0x4002ad65 in buffer_pool_alloc (this=0x93c03e0) at buffer.c:93 #5 0x4004325d in cache_plugin_read_block (this_gen=0x947db88, fifo=0x93c03e0, todo=2012) at input_cache.c:184 #6 0x4070ba33 in parse_mpeg2_packet (this=0x94243f0, stream_id=0, scr=1311735) at demux_mpeg.c:510 #7 0x4070c74f in parse_pack (this=0x94243f0) at demux_mpeg.c:815 #8 0x4070cb39 in demux_mpeg_send_chunk (this_gen=0x94243f0) at demux_mpeg.c:943 #9 0x4003bf9a in demux_loop (stream_gen=0x93bf7d8) at demux.c:256 #10 0x40085d03 in pthread_start_thread (arg=0xaa3ffbe0) at manager.c:300 #11 0x40085d7f in pthread_start_thread_event (arg=0xaa3ffbe0) at manager.c:324 #12 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 17 (Thread 245776 (LWP 31864)): #0 0x4008c0c8 in __libc_recvfrom () from /lib/libpthread.so.0 #1 0xbdbffbe0 in ?? () #2 0x08055207 in myUDPSocket::Read (this=0x8067a00, buffer=0xbdbff6cc, buffer_len=396) at mySocket.cpp:40 #3 0x0804e0a6 in CPlayer_Singleton::mainLoop (this=0x8067a00) at player.cpp:183 #4 0x0805e441 in thMainLoop (val=0x0) at main.cpp:44 #5 0x40085d03 in pthread_start_thread (arg=0x0) at manager.c:300 #6 0x40085d7f in pthread_start_thread_event (arg=0xbdbffbe0) at manager.c:324 #7 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 16 (Thread 229391 (LWP 31863)): #0 0x402ba411 in do_sigsuspend (set=0xbddff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbddff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbddffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x94124a4) at restart.h:36 #4 0x40037f86 in xine_event_wait (queue=0x94124a0) at events.c:56 #5 0x4003836b in listener_loop (queue_gen=0x94124a0) at events.c:198 #6 0x40085d03 in pthread_start_thread (arg=0xbddffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbddffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 15 (Thread 213006 (LWP 31862)): #0 0x402ba411 in do_sigsuspend (set=0xbdfff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbdfff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbdfffbe0) at pthread.c:1141 #3 0x40089eac in __pthread_alt_lock (lock=0x93eae18, self=0xbdfffbe0) at restart.h:36 #4 0x40086ad7 in *__GI___pthread_mutex_lock (mutex=0x93eae08) at mutex.c:123 #5 0x40030ea2 in audio_decoder_loop (stream_gen=0x93ea520) at audio_decoder.c:143 #6 0x40085d03 in pthread_start_thread (arg=0xbdfffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbdfffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 14 (Thread 196621 (LWP 31861)): #0 0x402ba411 in do_sigsuspend (set=0xbe1ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe1ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe1ffbe0) at pthread.c:1141 #3 0x40089eac in __pthread_alt_lock (lock=0x93eae18, self=0xbe1ffbe0) at restart.h:36 #4 0x40086ad7 in *__GI___pthread_mutex_lock (mutex=0x93eae08) at mutex.c:123 #5 0x400300c8 in video_decoder_loop (stream_gen=0x93ea520) at video_decoder.c:214 #6 0x40085d03 in pthread_start_thread (arg=0xbe1ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe1ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 13 (Thread 180236 (LWP 31860)): #0 0x402ba411 in do_sigsuspend (set=0xbe3ff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe3ff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe3ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93e823c) at restart.h:36 #4 0x40037f86 in xine_event_wait (queue=0x93e8238) at events.c:56 #5 0x4003836b in listener_loop (queue_gen=0x93e8238) at events.c:198 #6 0x40085d03 in pthread_start_thread (arg=0xbe3ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe3ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 12 (Thread 163851 (LWP 31859)): #0 0x402ba411 in do_sigsuspend (set=0xbe5ff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe5ff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe5ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93cb0ac) at restart.h:36 #4 0x4002b0a4 in fifo_buffer_get (fifo=0x93cb098) at buffer.c:233 #5 0x40030c9e in audio_decoder_loop (stream_gen=0x93bf7d8) at audio_decoder.c:68 #6 0x40085d03 in pthread_start_thread (arg=0xbe5ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe5ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 11 (Thread 147466 (LWP 31858)): #0 0x42336568 in MC_put_o_8_c (dest=0x42ec1300 '\200' <repeats 176 times>, "hNNNPOOOQQQRRSSSVVWXXYZZ"..., ref=0x427cc300 '\200' <repeats 176 times>, "hNNNPOOOQQQRRSSSVVWWYYZZ"..., stride=720, height=4) at motion_comp.c:145 #1 0x4233b68c in motion_fr_field (picture=0x9422580, motion=0x942266c, table=0x4234c2a0) at slice.c:1147 #2 0x4234068d in mpeg2_slice (picture=0x9422580, code=23, buffer=0x42ec1300 '\200' <repeats 176 times>, "hNNNPOOOQQQRRSSSVVWXXYZZ"...) at slice.c:1700 #3 0x42331430 in mpeg2_decode_data (mpeg2dec=0x9414d20, current=0x93c0c47 "\"\225\233)3f\227é~\227é~\227é~Ý\r¢\232\233±Ö157újoôÕ*´RìÒF\235&ìÒý²6WT\231ô¿K£I\0334\231£I\0336ÈÓ]Rý.Í·E5I¿l\237M[7m5KöÉõõ³4SSth§¦ìÙM[±Ö15&\215\032Tú_¥ú_¥ú_¥ð", end=0x93c0fdc "¨\231\2275L..\r\223Öà\003ù", pts=4822250192843358976) at decode.c:662 #4 0x4234932f in mpeg2dec_decode_data (this_gen=0x9414d08, buf=0x42ec1300) at xine_decoder.c:79 #5 0x400304aa in video_decoder_loop (stream_gen=0x93bf7d8) at video_decoder.c:368 #6 0x40085d03 in pthread_start_thread (arg=0xbe7ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe7ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 10 (Thread 131081 (LWP 31857)): #0 0x402ba411 in do_sigsuspend (set=0xbe9ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe9ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe9ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x92be93c) at restart.h:36 #4 0x400344aa in fifo_remove_int (fifo=0x92be930, blocking=1) at audio_out.c:337 #5 0x40034562 in fifo_remove (fifo=0x92be930) at audio_out.c:374 #6 0x400355ff in ao_loop (this_gen=0x92a0860) at audio_out.c:962 #7 0x40085d03 in pthread_start_thread (arg=0xbe9ffbe0) at manager.c:300 #8 0x40085d7f in pthread_start_thread_event (arg=0xbe9ffbe0) at manager.c:324 #9 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 9 (Thread 114696 (LWP 31856)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047119 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x8e943c8) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbebffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbebffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 8 (Thread 98311 (LWP 31855)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047119 in xine_usec_sleep (usec=20000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x8a88150) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbedffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbedffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 7 (Thread 81926 (LWP 31854)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x400885ee in __pthread_timedsuspend_new (self=0xbefffbe0, abstime=0xbefffab4) at pthread.c:1288 #3 0x40084f85 in pthread_cond_timedwait_relative (cond=0x8a87300, mutex=0x8a872e8, abstime=0xbefffab4) at restart.h:47 #4 0x40028909 in metronom_sync_loop (this=0x8a872a0) at metronom.c:873 #5 0x40085d03 in pthread_start_thread (arg=0xbefffbe0) at manager.c:300 #6 0x40085d7f in pthread_start_thread_event (arg=0xbefffbe0) at manager.c:324 #7 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 6 (Thread 65541 (LWP 31853)): #0 0x402ba411 in do_sigsuspend (set=0xbf1ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbf1ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbf1ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x88c95fc) at restart.h:36 #4 0x400344aa in fifo_remove_int (fifo=0x88c95f0, blocking=1) at audio_out.c:337 #5 0x40034562 in fifo_remove (fifo=0x88c95f0) at audio_out.c:374 #6 0x400355ff in ao_loop (this_gen=0x88d7340) at audio_out.c:962 #7 0x40085d03 in pthread_start_thread (arg=0xbf1ffbe0) at manager.c:300 #8 0x40085d7f in pthread_start_thread_event (arg=0xbf1ffbe0) at manager.c:324 #9 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 5 (Thread 49156 (LWP 31852)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047119 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x84bc850) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbf3ffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbf3ffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 4 (Thread 32771 (LWP 31851)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047119 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x80af460) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbf5ffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbf5ffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 3 (Thread 16386 (LWP 31850)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x400885ee in __pthread_timedsuspend_new (self=0xbf7ffbe0, abstime=0xbf7ffab4) at pthread.c:1288 #3 0x40084f85 in pthread_cond_timedwait_relative (cond=0x80a5e10, mutex=0x80a5df8, abstime=0xbf7ffab4) at restart.h:47 #4 0x40028909 in metronom_sync_loop (this=0x80a5db0) at metronom.c:873 #5 0x40085d03 in pthread_start_thread (arg=0xbf7ffbe0) at manager.c:300 #6 0x40085d7f in pthread_start_thread_event (arg=0xbf7ffbe0) at manager.c:324 #7 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 2 (Thread 32769 (LWP 31849)): #0 0x403649f2 in loser_poll (fds=0x80a7d14, nfds=1, timeout=2000) at ../sysdeps/unix/sysv/linux/poll.c:51 #1 0x40364abc in *__GI___poll (fds=0x80a7d14, nfds=1, timeout=2000) at ../sysdeps/unix/sysv/linux/poll.c:78 #2 0x400859ee in __pthread_manager (arg=0xc9) at manager.c:145 #3 0x40085bf7 in __pthread_manager_event (arg=0x4008e480) at manager.c:242 #4 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 1 (Thread 16384 (LWP 31847)): #0 0x402ba411 in do_sigsuspend (set=0xbffff380) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbffff380) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0x4008e060) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93e89a0) at restart.h:36 #4 0x4002ad65 in buffer_pool_alloc (this=0x93e8900) at buffer.c:93 #5 0x4003bd4a in _x_demux_control_headers_done (stream=0x93ea520) at demux.c:161 #6 0x4002589d in open_internal (stream=0x93ea520, mrl=0x9414e0c "/home/rolec/Tracks/Where it's at - Various - Shine 9 - Disk 1 - 12 - Beck.mpa") at xine.c:1046 #7 0x400258e4 in xine_open (stream=0x93ea520, mrl=0xfffffffc <Address 0xfffffffc out of bounds>) at xine.c:1060 #8 0x0805125f in CChannel_NoVideo::load (this=0x8067a20, track=0x9414e0c "/home/rolec/Tracks/Where it's at - Various - Shine 9 - Disk 1 - 12 - Beck.mpa") at channels.cpp:258 #9 0x08051419 in CChannel_NoVideo::play (this=0x8067a20) at channels.cpp:293 #10 0x0804ed3c in CPlayer_Singleton::play (this=0x8067a00) at player.cpp:473 #11 0x0804e333 in CPlayer_Singleton::openTrack (this=0x8067a00, record=@0xbffff8c0) at player.cpp:278 #12 0x0805eab3 in main (argc=1, argv=0xbffffad4) at main.cpp:132 0x402ba411 50 in ../sysdeps/unix/sysv/linux/sigsuspend.c The program is running. Exit anyway? (y or n) Thanks for looking at this :) Matt Michael Roitzsch wrote: > Hi Matt, > > >>We have a small problem with our xine-lib based player. When we play an >>audio track we also play a video track with no audio ( mpeg ), so the >>player is playing two streams at the same time. After some time playing, >>a call to xine_open does not return and our player stops. > > > Multi-stream playback is not very widely tested, so it is plausible that it > contains some undiscovered bugs. > > >>Does anyone >>have any idea what may be happening here - the backtrace from gdb at >>that point is : >> >>#0 in do_sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 >>#1 in *__GI___sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 >>#2 in __pthread_wait_for_restart_signal at pthread.c:1141 >>#3 in __pthread_cond_wait at restart.h:36 >>#4 in buffer_pool_alloc at buffer.c:93 >>#5 in cache_plugin_read_block at input_cache.c:184 >>#6 in parse_mpeg2_packet at demux_mpeg.c:510 >>#7 in parse_pack at demux_mpeg.c:815 >>#8 in demux_mpeg_send_chunk at demux_mpeg.c:943 >>#9 in demux_loop at demux.c:256 >>#10 in pthread_start_thread at manager.c:300 >>#11 in pthread_start_thread_event at manager.c:324 > > > Could you give us a "thread apply all bt" backtrace of all threads. The above > backtrace blocks, because no more fifo buffers are available. Now we need to > find out where these are stuck. > > >>Hope someone can help us understand this, we dont know the xine-lib >>codebase very well, so we may well be doing something wrong ourselves :) > > > I don't think so. > > Michael > |
From: Matt J. <ma...@ro...> - 2005-02-01 12:56:08
|
Hi Michael Was there anything in the backtrace I sent to give any clues what the problem might be in our player ? I noticed on the xine-devel archive the backtrace was cut short, I hope it all got to you on email.. Thanks for your help Matt Michael Roitzsch wrote: > Hi Matt, > > >>We have a small problem with our xine-lib based player. When we play an >>audio track we also play a video track with no audio ( mpeg ), so the >>player is playing two streams at the same time. After some time playing, >>a call to xine_open does not return and our player stops. > > > Multi-stream playback is not very widely tested, so it is plausible that it > contains some undiscovered bugs. > > >>Does anyone >>have any idea what may be happening here - the backtrace from gdb at >>that point is : >> >>#0 in do_sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 >>#1 in *__GI___sigsuspend at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 >>#2 in __pthread_wait_for_restart_signal at pthread.c:1141 >>#3 in __pthread_cond_wait at restart.h:36 >>#4 in buffer_pool_alloc at buffer.c:93 >>#5 in cache_plugin_read_block at input_cache.c:184 >>#6 in parse_mpeg2_packet at demux_mpeg.c:510 >>#7 in parse_pack at demux_mpeg.c:815 >>#8 in demux_mpeg_send_chunk at demux_mpeg.c:943 >>#9 in demux_loop at demux.c:256 >>#10 in pthread_start_thread at manager.c:300 >>#11 in pthread_start_thread_event at manager.c:324 > > > Could you give us a "thread apply all bt" backtrace of all threads. The above > backtrace blocks, because no more fifo buffers are available. Now we need to > find out where these are stuck. > > >>Hope someone can help us understand this, we dont know the xine-lib >>codebase very well, so we may well be doing something wrong ourselves :) > > > I don't think so. > > Michael > |
From: Michael R. <mr...@us...> - 2005-02-01 14:14:04
Attachments:
counter-buffer-cycle.patch
|
Hi team, > Was there anything in the backtrace I sent to give any clues what the > problem might be in our player? We have cyclic lock waiting between the thread doing xine_open() and the decoder threads, so this appears to be a bug in xine-lib. Situation: * all available buffers are held inside the fifos (no free buffers) * decoder loops are both waiting for the stream's counter lock (so they cannot process and thus free any buffers) * xine_open() hangs inside _x_demux_control_headers_done(), waiting for a free buffer, but with the counter lock held I am not fully confident that the attached patch is a correct fix to that, but could you try it anyway, please? > I noticed on the xine-devel archive the backtrace was cut short, I hope it > all got to you on email.. I think I got the full one. Michael -- printk("Entering UltraSMPenguin Mode...\n"); 2.2.16 /usr/src/linux/arch/sparc64/kernel/smp.c |
From: Matt J. <ma...@ro...> - 2005-02-04 08:32:50
|
Hi Michael I think you were right about the patch, we are still seeing a crash, although it does look like it is running for slightly longer with your patch. Here's the new backtrace, hope you can track the bug down. --snip--- [New Thread 24298994 (LWP 2388)] [Thread 24298994 (LWP 2388) exited] [New Thread 24315379 (LWP 2389)] [Thread 24315379 (LWP 2389) exited] [New Thread 24331764 (LWP 2390)] [Thread 24331764 (LWP 2390) exited] [New Thread 24348149 (LWP 2391)] [Thread 24348149 (LWP 2391) exited] [New Thread 24364534 (LWP 2392)] [Thread 24364534 (LWP 2392) exited] [New Thread 24380919 (LWP 2393)] [Thread 24380919 (LWP 2393) exited] [New Thread 24397304 (LWP 2394)] [Thread 24397304 (LWP 2394) exited] [New Thread 24413689 (LWP 2395)] [Thread 24413689 (LWP 2395) exited] [New Thread 24430074 (LWP 2396)] [Thread 24430074 (LWP 2396) exited] [New Thread 24446459 (LWP 2397)] [Thread 24446459 (LWP 2397) exited] [New Thread 24462844 (LWP 2398)] [Thread 24462844 (LWP 2398) exited] [New Thread 24479743 (LWP 2399)] Program received signal SIGINT, Interrupt. [Switching to Thread 245776 (LWP 896)] 0x4008c0c8 in __libc_recvfrom () from /lib/libpthread.so.0 Current language: auto; currently c Thread 1496 (Thread 24479743 (LWP 2399)): #0 0x402ba411 in do_sigsuspend (set=0xbfdffaec) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbfdffaec) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0x4008e060) at pthread.c:1141 #3 0x40089b9e in __pthread_lock (lock=0x40098e90, self=0x4008e060) at restart.h:36 #4 0x40085d6c in pthread_start_thread_event (arg=0xbfdffbe0) at manager.c:319 #5 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 17 (Thread 245776 (LWP 896)): #0 0x4008c0c8 in __libc_recvfrom () from /lib/libpthread.so.0 #1 0xbdbffbe0 in ?? () #2 0x080554bb in myUDPSocket::Read (this=0x8067a00, buffer=0xbdbff6cc, buffer_len=396) at mySocket.cpp:40 #3 0x0804e0a6 in CPlayer_Singleton::mainLoop (this=0x8067a00) at player.cpp:183 #4 0x0805e939 in thMainLoop (val=0x0) at main.cpp:44 #5 0x40085d03 in pthread_start_thread (arg=0x0) at manager.c:300 #6 0x40085d7f in pthread_start_thread_event (arg=0xbdbffbe0) at manager.c:324 #7 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 16 (Thread 229391 (LWP 895)): #0 0x402ba411 in do_sigsuspend (set=0xbddff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbddff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbddffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x9412acc) at restart.h:36 #4 0x40037f86 in xine_event_wait (queue=0x9412ac8) at events.c:56 #5 0x4003836b in listener_loop (queue_gen=0x9412ac8) at events.c:198 #6 0x40085d03 in pthread_start_thread (arg=0xbddffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbddffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 15 (Thread 213006 (LWP 894)): #0 0x402ba411 in do_sigsuspend (set=0xbdfff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbdfff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbdfffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93e9424) at restart.h:36 #4 0x4002b0a4 in fifo_buffer_get (fifo=0x93e9410) at buffer.c:233 #5 0x40030c9e in audio_decoder_loop (stream_gen=0x93eab48) at audio_decoder.c:68 #6 0x40085d03 in pthread_start_thread (arg=0xbdfffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbdfffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 14 (Thread 196621 (LWP 893)): #0 0x402ba411 in do_sigsuspend (set=0xbe1ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe1ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe1ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93e8f24) at restart.h:36 #4 0x4002b0a4 in fifo_buffer_get (fifo=0x93e8f10) at buffer.c:233 #5 0x4002fe40 in video_decoder_loop (stream_gen=0x93eab48) at video_decoder.c:123 #6 0x40085d03 in pthread_start_thread (arg=0xbe1ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe1ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 13 (Thread 180236 (LWP 892)): #0 0x402ba411 in do_sigsuspend (set=0xbe3ff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe3ff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe3ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93e8864) at restart.h:36 #4 0x40037f86 in xine_event_wait (queue=0x93e8860) at events.c:56 #5 0x4003836b in listener_loop (queue_gen=0x93e8860) at events.c:198 #6 0x40085d03 in pthread_start_thread (arg=0xbe3ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe3ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 12 (Thread 163851 (LWP 891)): #0 0x402ba411 in do_sigsuspend (set=0xbe5ff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe5ff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe5ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93cb6d4) at restart.h:36 #4 0x4002b0a4 in fifo_buffer_get (fifo=0x93cb6c0) at buffer.c:233 #5 0x40030c9e in audio_decoder_loop (stream_gen=0x93bfe00) at audio_decoder.c:68 #6 0x40085d03 in pthread_start_thread (arg=0xbe5ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe5ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 11 (Thread 147466 (LWP 890)): #0 0x402ba411 in do_sigsuspend (set=0xbe7ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe7ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe7ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93c0a1c) at restart.h:36 #4 0x4002b0a4 in fifo_buffer_get (fifo=0x93c0a08) at buffer.c:233 #5 0x4002fe40 in video_decoder_loop (stream_gen=0x93bfe00) at video_decoder.c:123 #6 0x40085d03 in pthread_start_thread (arg=0xbe7ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe7ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 10 (Thread 131081 (LWP 889)): #0 0x402ba411 in do_sigsuspend (set=0xbe9ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe9ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe9ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x92bef4c) at restart.h:36 #4 0x400344aa in fifo_remove_int (fifo=0x92bef40, blocking=1) at audio_out.c:337 #5 0x40034562 in fifo_remove (fifo=0x92bef40) at audio_out.c:374 #6 0x400355ff in ao_loop (this_gen=0x92a0ea0) at audio_out.c:962 #7 0x40085d03 in pthread_start_thread (arg=0xbe9ffbe0) at manager.c:300 #8 0x40085d7f in pthread_start_thread_event (arg=0xbe9ffbe0) at manager.c:324 #9 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 9 (Thread 114696 (LWP 888)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047121 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x8e94a18) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbebffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbebffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 8 (Thread 98311 (LWP 887)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047121 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x8a887b8) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbedffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbedffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 7 (Thread 81926 (LWP 886)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x400885ee in __pthread_timedsuspend_new (self=0xbefffbe0, abstime=0xbefffab4) at pthread.c:1288 #3 0x40084f85 in pthread_cond_timedwait_relative (cond=0x8a87938, mutex=0x8a87920, abstime=0xbefffab4) at restart.h:47 #4 0x40028909 in metronom_sync_loop (this=0x8a878d8) at metronom.c:873 #5 0x40085d03 in pthread_start_thread (arg=0xbefffbe0) at manager.c:300 #6 0x40085d7f in pthread_start_thread_event (arg=0xbefffbe0) at manager.c:324 #7 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 6 (Thread 65541 (LWP 885)): #0 0x402ba411 in do_sigsuspend (set=0xbf1ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbf1ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbf1ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x88c973c) at restart.h:36 #4 0x400344aa in fifo_remove_int (fifo=0x88c9730, blocking=1) at audio_out.c:337 #5 0x40034562 in fifo_remove (fifo=0x88c9730) at audio_out.c:374 #6 0x400355ff in ao_loop (this_gen=0x88d7460) at audio_out.c:962 #7 0x40085d03 in pthread_start_thread (arg=0xbf1ffbe0) at manager.c:300 #8 0x40085d7f in pthread_start_thread_event (arg=0xbf1ffbe0) at manager.c:324 #9 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 5 (Thread 49156 (LWP 882)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047121 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x84bc950) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbf3ffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbf3ffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 4 (Thread 32771 (LWP 881)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047121 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x80af560) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbf5ffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbf5ffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 3 (Thread 16386 (LWP 880)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x400885ee in __pthread_timedsuspend_new (self=0xbf7ffbe0, abstime=0xbf7ffab4) at pthread.c:1288 #3 0x40084f85 in pthread_cond_timedwait_relative (cond=0x80a5f08, mutex=0x80a5ef0, abstime=0xbf7ffab4) at restart.h:47 #4 0x40028909 in metronom_sync_loop (this=0x80a5ea8) at metronom.c:873 #5 0x40085d03 in pthread_start_thread (arg=0xbf7ffbe0) at manager.c:300 #6 0x40085d7f in pthread_start_thread_event (arg=0xbf7ffbe0) at manager.c:324 #7 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 2 (Thread 32769 (LWP 879)): #0 0x403649f2 in loser_poll (fds=0x80a7e0c, nfds=1, timeout=2000) at ../sysdeps/unix/sysv/linux/poll.c:51 #1 0x40364abc in *__GI___poll (fds=0x80a7e0c, nfds=1, timeout=2000) at ../sysdeps/unix/sysv/linux/poll.c:78 #2 0x400859ee in __pthread_manager (arg=0xc9) at manager.c:145 #3 0x40085bf7 in __pthread_manager_event (arg=0x4008e480) at manager.c:242 #4 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 1 (Thread 16384 (LWP 877)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x080596b0 in myNanoSleep (sec=0, nano=100000000) at soutils.cpp:55 #3 0x0805f215 in main (argc=1, argv=0xbffffad4) at main.cpp:217 #0 0x4008c0c8 in __libc_recvfrom () from /lib/libpthread.so.0 The program is running. Exit anyway? (y or n) Thanks again for looking at this Matt Michael Roitzsch wrote: > Hi team, > > >>Was there anything in the backtrace I sent to give any clues what the >>problem might be in our player? > > > We have cyclic lock waiting between the thread doing xine_open() and the > decoder threads, so this appears to be a bug in xine-lib. > > Situation: > * all available buffers are held inside the fifos (no free buffers) > * decoder loops are both waiting for the stream's counter lock (so they cannot > process and thus free any buffers) > * xine_open() hangs inside _x_demux_control_headers_done(), waiting for a free > buffer, but with the counter lock held > > I am not fully confident that the attached patch is a correct fix to that, but > could you try it anyway, please? > > >>I noticed on the xine-devel archive the backtrace was cut short, I hope it >>all got to you on email.. > > > I think I got the full one. > > Michael > > > > ------------------------------------------------------------------------ > > Index: src/xine-engine/demux.c > =================================================================== > RCS file: /cvsroot/xine/xine-lib/src/xine-engine/demux.c,v > retrieving revision 1.54 > diff -u -I\$Id:.*\$ -r1.54 demux.c > --- src/xine-engine/demux.c 19 Dec 2004 20:24:31 -0000 1.54 > +++ src/xine-engine/demux.c 1 Feb 2005 14:12:08 -0000 > @@ -139,7 +139,14 @@ > > int header_count_audio; > int header_count_video; > - buf_element_t *buf; > + buf_element_t *buf_video, *buf_audio; > + > + /* we use demux_action_pending to wake up sleeping spu decoders */ > + stream->demux_action_pending = 1; > + > + /* allocate the buffers before grabbing the lock to prevent cyclic wait situations */ > + buf_video = stream->video_fifo->buffer_pool_alloc (stream->video_fifo); > + buf_audio = stream->audio_fifo->buffer_pool_alloc (stream->audio_fifo); > > pthread_mutex_lock (&stream->counter_lock); > > @@ -155,16 +162,11 @@ > header_count_audio = 0; > } > > - /* we use demux_action_pending to wake up sleeping spu decoders */ > - stream->demux_action_pending = 1; > - > - buf = stream->video_fifo->buffer_pool_alloc (stream->video_fifo); > - buf->type = BUF_CONTROL_HEADERS_DONE; > - stream->video_fifo->put (stream->video_fifo, buf); > + buf_video->type = BUF_CONTROL_HEADERS_DONE; > + stream->video_fifo->put (stream->video_fifo, buf_video); > > - buf = stream->audio_fifo->buffer_pool_alloc (stream->audio_fifo); > - buf->type = BUF_CONTROL_HEADERS_DONE; > - stream->audio_fifo->put (stream->audio_fifo, buf); > + buf_audio->type = BUF_CONTROL_HEADERS_DONE; > + stream->audio_fifo->put (stream->audio_fifo, buf_audio); > > while ((stream->header_count_audio < header_count_audio) || > (stream->header_count_video < header_count_video)) { |
From: Thibaut M. <thi...@gm...> - 2005-02-09 10:30:27
|
Hi Michael, Matt, On Tue, 1 Feb 2005 15:13:45 +0100, Michael Roitzsch <mr...@us...> wrote: > Hi team, > > > Was there anything in the backtrace I sent to give any clues what the > > problem might be in our player? > > We have cyclic lock waiting between the thread doing xine_open() and the > decoder threads, so this appears to be a bug in xine-lib. > > Situation: > * all available buffers are held inside the fifos (no free buffers) > * decoder loops are both waiting for the stream's counter lock (so they cannot > process and thus free any buffers) > * xine_open() hangs inside _x_demux_control_headers_done(), waiting for a free > buffer, but with the counter lock held agreed. only the audio stream is involved. > I am not fully confident that the attached patch is a correct fix to that, but > could you try it anyway, please? Even if it does'nt fix this problem, your patch is a good idea, please commit. The audio decoder has already freed header buffer at the point it is blocked. There should be free buffers available in the fifo, there is no buffer leak, except if the fifo size has been reduced. Matt: have you reduced the audio fifo size ? > > I noticed on the xine-devel archive the backtrace was cut short, I hope it > > all got to you on email.. > > I think I got the full one. > > Michael > > -- > printk("Entering UltraSMPenguin Mode...\n"); > 2.2.16 /usr/src/linux/arch/sparc64/kernel/smp.c Thibaut |
From: Matt J. <ma...@ro...> - 2005-02-09 10:38:15
|
Hi Thibaut Thibaut Mattern wrote: > Hi Michael, Matt, > > On Tue, 1 Feb 2005 15:13:45 +0100, Michael Roitzsch > <mr...@us...> wrote: > >>Hi team, >> >> >>>Was there anything in the backtrace I sent to give any clues what the >>>problem might be in our player? >> >>We have cyclic lock waiting between the thread doing xine_open() and the >>decoder threads, so this appears to be a bug in xine-lib. >> >>Situation: >>* all available buffers are held inside the fifos (no free buffers) >>* decoder loops are both waiting for the stream's counter lock (so they cannot >> process and thus free any buffers) >>* xine_open() hangs inside _x_demux_control_headers_done(), waiting for a free >> buffer, but with the counter lock held > > > agreed. > only the audio stream is involved. > > >>I am not fully confident that the attached patch is a correct fix to that, but >>could you try it anyway, please? > > > Even if it does'nt fix this problem, your patch is a good idea, please commit. > The audio decoder has already freed header buffer at the point it is > blocked. There should be free buffers available in the fifo, there is > no buffer leak, except if the fifo size has been reduced. > > Matt: have you reduced the audio fifo size ? > We haven't tried that but I can try now, where is the audio fifo size defined ? Matt > >>>I noticed on the xine-devel archive the backtrace was cut short, I hope it >>>all got to you on email.. >> >>I think I got the full one. >> >>Michael >> >>-- >>printk("Entering UltraSMPenguin Mode...\n"); >> 2.2.16 /usr/src/linux/arch/sparc64/kernel/smp.c > > > Thibaut > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > xine-devel mailing list > xin...@li... > https://lists.sourceforge.net/lists/listinfo/xine-devel -- Matt Jarvis Technical Development Manager Rolec Music Ltd 210 Belgravia Works, Marlborough Road, London, UK N19 4NF Tel: +44 207 281 4776 Fax : +44 207 281 4565 mailto: ma...@ro... web: www.rolecmusic.com This email is strictly confidential and intended solely for the addressee(s). It may contain personal and confidential information and as such may be protected by the Data Protection Act 1998. If this email has come to you in error you must take no action based on it, nor must you copy or show it to anyone; please reply to this email and highlight the error. Any views or opinions expressed within this email are those of the author, and do not necessarily represent those of the company. Although we have taken steps to ensure that this email and attachments are free from any virus, we advise that in keeping with good computer practice the recipient should ensure they are actually virus free. |
From: Matt J. <ma...@ro...> - 2005-02-09 10:46:03
|
Sorry, I think I got the wrong end of the stick in my previous post, its been a long morning ;) We haven't reduced the audio fifo size. Once we apply Michael's patch, xine_open returns, but we then seem to stop just after xine_play ( see the last backtrace I posted ) Matt Thibaut Mattern wrote: > Hi Michael, Matt, > > On Tue, 1 Feb 2005 15:13:45 +0100, Michael Roitzsch > <mr...@us...> wrote: > >>Hi team, >> >> >>>Was there anything in the backtrace I sent to give any clues what the >>>problem might be in our player? >> >>We have cyclic lock waiting between the thread doing xine_open() and the >>decoder threads, so this appears to be a bug in xine-lib. >> >>Situation: >>* all available buffers are held inside the fifos (no free buffers) >>* decoder loops are both waiting for the stream's counter lock (so they cannot >> process and thus free any buffers) >>* xine_open() hangs inside _x_demux_control_headers_done(), waiting for a free >> buffer, but with the counter lock held > > > agreed. > only the audio stream is involved. > > >>I am not fully confident that the attached patch is a correct fix to that, but >>could you try it anyway, please? > > > Even if it does'nt fix this problem, your patch is a good idea, please commit. > The audio decoder has already freed header buffer at the point it is > blocked. There should be free buffers available in the fifo, there is > no buffer leak, except if the fifo size has been reduced. > > Matt: have you reduced the audio fifo size ? > > >>>I noticed on the xine-devel archive the backtrace was cut short, I hope it >>>all got to you on email.. >> >>I think I got the full one. >> >>Michael >> >>-- >>printk("Entering UltraSMPenguin Mode...\n"); >> 2.2.16 /usr/src/linux/arch/sparc64/kernel/smp.c > > > Thibaut > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > xine-devel mailing list > xin...@li... > https://lists.sourceforge.net/lists/listinfo/xine-devel -- Matt Jarvis Technical Development Manager Rolec Music Ltd 210 Belgravia Works, Marlborough Road, London, UK N19 4NF Tel: +44 207 281 4776 Fax : +44 207 281 4565 mailto: ma...@ro... web: www.rolecmusic.com This email is strictly confidential and intended solely for the addressee(s). It may contain personal and confidential information and as such may be protected by the Data Protection Act 1998. If this email has come to you in error you must take no action based on it, nor must you copy or show it to anyone; please reply to this email and highlight the error. Any views or opinions expressed within this email are those of the author, and do not necessarily represent those of the company. Although we have taken steps to ensure that this email and attachments are free from any virus, we advise that in keeping with good computer practice the recipient should ensure they are actually virus free. |
From: Thibaut M. <thi...@gm...> - 2005-02-09 11:12:04
|
On Wed, 09 Feb 2005 10:45:22 +0000, Matt Jarvis <ma...@ro...> wrote: > Sorry, I think I got the wrong end of the stick in my previous post, its > been a long morning ;) ;) > We haven't reduced the audio fifo size. Once we apply Michael's patch, > xine_open returns, but we then seem to stop just after xine_play ( see > the last backtrace I posted ) In fact, Michael's patch seems to work nicely, there is no deadlock inside xine-lib. There is nothing very suspicious in this backtrace except Thread 10 "cond=0x0" which is impossible. Maybe a gdb bug or a memory corruption problem. Did you try to use Valgrind to check if there is no memory access problem ? There is no demuxer thread, so your 2 streams are in a stopped state. Maybe xine_open or xine_play failed, set the verbosity level to 2 to see what happened. > Matt Thibaut |
From: Matt J. <ma...@ro...> - 2005-02-10 08:31:34
|
Hi Thibaut Thibaut Mattern wrote: > On Wed, 09 Feb 2005 10:45:22 +0000, Matt Jarvis <ma...@ro...> wrote: > >>Sorry, I think I got the wrong end of the stick in my previous post, its >>been a long morning ;) > > > ;) > > >>We haven't reduced the audio fifo size. Once we apply Michael's patch, >>xine_open returns, but we then seem to stop just after xine_play ( see >>the last backtrace I posted ) > > > In fact, Michael's patch seems to work nicely, there is no deadlock > inside xine-lib. > There is nothing very suspicious in this backtrace except Thread 10 > "cond=0x0" which is impossible. Maybe a gdb bug or a memory corruption > problem. Did you try to use Valgrind to check if there is no memory > access problem ? > > There is no demuxer thread, so your 2 streams are in a stopped state. > Maybe xine_open or xine_play failed, set the verbosity level to 2 to > see what happened. We increased the verbosity level, and at the point the player stops it says : load_plugins: probing demux 'mpeg' xine: found demuxer plugin: MPEG program stream demux plugin ao_close audio_out: no streams left, closing driver video discontinuity #159, type is 0, disc_off 0 waiting for audio discontinuity #159 audio discontinuity #159, type is 0, disc_off 0 waiting for in_discontinuity update #159 vpts adjusted with prebuffer to 6225870056 load_plugins: plugin mpeg2 will be used for video streamtype 00. load_plugins: plugin mad will be used for audio streamtype 01. audio_alsa_out:open pause_resume=0 output sample rate 48000 demux: can't create new thread (Resource temporarily unavailable) abort: demux.c:340: _x_demux_start_thread: Aborting. What reason could there be for the demux thread to not be created ? Is this something we are doing wrong ? Here's the backtrace when this happens : [New Thread 24397303 (LWP 2767)] [Thread 24397303 (LWP 2767) exited] [New Thread 24413688 (LWP 2768)] [Thread 24413688 (LWP 2768) exited] [New Thread 24430073 (LWP 2769)] [Thread 24430073 (LWP 2769) exited] [New Thread 24446458 (LWP 2770)] [Thread 24446458 (LWP 2770) exited] [New Thread 24462843 (LWP 2771)] [Thread 24462843 (LWP 2771) exited] [New Thread 24479228 (LWP 2772)] [Thread 24479228 (LWP 2772) exited] [New Thread 24496127 (LWP 2773)] Program received signal SIGABRT, Aborted. [Switching to Thread 16384 (LWP 1255)] 0x402ba2e1 in __kill () from /lib/libc.so.6 Current language: auto; currently c Thread 1497 (Thread 24496127 (LWP 2773)): #0 0x402ba411 in do_sigsuspend (set=0xbfdffaec) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbfdffaec) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0x4008e060) at pthread.c:1141 #3 0x40089b9e in __pthread_lock (lock=0x40098e90, self=0x4008e060) at restart.h:36 #4 0x40085d6c in pthread_start_thread_event (arg=0xbfdffbe0) at manager.c:319 #5 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 17 (Thread 245776 (LWP 1272)): #0 0x4008c0c8 in __libc_recvfrom () from /lib/libpthread.so.0 #1 0xbdbffbe0 in ?? () #2 0x080554d3 in myUDPSocket::Read (this=0x8068a80, buffer=0xbdbff6cc, buffer_len=396) at mySocket.cpp:40 #3 0x0804e0a6 in CPlayer_Singleton::mainLoop (this=0x8068a80) at player.cpp:183 #4 0x0805ea01 in thMainLoop (val=0x0) at main.cpp:44 #5 0x40085d03 in pthread_start_thread (arg=0x0) at manager.c:300 #6 0x40085d7f in pthread_start_thread_event (arg=0xbdbffbe0) at manager.c:324 #7 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 16 (Thread 229391 (LWP 1271)): #0 0x402ba411 in do_sigsuspend (set=0xbddff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbddff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbddffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x9415324) at restart.h:36 #4 0x40037f86 in xine_event_wait (queue=0x9415320) at events.c:56 #5 0x4003836b in listener_loop (queue_gen=0x9415320) at events.c:198 #6 0x40085d03 in pthread_start_thread (arg=0xbddffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbddffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 15 (Thread 213006 (LWP 1270)): #0 0x402ba411 in do_sigsuspend (set=0xbdfff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbdfff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbdfffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93ebc64) at restart.h:36 #4 0x4002b0a4 in fifo_buffer_get (fifo=0x93ebc50) at buffer.c:233 #5 0x40030c9e in audio_decoder_loop (stream_gen=0x93ed340) at audio_decoder.c:68 #6 0x40085d03 in pthread_start_thread (arg=0xbdfffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbdfffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 14 (Thread 196621 (LWP 1269)): #0 0x402ba411 in do_sigsuspend (set=0xbe1ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe1ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe1ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93eb764) at restart.h:36 #4 0x4002b0a4 in fifo_buffer_get (fifo=0x93eb750) at buffer.c:233 #5 0x4002fe40 in video_decoder_loop (stream_gen=0x93ed340) at video_decoder.c:123 #6 0x40085d03 in pthread_start_thread (arg=0xbe1ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe1ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 13 (Thread 180236 (LWP 1268)): #0 0x402ba411 in do_sigsuspend (set=0xbe3ff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe3ff9ac) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe3ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93eb05c) at restart.h:36 #4 0x40037f86 in xine_event_wait (queue=0x93eb058) at events.c:56 #5 0x4003836b in listener_loop (queue_gen=0x93eb058) at events.c:198 #6 0x40085d03 in pthread_start_thread (arg=0xbe3ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe3ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 12 (Thread 163851 (LWP 1267)): #0 0x402ba411 in do_sigsuspend (set=0xbe5ff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe5ff93c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe5ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93cde54) at restart.h:36 #4 0x4002b0a4 in fifo_buffer_get (fifo=0x93cde40) at buffer.c:233 #5 0x40030c9e in audio_decoder_loop (stream_gen=0x93c2610) at audio_decoder.c:68 #6 0x40085d03 in pthread_start_thread (arg=0xbe5ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe5ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 11 (Thread 147466 (LWP 1266)): #0 0x402ba411 in do_sigsuspend (set=0xbe7ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe7ff92c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe7ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x93c3244) at restart.h:36 #4 0x4002b0a4 in fifo_buffer_get (fifo=0x93c3230) at buffer.c:233 #5 0x4002fe40 in video_decoder_loop (stream_gen=0x93c2610) at video_decoder.c:123 #6 0x40085d03 in pthread_start_thread (arg=0xbe7ffbe0) at manager.c:300 #7 0x40085d7f in pthread_start_thread_event (arg=0xbe7ffbe0) at manager.c:324 #8 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 10 (Thread 131081 (LWP 1265)): #0 0x402ba411 in do_sigsuspend (set=0xbe9ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbe9ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbe9ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x92c1764) at restart.h:36 #4 0x400344aa in fifo_remove_int (fifo=0x92c1758, blocking=1) at audio_out.c:337 #5 0x40034562 in fifo_remove (fifo=0x92c1758) at audio_out.c:374 #6 0x400355ff in ao_loop (this_gen=0x92a3660) at audio_out.c:962 #7 0x40085d03 in pthread_start_thread (arg=0xbe9ffbe0) at manager.c:300 #8 0x40085d7f in pthread_start_thread_event (arg=0xbe9ffbe0) at manager.c:324 #9 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 9 (Thread 114696 (LWP 1264)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047121 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x8e971c8) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbebffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbebffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 8 (Thread 98311 (LWP 1263)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047121 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x8a8afc8) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbedffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbedffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 7 (Thread 81926 (LWP 1262)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x400885ee in __pthread_timedsuspend_new (self=0xbefffbe0, abstime=0xbefffab4) at pthread.c:1288 #3 0x40084f85 in pthread_cond_timedwait_relative (cond=0x8a8a148, mutex=0x8a8a130, abstime=0xbefffab4) at restart.h:47 #4 0x40028909 in metronom_sync_loop (this=0x8a8a0e8) at metronom.c:873 #5 0x40085d03 in pthread_start_thread (arg=0xbefffbe0) at manager.c:300 #6 0x40085d7f in pthread_start_thread_event (arg=0xbefffbe0) at manager.c:324 #7 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 6 (Thread 65541 (LWP 1261)): #0 0x402ba411 in do_sigsuspend (set=0xbf1ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:50 #1 0x402ba4d7 in *__GI___sigsuspend (set=0xbf1ff91c) at ../sysdeps/unix/sysv/linux/sigsuspend.c:87 #2 0x400881e8 in __pthread_wait_for_restart_signal (self=0xbf1ffbe0) at pthread.c:1141 #3 0x40084d78 in __pthread_cond_wait (cond=0x0, mutex=0x88ca7c4) at restart.h:36 #4 0x400344aa in fifo_remove_int (fifo=0x88ca7b8, blocking=1) at audio_out.c:337 #5 0x40034562 in fifo_remove (fifo=0x88ca7b8) at audio_out.c:374 #6 0x400355ff in ao_loop (this_gen=0x88d84c0) at audio_out.c:962 #7 0x40085d03 in pthread_start_thread (arg=0xbf1ffbe0) at manager.c:300 #8 0x40085d7f in pthread_start_thread_event (arg=0xbf1ffbe0) at manager.c:324 #9 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 5 (Thread 49156 (LWP 1260)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047121 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x84bd9d0) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbf3ffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbf3ffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 4 (Thread 32771 (LWP 1259)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x40047121 in xine_usec_sleep (usec=1000) at utils.c:427 #3 0x40033181 in video_out_loop (this_gen=0x80b05e0) at video_out.c:1142 #4 0x40085d03 in pthread_start_thread (arg=0xbf5ffbe0) at manager.c:300 #5 0x40085d7f in pthread_start_thread_event (arg=0xbf5ffbe0) at manager.c:324 #6 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 3 (Thread 16386 (LWP 1258)): #0 0x4008c5b6 in __libc_nanosleep () from /lib/libpthread.so.0 #1 0x00000000 in ?? () #2 0x400885ee in __pthread_timedsuspend_new (self=0xbf7ffbe0, abstime=0xbf7ffab4) at pthread.c:1288 #3 0x40084f85 in pthread_cond_timedwait_relative (cond=0x80a6f88, mutex=0x80a6f70, abstime=0xbf7ffab4) at restart.h:47 #4 0x40028909 in metronom_sync_loop (this=0x80a6f28) at metronom.c:873 #5 0x40085d03 in pthread_start_thread (arg=0xbf7ffbe0) at manager.c:300 #6 0x40085d7f in pthread_start_thread_event (arg=0xbf7ffbe0) at manager.c:324 #7 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 2 (Thread 32769 (LWP 1257)): #0 0x402ba2e1 in __kill () from /lib/libc.so.6 #1 0x400884ce in __pthread_restart_new (th=0x0) at pthread.c:1252 #2 0x40085acb in __pthread_manager (arg=0x4008ec00) at restart.h:26 #3 0x40085bf7 in __pthread_manager_event (arg=0x4008e480) at manager.c:242 #4 0x4036d2c7 in __clone () from /lib/libc.so.6 Thread 1 (Thread 16384 (LWP 1255)): #0 0x402ba2e1 in __kill () from /lib/libc.so.6 #1 0x40088811 in pthread_kill (thread=1255, signo=0) at signals.c:65 #2 0x40088b1b in __pthread_raise (sig=1074326528) at signals.c:187 #3 0x402b9f24 in *__GI_raise (sig=6) at ../linuxthreads/sysdeps/unix/sysv/linux/raise.c:34 #4 0x402bb6fb in *__GI_abort () at ../sysdeps/generic/abort.c:88 #5 0x4003c22e in _x_demux_start_thread (stream=0x93c2610) at demux.c:340 #6 0x40025c12 in play_internal (stream=0x93c2610, start_pos=0, start_time=0) at xine.c:1168 #7 0x40025c96 in xine_play (stream=0x93c2610, start_pos=1, start_time=0) at xine.c:1190 #8 0x08056427 in CBackgroundVideo::resume (this=0x8a5a7a8) at backgroundVideo.cpp:176 #9 0x080531a0 in CChannel_Video::onVideoLoaded (this=0x8068aa0) at channels.cpp:642 #10 0x0805132c in CChannel_NoVideo::load (this=0x8068aa0, track=0x9419ec4 "/home/rolec/Tracks/b.mpg") at channels.cpp:266 #11 0x08051451 in CChannel_NoVideo::play (this=0x8068aa0) at channels.cpp:295 #12 0x0804ed3c in CPlayer_Singleton::play (this=0x8068a80) at player.cpp:473 #13 0x0804e333 in CPlayer_Singleton::openTrack (this=0x8068a80, record=@0xbffff8c0) at player.cpp:278 #14 0x0805f077 in main (argc=1, argv=0xbffffad4) at main.cpp:132 The program is running. Exit anyway? (y or n) We've tried a few different things with how we switch the video - pausing before a transition on the audio track, stopping altogether before an audio transition, and none of them seem to make any difference. Matt > > >>Matt > > > Thibaut > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > xine-devel mailing list > xin...@li... > https://lists.sourceforge.net/lists/listinfo/xine-devel -- Matt Jarvis Technical Development Manager Rolec Music Ltd 210 Belgravia Works, Marlborough Road, London, UK N19 4NF Tel: +44 207 281 4776 Fax : +44 207 281 4565 mailto: ma...@ro... web: www.rolecmusic.com This email is strictly confidential and intended solely for the addressee(s). It may contain personal and confidential information and as such may be protected by the Data Protection Act 1998. If this email has come to you in error you must take no action based on it, nor must you copy or show it to anyone; please reply to this email and highlight the error. Any views or opinions expressed within this email are those of the author, and do not necessarily represent those of the company. Although we have taken steps to ensure that this email and attachments are free from any virus, we advise that in keeping with good computer practice the recipient should ensure they are actually virus free. |
From: Thibaut M. <thi...@gm...> - 2005-02-10 10:10:37
|
On Thu, 10 Feb 2005 08:30:51 +0000, Matt Jarvis <ma...@ro...> wrote: > Hi Thibaut > > Thibaut Mattern wrote: [...] > > There is no demuxer thread, so your 2 streams are in a stopped state. > > Maybe xine_open or xine_play failed, set the verbosity level to 2 to > > see what happened. > > We increased the verbosity level, and at the point the player stops it > says : > > load_plugins: probing demux 'mpeg' > xine: found demuxer plugin: MPEG program stream demux plugin > ao_close > audio_out: no streams left, closing driver > video discontinuity #159, type is 0, disc_off 0 > waiting for audio discontinuity #159 > audio discontinuity #159, type is 0, disc_off 0 > waiting for in_discontinuity update #159 > vpts adjusted with prebuffer to 6225870056 > load_plugins: plugin mpeg2 will be used for video streamtype 00. > load_plugins: plugin mad will be used for audio streamtype 01. > audio_alsa_out:open pause_resume=0 > output sample rate 48000 > demux: can't create new thread (Resource temporarily unavailable) > abort: demux.c:340: _x_demux_start_thread: Aborting. > > What reason could there be for the demux thread to not be created ? Is > this something we are doing wrong ? The new thread can't be created because there is too many threads or because there is not enough free memory. The backtrace shows only 18 threads, check the memory usage of your app. Use Valgrind to find where memory is leaked. > Here's the backtrace when this happens : > [...] > Matt Jarvis > Technical Development Manager > Rolec Music Ltd > 210 Belgravia Works, Marlborough Road, London, UK N19 4NF > Tel: +44 207 281 4776 Fax : +44 207 281 4565 > mailto: ma...@ro... > web: www.rolecmusic.com Thibaut |
From: Matt J. <ma...@ro...> - 2005-02-10 11:34:37
|
Hi Thibaut Thibaut Mattern wrote: > On Thu, 10 Feb 2005 08:30:51 +0000, Matt Jarvis <ma...@ro...> wrote: > >>Hi Thibaut >> >>Thibaut Mattern wrote: > > [...] > >>>There is no demuxer thread, so your 2 streams are in a stopped state. >>>Maybe xine_open or xine_play failed, set the verbosity level to 2 to >>>see what happened. >> >>We increased the verbosity level, and at the point the player stops it >>says : >> >>load_plugins: probing demux 'mpeg' >>xine: found demuxer plugin: MPEG program stream demux plugin >>ao_close >>audio_out: no streams left, closing driver >>video discontinuity #159, type is 0, disc_off 0 >>waiting for audio discontinuity #159 >>audio discontinuity #159, type is 0, disc_off 0 >>waiting for in_discontinuity update #159 >>vpts adjusted with prebuffer to 6225870056 >>load_plugins: plugin mpeg2 will be used for video streamtype 00. >>load_plugins: plugin mad will be used for audio streamtype 01. >>audio_alsa_out:open pause_resume=0 >>output sample rate 48000 >>demux: can't create new thread (Resource temporarily unavailable) >>abort: demux.c:340: _x_demux_start_thread: Aborting. >> >>What reason could there be for the demux thread to not be created ? Is >>this something we are doing wrong ? > > > The new thread can't be created because there is too many threads or > because there is not enough free memory. > The backtrace shows only 18 threads, check the memory usage of your app. > Use Valgrind to find where memory is leaked. > Yes, we came to the same conclusion after poking around in the xine-lib code. I did come across this thread on xine-devel from a long time ago : http://sourceforge.net/mailarchive/message.php?msg_id=2303982 I realise xine-lib will have changed a lot since then, but it seemed to be similar to what we were seeing. In demux.c the pthread_join happens in _x_demux_stop_thread, in our player we call xine_stop AFTER receiving the end of stream event. Will that still ensure that pthread_join is called and the terminated thread's resources are deallocated ? Matt > >>Here's the backtrace when this happens : >> > > [...] > > >>Matt Jarvis >>Technical Development Manager >>Rolec Music Ltd >>210 Belgravia Works, Marlborough Road, London, UK N19 4NF >>Tel: +44 207 281 4776 Fax : +44 207 281 4565 >>mailto: ma...@ro... >>web: www.rolecmusic.com > > > > Thibaut > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > xine-devel mailing list > xin...@li... > https://lists.sourceforge.net/lists/listinfo/xine-devel |
From: Thibaut M. <thi...@gm...> - 2005-02-10 14:12:46
Attachments:
xine.c.diff
demux.c.diff
|
On Thu, 10 Feb 2005 11:23:45 +0000, Matt Jarvis <ma...@ro...> wrote: > Hi Thibaut [...] > > Yes, we came to the same conclusion after poking around in the xine-lib > code. I did come across this thread on xine-devel from a long time ago : > > http://sourceforge.net/mailarchive/message.php?msg_id=2303982 > > I realise xine-lib will have changed a lot since then, but it seemed to > be similar to what we were seeing. In demux.c the pthread_join happens > in _x_demux_stop_thread, in our player we call xine_stop AFTER receiving > the end of stream event. Will that still ensure that pthread_join is > called and the terminated thread's resources are deallocated ? yes, that's a similar problem with the demuxer thread. try the 2 small patches attached (generated against xine-lib 1.0), i think that should fix your problem. I've not tested, i don't have access to a compiler. > Matt Thibaut |
From: Matt J. <ma...@ro...> - 2005-02-10 16:18:08
|
Hi Thibaut Thibaut Mattern wrote: > On Thu, 10 Feb 2005 11:23:45 +0000, Matt Jarvis <ma...@ro...> wrote: > >>Hi Thibaut > > [...] > >>Yes, we came to the same conclusion after poking around in the xine-lib >>code. I did come across this thread on xine-devel from a long time ago : >> >>http://sourceforge.net/mailarchive/message.php?msg_id=2303982 >> >>I realise xine-lib will have changed a lot since then, but it seemed to >>be similar to what we were seeing. In demux.c the pthread_join happens >>in _x_demux_stop_thread, in our player we call xine_stop AFTER receiving >>the end of stream event. Will that still ensure that pthread_join is >>called and the terminated thread's resources are deallocated ? > > > yes, that's a similar problem with the demuxer thread. > try the 2 small patches attached (generated against xine-lib 1.0), i > think that should fix your problem. I've not tested, i don't have > access to a compiler. > With your patches applied, I'm now seeing pthread_joins every time we switch the video during an audio track, so it looks very much like the problem is fixed. I will leave a machine on soak test over the weekend and let you know how it goes :) Thanks for all your help with this. Matt > >>Matt > > > Thibaut |
From: Michael R. <mr...@us...> - 2005-02-10 11:35:21
|
Hi Thibaut, Hi Matt, > Even if it does'nt fix this problem, your patch is a good idea, please > commit. The audio decoder has already freed header buffer at the point it > is blocked. There should be free buffers available in the fifo, there is no > buffer leak, except if the fifo size has been reduced. I committed my patch since it appears to have fixed the initial problem and we are now facing a different, most likely unrelated thread-creation issue. Michael -- /* When we have more time, we can teach the penguin to say * "By your command" or "Activating turbo boost, Michael". */ 2.2.16 /usr/src/linux/arch/sparc/prom/sun4prom.c |
From: Miguel F. <mfr...@gm...> - 2005-02-10 11:50:24
|
On Thu, 10 Feb 2005 11:10:28 +0100, Thibaut Mattern <thi...@gm...> wrote: > > demux: can't create new thread (Resource temporarily unavailable) > > abort: demux.c:340: _x_demux_start_thread: Aborting. > > > > What reason could there be for the demux thread to not be created ? Is > > this something we are doing wrong ? > > The new thread can't be created because there is too many threads or > because there is not enough free memory. > The backtrace shows only 18 threads, check the memory usage of your app. > Use Valgrind to find where memory is leaked. i have seen this problem before: some thread is not been joined when it finishes. if we do not join them properly this happens after 1024 thread creations (iirc). Miguel |
From: Thibaut M. <thi...@gm...> - 2005-02-10 14:15:59
|
Hi Miguel, On Thu, 10 Feb 2005 09:50:17 -0200, Miguel Freitas <mfr...@gm...> wrote: > On Thu, 10 Feb 2005 11:10:28 +0100, Thibaut Mattern > <thi...@gm...> wrote: > > > demux: can't create new thread (Resource temporarily unavailable) > > > abort: demux.c:340: _x_demux_start_thread: Aborting. > > > > > > What reason could there be for the demux thread to not be created ? Is > > > this something we are doing wrong ? > > > > The new thread can't be created because there is too many threads or > > because there is not enough free memory. > > The backtrace shows only 18 threads, check the memory usage of your app. > > Use Valgrind to find where memory is leaked. > > i have seen this problem before: some thread is not been joined when > it finishes. if we do not join them properly this happens after 1024 > thread creations (iirc). thanks, that's what happens. i'm the author of very stupid last line of the demux loop... > Miguel Thibaut |
From: Miguel F. <mfr...@gm...> - 2004-06-11 19:10:55
|
Hi Barry, On Fri, 11 Jun 2004 15:45:39 +0100, Barry Scott <bar...@on...> wrote: > In my app I use two xine_stream_t objects. While playing an mpeg > clip from one stream I open the second to minimise the delay in > switching from clip to clip. This work well most of the time. But > I have found that with some media xine_open will not return from > opening the second file until the first finishes playing. > > Is this a thread locking issue in xine_open? How can I help get > to the bottom of what is wrong? it might be. the best thing to do would be breaking into gdb when it occurs and then inspect the state of all threads (thread apply all bt). may you try getting this information for us? you will need to build xine-lib with debug information (make clean debug). regards, Miguel |
From: Michael R. <mr...@us...> - 2004-06-13 12:15:48
|
Hi Barry, > In my app I use two xine_stream_t objects. While playing an mpeg > clip from one stream I open the second to minimise the delay in > switching from clip to clip. This work well most of the time. But > I have found that with some media xine_open will not return from > opening the second file until the first finishes playing. > > Is this a thread locking issue in xine_open? How can I help get > to the bottom of what is wrong? You could make a gdb backtrace when the second stream is frozen and post that here. This way we can see, where it is hanging. Michael -- HARDFAIL("Not enough magic."); 2.4.0-test2 /usr/src/linux/drivers/block/nbd.c |
From: Michael R. <mr...@us...> - 2004-06-14 12:16:32
|
Hi Barry, > In my app I use two xine_stream_t objects. While playing an mpeg > clip from one stream I open the second to minimise the delay in > switching from clip to clip. This work well most of the time. But > I have found that with some media xine_open will not return from > opening the second file until the first finishes playing. > > Is this a thread locking issue in xine_open? How can I help get > to the bottom of what is wrong? You could make a gdb backtrace when the second stream is frozen and post that here. This way we can see, where it is hanging. Michael -- HARDFAIL("Not enough magic."); 2.4.0-test2 /usr/src/linux/drivers/block/nbd.c |
From: Barry S. <bar...@on...> - 2004-06-21 10:47:39
|
Below is the output from gdb when the main thread 1 is stuck. I see that its at line 176 in demux.c that has the following comment in the code: /* use timedwait to workaround buggy pthread broadcast implementations */ pthread_cond_timedwait (&stream->counter_changed, &stream->counter_lock, &ts); I have two stream objects in my player. The first is playing, the second I've called xine_open on. What is the bug in pthreads that's refered to? Is there a known fix that I could ungrade to? I'm using Mandrake Linux 9.2, glibc-2.3.2-14mdk, linux 2.4.22-10mdk. I can reproduce this at will so any fix or suggestion is easy to test. Barry GNU gdb 5.3-25mdk (Mandrake Linux) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i586-mandrake-linux-gnu"... (gdb) run --log-stdout --media-root $HOME --protocol-trace Starting program: /home/bscott/wc/svn/onelan/Signage/Player/Xine/player_xine --log-stdout --me dia-root $HOME --protocol-trace 2004-06-21 11:37:17.140 player Xine NTB V2.0.0 Build 833M 2004-06-18 17:02:16 2004-06-21 11:37:17.145 RX --->: 5 caps 2004-06-21 11:37:17.145 <--- TX: 5 started version 1 2004-06-21 11:37:17.145 <--- TX: 5 started media_class movie 2004-06-21 11:37:17.145 <--- TX: 5 started property location 2004-06-21 11:37:17.145 <--- TX: 5 started property volume 2004-06-21 11:37:17.145 <--- TX: 5 started command wait 2004-06-21 11:37:17.146 <--- TX: 5 succeeded 2004-06-21 11:37:17.151 RX --->: 6 version 1 2004-06-21 11:37:17.151 <--- TX: 6 succeeded 2004-06-21 11:37:17.153 RX --->: 7 init 2004-06-21 11:37:30.529 <--- TX: 7 succeeded 2004-06-21 11:37:30.532 RX --->: 8 hide 2004-06-21 11:37:30.532 <--- TX: 8 succeeded 2004-06-21 11:37:30.736 RX --->: 9 property location 70% 10% 25% 25% 2004-06-21 11:37:30.736 <--- TX: 9 succeeded 2004-06-21 11:37:30.737 RX --->: 10 property volume 100 2004-06-21 11:37:30.737 <--- TX: 10 succeeded 2004-06-21 11:37:30.737 RX --->: 11 start file:media/eric_bug_1_no_quit/default_movie1.mpg 2004-06-21 11:37:30.737 XinePlayer::openUrl(0x85fa828) xine_open( file:/home/bscott/media/eric_bug_1_no_quit/default_movie1.mpg ) 2004-06-21 11:37:31.805 <--- TX: 11 started 2004-06-21 11:37:31.806 RX --->: 12 z_to_front 2004-06-21 11:37:31.806 <--- TX: 12 succeeded 2004-06-21 11:37:31.806 RX --->: 13 wait 2004-06-21 11:37:31.806 RX --->: 14 property location 70% 10% 25% 25% 2004-06-21 11:37:31.806 RX --->: 15 property volume 100 2004-06-21 11:37:31.806 RX --->: 16 start file:media/eric_bug_1_no_quit/default_movie2.mpg 2004-06-21 11:37:31.806 XinePlayer::openUrl(0x862a958) xine_open( file:/home/bscott/media/eric_bug_1_no_quit/default_movie2.mpg ) [New Thread 16384 (LWP 19446)] [New Thread 32769 (LWP 19450)] [New Thread 16386 (LWP 19451)] [New Thread 32771 (LWP 19454)] [New Thread 49156 (LWP 19510)] [New Thread 65541 (LWP 19511)] [New Thread 81926 (LWP 19512)] [New Thread 98311 (LWP 19513)] [New Thread 114696 (LWP 19514)] [New Thread 131081 (LWP 19515)] [New Thread 147466 (LWP 19516)] [New Thread 163851 (LWP 19517)] [New Thread 180236 (LWP 19518)] Program received signal SIGINT, Interrupt. [Switching to Thread 163851 (LWP 19517)] 0x40088714 in __pthread_sigsuspend (set=0x4008db84) at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 in ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c Current language: auto; currently c (gdb) thread apply all bt Thread 13 (Thread 180236 (LWP 19518)): #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 #1 0x44a468c4 in ?? () #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x44a46be0) at pthread.c:1151 #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x85fb518) at restart.h:34 #4 0x400317cd in buffer_pool_alloc (this=0x85fb478) at buffer.c:93 #5 0x405c8475 in file_plugin_read_block (this_gen=0x865bdb8, fifo=0xfffffffc, todo=4946192725868283904) at input_file.c:116 #6 0x40657ff2 in parse_mpeg1_packet (this=0x865ede0, stream_id=224, scr=596407) at demux_mpeg.c:662 #7 0x40658524 in parse_pack (this=0x865ede0) at demux_mpeg.c:799 #8 0x4065881c in demux_mpeg_send_chunk (this_gen=0x865ede0) at demux_mpeg.c:905 #9 0x40041a10 in demux_loop (stream_gen=0x85fa828) at demux.c:245 #10 0x40086600 in pthread_start_thread (arg=0x44a46be0) at manager.c:305 #11 0x4008679e in pthread_start_thread_event (arg=0x44a46be0) at manager.c:328 Thread 12 (Thread 163851 (LWP 19517)): #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 #1 0x440e2a04 in ?? () #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x440e2be0) at pthread.c:1151 #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x865bc2c) at restart.h:34 #4 0x4003da92 in xine_event_wait (queue=0x865bc28) at events.c:56 #5 0x4003de96 in listener_loop (queue_gen=0x865bc28) at events.c:198 #6 0x40086600 in pthread_start_thread (arg=0x440e2be0) at manager.c:305 #7 0x4008679e in pthread_start_thread_event (arg=0x440e2be0) at manager.c:328 Thread 11 (Thread 147466 (LWP 19516)): #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 #1 0x438e2934 in ?? () #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x438e2be0) at pthread.c:1151 #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x84f9824) at restart.h:34 #4 0x4003a3c2 in fifo_wait_empty (fifo=0x84f986c) at audio_out.c:411 #5 0x4003bdef in ao_open (this_gen=0x84e2a68, stream=0x862a958, bits=16, rate=44100, mode=8) at audio_out.c:1347 #6 0x4423ab33 in mad_decode_data (this_gen=0x8, buf=0x8646520) at xine_decoder.c:227 #7 0x400376b9 in audio_decoder_loop (stream_gen=0x862a958) at audio_decoder.c:328 #8 0x40086600 in pthread_start_thread (arg=0x438e2be0) at manager.c:305 #9 0x4008679e in pthread_start_thread_event (arg=0x438e2be0) at manager.c:328 Thread 10 (Thread 131081 (LWP 19515)): #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 #1 0x43515974 in ?? () #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x43515be0) at pthread.c:1151 #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x862b594) at restart.h:34 #4 0x40031b08 in fifo_buffer_get (fifo=0x862b580) at buffer.c:233 #5 0x400363f7 in video_decoder_loop (stream_gen=0x862a958) at video_decoder.c:123 #6 0x40086600 in pthread_start_thread (arg=0x43515be0) at manager.c:305 #7 0x4008679e in pthread_start_thread_event (arg=0x43515be0) at manager.c:328 Thread 9 (Thread 114696 (LWP 19514)): #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 #1 0x42f2ca04 in ?? () #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x42f2cbe0) at pthread.c:1151 #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x862a8a4) at restart.h:34 #4 0x4003da92 in xine_event_wait (queue=0x862a8a0) at events.c:56 #5 0x4003de96 in listener_loop (queue_gen=0x862a8a0) at events.c:198 #6 0x40086600 in pthread_start_thread (arg=0x42f2cbe0) at manager.c:305 #7 0x4008679e in pthread_start_thread_event (arg=0x42f2cbe0) at manager.c:328 Thread 8 (Thread 98311 (LWP 19513)): #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 #1 0x00000001 in ?? () #2 0x400850d3 in pthread_cond_timedwait_relative (cond=0x84e364c, mutex=0x84e3634, abstime=0x4272c964) at restart.h:45 #3 0x4003a29f in fifo_remove_int (fifo=0x4272c74c, blocking=0) at audio_out.c:346 #4 0x4003a367 in fifo_remove_nonblock (fifo=0x84e3628) at audio_out.c:387 #5 0x4003bf6d in ao_get_buffer (this_gen=0x84e2a68) at audio_out.c:1388 #6 0x4423ab8a in mad_decode_data (this_gen=0x8, buf=0x8614970) at xine_decoder.c:249 #7 0x400376b9 in audio_decoder_loop (stream_gen=0x85fa828) at audio_decoder.c:328 #8 0x40086600 in pthread_start_thread (arg=0x4272cbe0) at manager.c:305 #9 0x4008679e in pthread_start_thread_event (arg=0x4272cbe0) at manager.c:328 Thread 7 (Thread 81926 (LWP 19512)): #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 #1 0x00000001 in ?? () #2 0x400850d3 in pthread_cond_timedwait_relative (cond=0x80c50c0, mutex=0x80c50a8, abstime=0x4235f884) at restart.h:45 #3 0x40037d5d in vo_remove_from_img_buf_queue_int (queue=0x4235f66c, blocking=0) at video_out.c:184 #4 0x40037e34 in vo_remove_from_img_buf_queue_nonblock (queue=0x80c5098) at video_out.c:220 #5 0x40037ffd in vo_get_frame (this_gen=0x80c4fa0, width=720, height=576, ratio=1.3333333333333333, format=842094169, flags=11) at video_out.c:311 #6 0x440eb00e in mpeg2_decode_data (mpeg2dec=0x865c5a0, current=0x41ee3e41 "\023Ä\003\0042\0030\017DEÉ0õqãÀY$", end=0x41ee4000 "", pts=605107017010961284) at decode.c:490 #7 0x44102b6d in mpeg2dec_decode_data (this_gen=0x865c588, buf=0x0) at xine_decoder.c:79 #8 0x40036957 in video_decoder_loop (stream_gen=0x85fa828) at video_decoder.c:344 #9 0x40086600 in pthread_start_thread (arg=0x4235fbe0) at manager.c:305 #10 0x4008679e in pthread_start_thread_event (arg=0x4235fbe0) at manager.c:328 Thread 6 (Thread 65541 (LWP 19511)): #0 0x4037a546 in poll () from /lib/i686/libc.so.6 Thread 5 (Thread 49156 (LWP 19510)): #0 0x4037a546 in poll () from /lib/i686/libc.so.6 #1 0x41311a55 in __snd_mixer_wait (mixer=0x403d49a0, timeout=-4) at audio_alsa_out.c:161 #2 0x41311aa4 in ao_alsa_handle_event_thread (data=0x80c6648) at audio_alsa_out.c:178 #3 0x40086600 in pthread_start_thread (arg=0x41b34be0) at manager.c:305 #4 0x4008679e in pthread_start_thread_event (arg=0x41b34be0) at manager.c:328 Thread 4 (Thread 32771 (LWP 19454)): #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 #1 0x00000000 in ?? () Thread 3 (Thread 16386 (LWP 19451)): #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 #1 0x00000000 in ?? () Thread 2 (Thread 32769 (LWP 19450)): #0 0x4037a546 in poll () from /lib/i686/libc.so.6 #1 0x40085968 in __pthread_manager (arg=0x0) at manager.c:146 #2 0x40085c63 in __pthread_manager_event (arg=0x4008d480) at manager.c:243 Thread 1 (Thread 16384 (LWP 19446)): #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 #1 0x00000001 in ?? () #2 0x400850d3 in pthread_cond_timedwait_relative (cond=0x862b258, mutex=0x862b240, abstime=0xbfffe5c8) at restart.h:45 #3 0x4004188b in _x_demux_control_headers_done (stream=0xbfffe3a0) at demux.c:176 #4 0x4002c56a in __open_internal (stream=0x862a958, mrl=0x8078744 "file:/home/bscott/media/eric_bug_1_no_quit/default_movie2.mpg") at xine.c:1049 #5 0x4002c5b1 in xine_open (stream=0x862a958, mrl=0xfffffffc <Address 0xfffffffc out of bounds>) at xine.c:1063 #6 0x0805a5d6 in ONELAN::XinePlayer::openUrl(ONELAN::ActionStart&) (this=0xbffff110, action=@0x86811d8) at player_xine.cpp:1227 #7 0x0805d3c2 in ActionStart (this=0x86811d8, player=@0xbffff110, action_id=@0xbfffea90, params=@0xbfffeab0) at player_xine.cpp:125 #8 0x0805b5d6 in ONELAN::XinePlayer::createAction(ONELAN::Connection&, std::string const&, std::string const&, std::list<std::string, std::allocator<std::string> > const&) (this=0xbffff110, connection=@0xbffff15c, action_id=@0xbfffea90, command_name=@0xbfffeaa0, command_params=@0xbfffeab0) at player_xine.cpp:1409 #9 0x08052db8 in ONELAN::PlayerProtocolSlave::foundTerminator() (this=0xbffff15c) at ../Common/player_protocol_slave.cpp:107 #10 0x08051019 in ONELAN::Connection::handleIoRead() (this=0xbffff15c) at ../Common/player_connection.cpp:211 #11 0x0804c7bf in ONELAN::AsyncIoScheduler::scheduleOnce() (this=0xbffff240) at ../../Common/async_scheduler.cpp:330 #12 0x0804ce77 in ONELAN::AsyncIoScheduler::scheduleUntilQuit() (this=0xbffff240) at ../../Common/async_scheduler.cpp:397 #13 0x08056551 in main (argc=1, argv=0xbffff544) at player_xine_main.cpp:128 #14 0x402bdc57 in __libc_start_main () from /lib/i686/libc.so.6 0x40088714 54 in ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c (gdb) thread 1 [Switching to thread 1 (Thread 16384 (LWP 19446))]#0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 (gdb) p tv (gdb) up #1 0x00000001 in ?? () (gdb) #2 0x400850d3 in pthread_cond_timedwait_relative (cond=0x862b258, mutex=0x862b240, abstime=0xbfffe5c8) at restart.h:45 in restart.h (gdb) #3 0x4004188b in _x_demux_control_headers_done (stream=0xbfffe3a0) at demux.c:176 176 pthread_cond_timedwait (&stream->counter_changed, &stream->counter_lock, &ts); (gdb) p tv $1 = {tv_sec = 1087814255, tv_usec = 849539} (gdb) p ts $2 = {tv_sec = 1087814256, tv_nsec = 849539000} (gdb) p stream->counter_changed $3 = {__c_lock = {__status = -1073745572, __spinlock = -1073745984}, __c_waiting = 0xbfffedc8, __padding = "\\×\004\b\030\0\0\0°ðB@\001\0\0\0àíÿ¿B6\037@\001\0\0", __align = -4611702253345108865} (gdb) p stream->counter_lock $4 = {__m_reserved = 1, __m_count = 134530406, __m_owner = 0x8, __m_kind = 7, __m_lock = { __status = -1073745960, __spinlock = 134531007}} (gdb) The program is running. Exit anyway? (y or n) y |
From: Barry S. <bar...@on...> - 2004-06-24 11:40:05
|
Does anyone have any suggestions for what I check next? Barry > -----Original Message----- > From: xin...@li... > [mailto:xin...@li...]On Behalf Of Barry Scott > Sent: 21 June 2004 11:47 > To: Xine-Devel > Subject: RE: [xine-devel] xine_open problem > > > Below is the output from gdb when the main thread 1 is stuck. > I see that its at line 176 in demux.c that has the following > comment in the code: > > /* use timedwait to workaround buggy pthread broadcast implementations > */ > pthread_cond_timedwait (&stream->counter_changed, > &stream->counter_lock, > &ts); > > I have two stream objects in my player. The first is playing, the second > I've called xine_open on. > > What is the bug in pthreads that's refered to? Is there a known fix > that I could ungrade to? > > I'm using Mandrake Linux 9.2, glibc-2.3.2-14mdk, linux 2.4.22-10mdk. > > I can reproduce this at will so any fix or suggestion is easy to test. > > Barry > > > GNU gdb 5.3-25mdk (Mandrake Linux) > Copyright 2002 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, > and you are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" > for details. > This GDB was configured as "i586-mandrake-linux-gnu"... > (gdb) run --log-stdout --media-root $HOME --protocol-trace > Starting program: > /home/bscott/wc/svn/onelan/Signage/Player/Xine/player_xine > --log-stdout --me > dia-root $HOME --protocol-trace > 2004-06-21 11:37:17.140 player Xine NTB V2.0.0 Build 833M 2004-06-18 > 17:02:16 > 2004-06-21 11:37:17.145 RX --->: 5 caps > 2004-06-21 11:37:17.145 <--- TX: 5 started version 1 > 2004-06-21 11:37:17.145 <--- TX: 5 started media_class movie > 2004-06-21 11:37:17.145 <--- TX: 5 started property location > 2004-06-21 11:37:17.145 <--- TX: 5 started property volume > 2004-06-21 11:37:17.145 <--- TX: 5 started command wait > 2004-06-21 11:37:17.146 <--- TX: 5 succeeded > 2004-06-21 11:37:17.151 RX --->: 6 version 1 > 2004-06-21 11:37:17.151 <--- TX: 6 succeeded > 2004-06-21 11:37:17.153 RX --->: 7 init > 2004-06-21 11:37:30.529 <--- TX: 7 succeeded > 2004-06-21 11:37:30.532 RX --->: 8 hide > 2004-06-21 11:37:30.532 <--- TX: 8 succeeded > 2004-06-21 11:37:30.736 RX --->: 9 property location > 70% 10% 25% 25% > 2004-06-21 11:37:30.736 <--- TX: 9 succeeded > 2004-06-21 11:37:30.737 RX --->: 10 property volume 100 > 2004-06-21 11:37:30.737 <--- TX: 10 succeeded > 2004-06-21 11:37:30.737 RX --->: 11 start > file:media/eric_bug_1_no_quit/default_movie1.mpg > 2004-06-21 11:37:30.737 XinePlayer::openUrl(0x85fa828) xine_open( > file:/home/bscott/media/eric_bug_1_no_quit/default_movie1.mpg ) > 2004-06-21 11:37:31.805 <--- TX: 11 started > 2004-06-21 11:37:31.806 RX --->: 12 z_to_front > 2004-06-21 11:37:31.806 <--- TX: 12 succeeded > 2004-06-21 11:37:31.806 RX --->: 13 wait > 2004-06-21 11:37:31.806 RX --->: 14 property location > 70% 10% 25% 25% > 2004-06-21 11:37:31.806 RX --->: 15 property volume 100 > 2004-06-21 11:37:31.806 RX --->: 16 start > file:media/eric_bug_1_no_quit/default_movie2.mpg > 2004-06-21 11:37:31.806 XinePlayer::openUrl(0x862a958) xine_open( > file:/home/bscott/media/eric_bug_1_no_quit/default_movie2.mpg ) > [New Thread 16384 (LWP 19446)] > [New Thread 32769 (LWP 19450)] > [New Thread 16386 (LWP 19451)] > [New Thread 32771 (LWP 19454)] > [New Thread 49156 (LWP 19510)] > [New Thread 65541 (LWP 19511)] > [New Thread 81926 (LWP 19512)] > [New Thread 98311 (LWP 19513)] > [New Thread 114696 (LWP 19514)] > [New Thread 131081 (LWP 19515)] > [New Thread 147466 (LWP 19516)] > [New Thread 163851 (LWP 19517)] > [New Thread 180236 (LWP 19518)] > > Program received signal SIGINT, Interrupt. > [Switching to Thread 163851 (LWP 19517)] > 0x40088714 in __pthread_sigsuspend (set=0x4008db84) > at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 > in ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c > Current language: auto; currently c > (gdb) thread apply all bt > > Thread 13 (Thread 180236 (LWP 19518)): > #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) > at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 > #1 0x44a468c4 in ?? () > #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x44a46be0) at > pthread.c:1151 > #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x85fb518) at > restart.h:34 > #4 0x400317cd in buffer_pool_alloc (this=0x85fb478) at buffer.c:93 > #5 0x405c8475 in file_plugin_read_block (this_gen=0x865bdb8, > fifo=0xfffffffc, todo=4946192725868283904) > at input_file.c:116 > #6 0x40657ff2 in parse_mpeg1_packet (this=0x865ede0, stream_id=224, > scr=596407) at demux_mpeg.c:662 > #7 0x40658524 in parse_pack (this=0x865ede0) at demux_mpeg.c:799 > #8 0x4065881c in demux_mpeg_send_chunk (this_gen=0x865ede0) at > demux_mpeg.c:905 > #9 0x40041a10 in demux_loop (stream_gen=0x85fa828) at demux.c:245 > #10 0x40086600 in pthread_start_thread (arg=0x44a46be0) at manager.c:305 > #11 0x4008679e in pthread_start_thread_event (arg=0x44a46be0) at > manager.c:328 > > Thread 12 (Thread 163851 (LWP 19517)): > #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) > at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 > #1 0x440e2a04 in ?? () > #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x440e2be0) at > pthread.c:1151 > #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x865bc2c) at > restart.h:34 > #4 0x4003da92 in xine_event_wait (queue=0x865bc28) at events.c:56 > #5 0x4003de96 in listener_loop (queue_gen=0x865bc28) at events.c:198 > #6 0x40086600 in pthread_start_thread (arg=0x440e2be0) at manager.c:305 > #7 0x4008679e in pthread_start_thread_event (arg=0x440e2be0) at > manager.c:328 > > Thread 11 (Thread 147466 (LWP 19516)): > #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) > at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 > #1 0x438e2934 in ?? () > #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x438e2be0) at > pthread.c:1151 > #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x84f9824) at > restart.h:34 > #4 0x4003a3c2 in fifo_wait_empty (fifo=0x84f986c) at audio_out.c:411 > #5 0x4003bdef in ao_open (this_gen=0x84e2a68, stream=0x862a958, bits=16, > rate=44100, mode=8) > at audio_out.c:1347 > #6 0x4423ab33 in mad_decode_data (this_gen=0x8, buf=0x8646520) at > xine_decoder.c:227 > #7 0x400376b9 in audio_decoder_loop (stream_gen=0x862a958) at > audio_decoder.c:328 > #8 0x40086600 in pthread_start_thread (arg=0x438e2be0) at manager.c:305 > #9 0x4008679e in pthread_start_thread_event (arg=0x438e2be0) at > manager.c:328 > > Thread 10 (Thread 131081 (LWP 19515)): > #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) > at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 > #1 0x43515974 in ?? () > #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x43515be0) at > pthread.c:1151 > #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x862b594) at > restart.h:34 > #4 0x40031b08 in fifo_buffer_get (fifo=0x862b580) at buffer.c:233 > #5 0x400363f7 in video_decoder_loop (stream_gen=0x862a958) at > video_decoder.c:123 > #6 0x40086600 in pthread_start_thread (arg=0x43515be0) at manager.c:305 > #7 0x4008679e in pthread_start_thread_event (arg=0x43515be0) at > manager.c:328 > > Thread 9 (Thread 114696 (LWP 19514)): > #0 0x40088714 in __pthread_sigsuspend (set=0x4008db84) > at ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c:54 > #1 0x42f2ca04 in ?? () > #2 0x400882b8 in __pthread_wait_for_restart_signal (self=0x42f2cbe0) at > pthread.c:1151 > #3 0x40084cd0 in __pthread_cond_wait (cond=0x0, mutex=0x862a8a4) at > restart.h:34 > #4 0x4003da92 in xine_event_wait (queue=0x862a8a0) at events.c:56 > #5 0x4003de96 in listener_loop (queue_gen=0x862a8a0) at events.c:198 > #6 0x40086600 in pthread_start_thread (arg=0x42f2cbe0) at manager.c:305 > #7 0x4008679e in pthread_start_thread_event (arg=0x42f2cbe0) at > manager.c:328 > > Thread 8 (Thread 98311 (LWP 19513)): > #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 > #1 0x00000001 in ?? () > #2 0x400850d3 in pthread_cond_timedwait_relative (cond=0x84e364c, > mutex=0x84e3634, abstime=0x4272c964) > at restart.h:45 > #3 0x4003a29f in fifo_remove_int (fifo=0x4272c74c, blocking=0) at > audio_out.c:346 > #4 0x4003a367 in fifo_remove_nonblock (fifo=0x84e3628) at audio_out.c:387 > #5 0x4003bf6d in ao_get_buffer (this_gen=0x84e2a68) at audio_out.c:1388 > #6 0x4423ab8a in mad_decode_data (this_gen=0x8, buf=0x8614970) at > xine_decoder.c:249 > #7 0x400376b9 in audio_decoder_loop (stream_gen=0x85fa828) at > audio_decoder.c:328 > #8 0x40086600 in pthread_start_thread (arg=0x4272cbe0) at manager.c:305 > #9 0x4008679e in pthread_start_thread_event (arg=0x4272cbe0) at > manager.c:328 > > Thread 7 (Thread 81926 (LWP 19512)): > #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 > #1 0x00000001 in ?? () > #2 0x400850d3 in pthread_cond_timedwait_relative (cond=0x80c50c0, > mutex=0x80c50a8, abstime=0x4235f884) > at restart.h:45 > #3 0x40037d5d in vo_remove_from_img_buf_queue_int (queue=0x4235f66c, > blocking=0) at video_out.c:184 > #4 0x40037e34 in vo_remove_from_img_buf_queue_nonblock > (queue=0x80c5098) at > video_out.c:220 > #5 0x40037ffd in vo_get_frame (this_gen=0x80c4fa0, width=720, height=576, > ratio=1.3333333333333333, > format=842094169, flags=11) at video_out.c:311 > #6 0x440eb00e in mpeg2_decode_data (mpeg2dec=0x865c5a0, > current=0x41ee3e41 "\023Ä\003\0042\0030\017DEÉ0õqãÀY$", end=0x41ee4000 > "", pts=605107017010961284) > at decode.c:490 > #7 0x44102b6d in mpeg2dec_decode_data (this_gen=0x865c588, buf=0x0) at > xine_decoder.c:79 > #8 0x40036957 in video_decoder_loop (stream_gen=0x85fa828) at > video_decoder.c:344 > #9 0x40086600 in pthread_start_thread (arg=0x4235fbe0) at manager.c:305 > #10 0x4008679e in pthread_start_thread_event (arg=0x4235fbe0) at > manager.c:328 > > Thread 6 (Thread 65541 (LWP 19511)): > #0 0x4037a546 in poll () from /lib/i686/libc.so.6 > > Thread 5 (Thread 49156 (LWP 19510)): > #0 0x4037a546 in poll () from /lib/i686/libc.so.6 > #1 0x41311a55 in __snd_mixer_wait (mixer=0x403d49a0, timeout=-4) at > audio_alsa_out.c:161 > #2 0x41311aa4 in ao_alsa_handle_event_thread (data=0x80c6648) at > audio_alsa_out.c:178 > #3 0x40086600 in pthread_start_thread (arg=0x41b34be0) at manager.c:305 > #4 0x4008679e in pthread_start_thread_event (arg=0x41b34be0) at > manager.c:328 > > Thread 4 (Thread 32771 (LWP 19454)): > #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 > #1 0x00000000 in ?? () > > Thread 3 (Thread 16386 (LWP 19451)): > #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 > #1 0x00000000 in ?? () > > Thread 2 (Thread 32769 (LWP 19450)): > #0 0x4037a546 in poll () from /lib/i686/libc.so.6 > #1 0x40085968 in __pthread_manager (arg=0x0) at manager.c:146 > #2 0x40085c63 in __pthread_manager_event (arg=0x4008d480) at > manager.c:243 > > Thread 1 (Thread 16384 (LWP 19446)): > #0 0x4008bf16 in nanosleep () from /lib/i686/libpthread.so.0 > #1 0x00000001 in ?? () > #2 0x400850d3 in pthread_cond_timedwait_relative (cond=0x862b258, > mutex=0x862b240, abstime=0xbfffe5c8) > at restart.h:45 > #3 0x4004188b in _x_demux_control_headers_done (stream=0xbfffe3a0) at > demux.c:176 > #4 0x4002c56a in __open_internal (stream=0x862a958, > mrl=0x8078744 > "file:/home/bscott/media/eric_bug_1_no_quit/default_movie2.mpg") at > xine.c:1049 > #5 0x4002c5b1 in xine_open (stream=0x862a958, mrl=0xfffffffc <Address > 0xfffffffc out of bounds>) > at xine.c:1063 > #6 0x0805a5d6 in ONELAN::XinePlayer::openUrl(ONELAN::ActionStart&) > (this=0xbffff110, action=@0x86811d8) > at player_xine.cpp:1227 > #7 0x0805d3c2 in ActionStart (this=0x86811d8, player=@0xbffff110, > action_id=@0xbfffea90, > params=@0xbfffeab0) at player_xine.cpp:125 > #8 0x0805b5d6 in ONELAN::XinePlayer::createAction(ONELAN::Connection&, > std::string const&, std::string const&, std::list<std::string, > std::allocator<std::string> > const&) (this=0xbffff110, > connection=@0xbffff15c, > action_id=@0xbfffea90, command_name=@0xbfffeaa0, > command_params=@0xbfffeab0) at player_xine.cpp:1409 > #9 0x08052db8 in ONELAN::PlayerProtocolSlave::foundTerminator() > (this=0xbffff15c) > at ../Common/player_protocol_slave.cpp:107 > #10 0x08051019 in ONELAN::Connection::handleIoRead() (this=0xbffff15c) > at ../Common/player_connection.cpp:211 > #11 0x0804c7bf in ONELAN::AsyncIoScheduler::scheduleOnce() > (this=0xbffff240) > at ../../Common/async_scheduler.cpp:330 > #12 0x0804ce77 in ONELAN::AsyncIoScheduler::scheduleUntilQuit() > (this=0xbffff240) > at ../../Common/async_scheduler.cpp:397 > #13 0x08056551 in main (argc=1, argv=0xbffff544) at > player_xine_main.cpp:128 > #14 0x402bdc57 in __libc_start_main () from /lib/i686/libc.so.6 > 0x40088714 54 in > ../linuxthreads/sysdeps/unix/sysv/linux/pt-sigsuspend.c > (gdb) thread 1 > [Switching to thread 1 (Thread 16384 (LWP 19446))]#0 0x4008bf16 in > nanosleep () > from /lib/i686/libpthread.so.0 > (gdb) p tv > (gdb) up > #1 0x00000001 in ?? () > (gdb) > #2 0x400850d3 in pthread_cond_timedwait_relative (cond=0x862b258, > mutex=0x862b240, abstime=0xbfffe5c8) > at restart.h:45 > in restart.h > (gdb) > #3 0x4004188b in _x_demux_control_headers_done (stream=0xbfffe3a0) at > demux.c:176 > 176 pthread_cond_timedwait (&stream->counter_changed, > &stream->counter_lock, &ts); > (gdb) p tv > $1 = {tv_sec = 1087814255, tv_usec = 849539} > (gdb) p ts > $2 = {tv_sec = 1087814256, tv_nsec = 849539000} > (gdb) p stream->counter_changed > $3 = {__c_lock = {__status = -1073745572, __spinlock = -1073745984}, > __c_waiting = 0xbfffedc8, > __padding = "\\×\004\b\030\0\0\0°ðB@\001\0\0\0àíÿ¿B6\037@\001\0\0", > __align = -4611702253345108865} > (gdb) p stream->counter_lock > $4 = {__m_reserved = 1, __m_count = 134530406, __m_owner = 0x8, __m_kind = > 7, __m_lock = { > __status = -1073745960, __spinlock = 134531007}} > (gdb) The program is running. Exit anyway? (y or n) y > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference > Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer > Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA > REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND > _______________________________________________ > xine-devel mailing list > xin...@li... > https://lists.sourceforge.net/lists/listinfo/xine-devel > > |