<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Il 23/10/2010 05:44, Ross Finlayson ha scritto:
    <blockquote cite="mid:f06240800c8e80a710dc6@%5B66.80.62.44%5D"
      type="cite">OK, I have now installed a new version (2010.10.23) of
      the "LIVE555 Streaming Media" code that should overcome this
      problem.
      <br>
    </blockquote>
    Dear Ross,<br>
    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).<br>
    Please note that this happens *not only* on HTTP-over-RTSP
    connection, but on RTSP/UDP and RTSP/TCP sessions too.<br>
    Here's the backtrace:<br>
    <br>
    *** glibc detected *** ./rtspServer: double free or corruption
    (out): 0x406e5008 ***<br>
    ======= Backtrace: =========<br>
    /lib/libc.so.6[0x40231f3c]<br>
    /lib/libc.so.6(cfree+0xa0)[0x40233bd0]<br>
    ./rtspServer(_ZN15OutPacketBufferD1Ev+0x18)[0x5e9e8]<br>
    ./rtspServer(_ZN18MultiFramedRTPSinkD2Ev+0x28)[0x6b160]<br>
    ./rtspServer(_ZN12VideoRTPSinkD2Ev+0x14)[0x6b45c]<br>
    ./rtspServer(_ZN19JPEGRSTVideoRTPSinkD0Ev+0x14)[0x47518]<br>
    ./rtspServer(_ZN16MediaLookupTable6removeEPKc+0x60)[0x479c4]<br>
    ./rtspServer(_ZN11StreamState7reclaimEv+0x24)[0x7e654]<br>
    ./rtspServer(_ZN11StreamStateD0Ev+0x14)[0x7e978]<br>
./rtspServer(_ZN29OnDemandServerMediaSubsession12deleteStreamEjRPv+0x78)[0x7ef4c]<br>
./rtspServer(_ZN10RTSPServer17RTSPClientSession19reclaimStreamStatesEv+0x60)[0x6e8bc]<br>
    ./rtspServer(_ZN10RTSPServer17RTSPClientSessionD2Ev+0xbc)[0x7222c]<br>
