Il 23/10/2010 05:44, Ross Finlayson ha scritto:
OK, I have now installed a new version (2010.10.23) of the "LIVE555
Streaming Media" code that should overcome this problem.
Dear Ross,
the new version works correctly (no more ignored RTSP requests), but it
seems to introduce a new bug, this time in memory management. Glibc
seems to crash on a double free or corruption when the RTSP connection
is abruptedly closed (I could see this behaviour on VLC everytime I
closed the client clicking on the "close" button on the VLC window - I
didn't have had time to analyze the network dump yet, and I don't know
if VLC sends a TEARDOWN or closes the socket directly in that case).
Please note that this happens *not only* on HTTP-over-RTSP connection,
but on RTSP/UDP and RTSP/TCP sessions too.
Here's the backtrace:
*** glibc detected *** ./rtspServer: double free or corruption (out):
0x406e5008 ***
======= Backtrace: =========
/lib/libc.so.6[0x40231f3c]
/lib/libc.so.6(cfree+0xa0)[0x40233bd0]
./rtspServer(_ZN15OutPacketBufferD1Ev+0x18)[0x5e9e8]
./rtspServer(_ZN18MultiFramedRTPSinkD2Ev+0x28)[0x6b160]
./rtspServer(_ZN12VideoRTPSinkD2Ev+0x14)[0x6b45c]
./rtspServer(_ZN19JPEGRSTVideoRTPSinkD0Ev+0x14)[0x47518]
./rtspServer(_ZN16MediaLookupTable6removeEPKc+0x60)[0x479c4]
./rtspServer(_ZN11StreamState7reclaimEv+0x24)[0x7e654]
./rtspServer(_ZN11StreamStateD0Ev+0x14)[0x7e978]
./rtspServer(_ZN29OnDemandServerMediaSubsession12deleteStreamEjRPv+0x78)[0x7ef4c]
./rtspServer(_ZN10RTSPServer17RTSPClientSession19reclaimStreamStatesEv+0x60)[0x6e8bc]
./rtspServer(_ZN10RTSPServer17RTSPClientSessionD2Ev+0xbc)[0x7222c]
./rtspServer(_ZN15LimitRTSPServer22LimitRTSPClientSessionD0Ev+0x44)[0x46e7c]
./rtspServer(_ZN10RTSPServer17RTSPClientSession18handleRequestBytesEi+0x3a8)[0x6fae4]
./rtspServer(_ZN10RTSPServer17RTSPClientSession23incomingRequestHandler1Ev+0x48)[0x6fe28]
./rtspServer(_ZN18BasicTaskScheduler10SingleStepEj+0x1ec)[0x91904]
./rtspServer(_ZN19BasicTaskScheduler011doEventLoopEPc+0x20)[0x90c84]
./rtspServer(_Z8mainLoopP16UsageEnvironmentjjPc+0x614)[0x449e8]
./rtspServer(main+0x3c)[0x410f4]
/lib/libc.so.6(__libc_start_main+0x120)[0x401ddfd4]
======= Memory map: ========
00008000-000ba000 r-xp 00000000 fe:01 68090
/usr/local/rtspServer/rtspServer
000c2000-000c7000 rw-p 000b2000 fe:01 68090
/usr/local/rtspServer/rtspServer
000c7000-00162000 rwxp 000c7000 00:00 0 [heap]
40000000-4001d000 r-xp 00000000 fe:01 92962 /lib/ld-2.8.so
4001d000-40021000 rw-p 4001d000 00:00 0
40021000-40022000 rw-s 00000000 00:0e 11139
/dev/shm/sem.sem_empty_c1SnPP
40022000-40023000 rw-s 00000000 00:0e 11140
/dev/shm/sem.sem_fill_WIxeyt
40023000-40024000 rw-p 40023000 00:00 0
40024000-40025000 r--p 0001c000 fe:01 92962 /lib/ld-2.8.so
40025000-40026000 rw-p 0001d000 fe:01 92962 /lib/ld-2.8.so
40026000-4002c000 r-xp 00000000 fe:01 92946 /lib/librt-2.8.so
4002c000-40033000 ---p 00006000 fe:01 92946 /lib/librt-2.8.so
40033000-40034000 r--p 00005000 fe:01 92946 /lib/librt-2.8.so
40034000-40035000 rw-p 00006000 fe:01 92946 /lib/librt-2.8.so
40035000-400f6000 r-xp 00000000 fe:01 32631
/usr/lib/libstdc++.so.6.0.10
400f6000-400fd000 ---p 000c1000 fe:01 32631
/usr/lib/libstdc++.so.6.0.10
400fd000-40100000 r--p 000c0000 fe:01 32631
/usr/lib/libstdc++.so.6.0.10
40100000-40102000 rw-p 000c3000 fe:01 32631
/usr/lib/libstdc++.so.6.0.10
40102000-40107000 rw-p 40102000 00:00 0
40107000-401ac000 r-xp 00000000 fe:01 92936 /lib/libm-2.8.so
401ac000-401b3000 ---p 000a5000 fe:01 92936 /lib/libm-2.8.so
401b3000-401b4000 r--p 000a4000 fe:01 92936 /lib/libm-2.8.so
401b4000-401b5000 rw-p 000a5000 fe:01 92936 /lib/libm-2.8.so
401b5000-401c1000 r-xp 00000000 fe:01 92971 /lib/libgcc_s.so.1
401c1000-401c8000 ---p 0000c000 fe:01 92971 /lib/libgcc_s.so.1
401c8000-401c9000 rw-p 0000b000 fe:01 92971 /lib/libgcc_s.so.1
401c9000-402e6000 r-xp 00000000 fe:01 92950 /lib/libc-2.8.so
402e6000-402ed000 ---p 0011d000 fe:01 92950 /lib/libc-2.8.so
402ed000-402ef000 r--p 0011c000 fe:01 92950 /lib/libc-2.8.so
402ef000-402f0000 rw-p 0011e000 fe:01 92950 /lib/libc-2.8.so
402f0000-402f3000 rw-p 402f0000 00:00 0
402f3000-40307000 r-xp 00000000 fe:01 92964 /lib/libpthread-2.8.so
40307000-4030f000 ---p 00014000 fe:01 92964 /lib/libpthread-2.8.so
4030f000-40310000 r--p 00014000 fe:01 92964 /lib/libpthread-2.8.so
40310000-40311000 rw-p 00015000 fe:01 92964 /lib/libpthread-2.8.so
40311000-40313000 rw-p 40311000 00:00 0
40313000-404fc000 rw-s 00000000 00:07 1310727 /SYSV000005d0 (deleted)
404fc000-406e5000 rw-s 00000000 00:07 1310727 /SYSV000005d0 (deleted)
406e5000-407da000 rw-p 406e5000 00:00 0
40800000-40821000 rw-p 40800000 00:00 0
40821000-40900000 ---p 40821000 00:00 0
be9a8000-be9bd000 rwxp be9a8000 00:00 0 [stack]
If you need more info, I'm gonna collect them as soon as I can.
Best Regards,
Cristiano.
--
Belloni Cristiano
Imavis Srl.
www.imavis.com <http://www.imavis.com>
bell...@imavis.com <mailto://bell...@imavis.com>
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel