|
From: | Chsherrick |
Subject: | [Ccrtp-devel] Crashing when destroying an RTP session |
Date: | Wed, 7 Apr 2004 16:34:28 EDT |
We see a bug when we destroy an RTP session. We have 3 RTP active
sessions, and delete one RTPSession. Just after (or perhaps during) the
RTPSession destructor is called, we crash with the following stack trace:
#0 0xffffe002 in ?? ()
#1 0x400ccaf3 in ost::Socket::isPending(ost::Socket::Pending, unsigned long) ( this=0xfffffffc, pending=pendingError, timeout=1102181884) at socket.cpp:634 #2 0x081e00d0 in ost::RTPBaseUDPIPv4Socket::isPendingRecv(unsigned) ( this=0x83df368, timeout=10) at channel.h:114 #3 0x081dfb5b in ost::DualRTPChannel<ost::RTPBaseUDPIPv4Socket>::isPendingRecv(unsigned) const (this=0x83db448, timeout=10) at channel.h:211 #4 0x081df722 in ost::TRTPSessionBase<ost::DualRTPChannel<ost::RTPBaseUDPIPv4Socket>, ost::DualRTPChannel<ost::RTPBaseUDPIPv4Socket>, ost::AVPQueue>::isPendingData(unsigned) (this=0x83de3ec, timeout=10) at rtp.h:177 #5 0x081df9de in ost::SingleThreadRTPSession<ost::DualRTPChannel<ost::RTPBaseUDPIPv4Socket>, ost::DualRTPChannel<ost::RTPBaseUDPIPv4Socket>, ost::AVPQueue>::run() (this=0x83de3a0) at rtp.h:474 #6 0x400c44f0 in ost::ThreadImpl::ThreadExecHandler(ost::Thread*) ( th=0x83de3a0) at thread.cpp:1013 #7 0x400c389f in ccxx_exec_handler (th=0x83de3a0) at thread.cpp:1037 #8 0x401222b6 in start_thread () from /lib/tls/libpthread.so.0 It appears that we are trying to receive socket notifications from a
deleted socket. (See the "this" pointer in frame #1).
We are using RTP version 1.1.0 with CommonC++ 1.1.2, and are using the
threaded mode, on Linux(Redhat 9.0).
Have you seen this before or have any ideas how to prevent this?
Thanks for any help you can provide.
- Chris Sherrick
|
[Prev in Thread] | Current Thread | [Next in Thread] |