./rtspServer(_ZN15LimitRTSPServer22LimitRTSPClientSessionD0Ev+0x44)[0x46e7c]<br>
./rtspServer(_ZN10RTSPServer17RTSPClientSession18handleRequestBytesEi+0x3a8)[0x6fae4]<br>
./rtspServer(_ZN10RTSPServer17RTSPClientSession23incomingRequestHandler1Ev+0x48)[0x6fe28]<br>
    ./rtspServer(_ZN18BasicTaskScheduler10SingleStepEj+0x1ec)[0x91904]<br>
    ./rtspServer(_ZN19BasicTaskScheduler011doEventLoopEPc+0x20)[0x90c84]<br>
    ./rtspServer(_Z8mainLoopP16UsageEnvironmentjjPc+0x614)[0x449e8]<br>
    ./rtspServer(main+0x3c)[0x410f4]<br>
    /lib/libc.so.6(__libc_start_main+0x120)[0x401ddfd4]<br>
    ======= Memory map: ========<br>
    00008000-000ba000 r-xp 00000000 fe:01 68090&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /usr/local/rtspServer/rtspServer<br>
    000c2000-000c7000 rw-p 000b2000 fe:01 68090&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /usr/local/rtspServer/rtspServer<br>
    000c7000-00162000 rwxp 000c7000 00:00 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [heap]<br>
    40000000-4001d000 r-xp 00000000 fe:01 92962&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/ld-2.8.so<br>
    4001d000-40021000 rw-p 4001d000 00:00 0 <br>
    40021000-40022000 rw-s 00000000 00:0e 11139&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /dev/shm/sem.sem_empty_c1SnPP<br>
    40022000-40023000 rw-s 00000000 00:0e 11140&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /dev/shm/sem.sem_fill_WIxeyt<br>
    40023000-40024000 rw-p 40023000 00:00 0 <br>
    40024000-40025000 r--p 0001c000 fe:01 92962&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/ld-2.8.so<br>
    40025000-40026000 rw-p 0001d000 fe:01 92962&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/ld-2.8.so<br>
    40026000-4002c000 r-xp 00000000 fe:01 92946&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/librt-2.8.so<br>
    4002c000-40033000 ---p 00006000 fe:01 92946&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/librt-2.8.so<br>
    40033000-40034000 r--p 00005000 fe:01 92946&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/librt-2.8.so<br>
    40034000-40035000 rw-p 00006000 fe:01 92946&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/librt-2.8.so<br>
    40035000-400f6000 r-xp 00000000 fe:01 32631&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /usr/lib/libstdc++.so.6.0.10<br>
    400f6000-400fd000 ---p 000c1000 fe:01 32631&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /usr/lib/libstdc++.so.6.0.10<br>
    400fd000-40100000 r--p 000c0000 fe:01 32631&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /usr/lib/libstdc++.so.6.0.10<br>
    40100000-40102000 rw-p 000c3000 fe:01 32631&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /usr/lib/libstdc++.so.6.0.10<br>
    40102000-40107000 rw-p 40102000 00:00 0 <br>
    40107000-401ac000 r-xp 00000000 fe:01 92936&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libm-2.8.so<br>
    401ac000-401b3000 ---p 000a5000 fe:01 92936&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libm-2.8.so<br>
    401b3000-401b4000 r--p 000a4000 fe:01 92936&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libm-2.8.so<br>
    401b4000-401b5000 rw-p 000a5000 fe:01 92936&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libm-2.8.so<br>
    401b5000-401c1000 r-xp 00000000 fe:01 92971&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libgcc_s.so.1<br>
    401c1000-401c8000 ---p 0000c000 fe:01 92971&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libgcc_s.so.1<br>
    401c8000-401c9000 rw-p 0000b000 fe:01 92971&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libgcc_s.so.1<br>
    401c9000-402e6000 r-xp 00000000 fe:01 92950&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libc-2.8.so<br>
    402e6000-402ed000 ---p 0011d000 fe:01 92950&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libc-2.8.so<br>
    402ed000-402ef000 r--p 0011c000 fe:01 92950&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libc-2.8.so<br>
    402ef000-402f0000 rw-p 0011e000 fe:01 92950&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /lib/libc-2.8.so<br>
    402f0000-402f3000 rw-p 402f0000 00:00 0 <br>
    402f3000-40307000 r-xp 00000000 fe:01 92964&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /lib/libpthread-2.8.so<br>
    40307000-4030f000 ---p 00014000 fe:01 92964&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /lib/libpthread-2.8.so<br>
    4030f000-40310000 r--p 00014000 fe:01 92964&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /lib/libpthread-2.8.so<br>
    40310000-40311000 rw-p 00015000 fe:01 92964&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    /lib/libpthread-2.8.so<br>
    40311000-40313000 rw-p 40311000 00:00 0 <br>
    40313000-404fc000 rw-s 00000000 00:07 1310727&nbsp;&nbsp;&nbsp; /SYSV000005d0
    (deleted)<br>
    404fc000-406e5000 rw-s 00000000 00:07 1310727&nbsp;&nbsp;&nbsp; /SYSV000005d0
    (deleted)<br>
    406e5000-407da000 rw-p 406e5000 00:00 0 <br>
    40800000-40821000 rw-p 40800000 00:00 0 <br>
    40821000-40900000 ---p 40821000 00:00 0 <br>
    be9a8000-be9bd000 rwxp be9a8000 00:00 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [stack]<br>
    <br>
    If you need more info, I'm gonna collect them as soon as I can.<br>
    <br>
    Best Regards,<br>
    Cristiano.<br>
    <br>
    <div class="moz-signature">-- <br>
      Belloni Cristiano<br>
      Imavis Srl.<br>
      <a href="http://www.imavis.com">www.imavis.com</a><br>
      <a href="mailto://belloni@imavis.com">belloni@imavis.com</a><br>
    </div>
  </body>
</html>