[Live-devel] live555proxy as dll library. System.AccessViolationException when server closing

Сергей Бастраков shaman.lab.x11 at gmail.com
Thu Nov 29 23:33:42 PST 2012


Great, It works :)
There is still one error when we have a connected clients and we do
Media::close(...) for server.

 "live555proxyDLLNative.dll!RTSPClient::handleAlternativeRequestByte1(unsigned
char requestByte)  Line 1205 + 0x27 bytes C++
  live555proxyDLLNative.dll!RTSPClient::handleAlternativeRequestByte(void *
rtspClient, unsigned char requestByte)  Line 1196 C++
  live555proxyDLLNative.dll!SocketDescriptor::~SocketDescriptor()  Line 348
+ 0x14 bytes C++
  live555proxyDLLNative.dll!SocketDescriptor::`scalar deleting
destructor'()  + 0xf bytes C++
  live555proxyDLLNative.dll!SocketDescriptor::deregisterRTPInterface(unsigned
char streamChannelId)  Line 391 + 0x20 bytes C++
  live555proxyDLLNative.dll!deregisterSocket(UsageEnvironment & env, int
sockNum, unsigned char streamChannelId)  Line 159 C++
  live555proxyDLLNative.dll!RTPInterface::stopNetworkReading()  Line 274 +
0x1d bytes C++
  live555proxyDLLNative.dll!RTCPInstance::~RTCPInstance()  Line 185 C++
  live555proxyDLLNative.dll!RTCPInstance::`scalar deleting destructor'()  +
0xf bytes C++
  live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)
 Line 151 + 0x21 bytes C++
  live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const
char * name)  Line 54 C++
  live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17
bytes C++
  live555proxyDLLNative.dll!MediaSubsession::deInitiate()  Line 807 + 0xf
bytes C++
  live555proxyDLLNative.dll!MediaSubsession::~MediaSubsession()  Line 602
C++
  live555proxyDLLNative.dll!MediaSubsession::`scalar deleting destructor'()
 + 0xf bytes C++
  live555proxyDLLNative.dll!MediaSession::~MediaSession()  Line 82 + 0x23
bytes C++
  live555proxyDLLNative.dll!MediaSession::`scalar deleting destructor'()  +
0xf bytes C++
  live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)
 Line 151 + 0x21 bytes C++
  live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const
char * name)  Line 54 C++
  live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17
bytes C++
  live555proxyDLLNative.dll!ProxyServerMediaSession::~ProxyServerMediaSession()
 Line 91 + 0xc bytes C++
  live555proxyDLLNative.dll!ProxyServerMediaSession::`scalar deleting
destructor'()  + 0xf bytes C++
  live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)
 Line 151 + 0x21 bytes C++
  live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const
char * name)  Line 54 C++
  live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17
bytes C++
  live555proxyDLLNative.dll!RTSPServer::removeServerMediaSession(ServerMediaSession
* serverMediaSession)  Line 74 + 0x9 bytes C++
  live555proxyDLLNative.dll!RTSPServer::~RTSPServer()  Line 260 C++
  live555proxyDLLNative.dll!RTSPServer::`scalar deleting destructor'()  +
0xf bytes C++
  live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)
 Line 151 + 0x21 bytes C++
  live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const
char * name)  Line 54 C++
  live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17
bytes C++
  live555proxyDLLNative.dll!DoLoop()  Line 50 + 0xc bytes C++"
There is call RTSPClient::handleAlternativeRequestByte1(...) for a
destroyed RTSPClient object.
Destructor call stack for this object:
       "live555proxyDLLNative.dll!RTSPClient::~RTSPClient()  Line 328 C++
  live555proxyDLLNative.dll!ProxyRTSPClient::~ProxyRTSPClient()  Line 206 +
0xf bytes C++
  live555proxyDLLNative.dll!ProxyRTSPClient::`scalar deleting destructor'()
 + 0xf bytes C++
  live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)
 Line 151 + 0x21 bytes C++
  live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const
char * name)  Line 54 C++
  live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17
bytes C++
  live555proxyDLLNative.dll!ProxyServerMediaSession::~ProxyServerMediaSession()
 Line 90 + 0xc bytes C++
  live555proxyDLLNative.dll!ProxyServerMediaSession::`scalar deleting
destructor'()  + 0xf bytes C++
  live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)
 Line 151 + 0x21 bytes C++
  live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const
char * name)  Line 54 C++
  live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17
bytes C++
  live555proxyDLLNative.dll!RTSPServer::removeServerMediaSession(ServerMediaSession
* serverMediaSession)  Line 74 + 0x9 bytes C++
  live555proxyDLLNative.dll!RTSPServer::~RTSPServer()  Line 260 C++
  live555proxyDLLNative.dll!RTSPServer::`scalar deleting destructor'()  +
0xf bytes C++
  live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)
 Line 151 + 0x21 bytes C++
  live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const
char * name)  Line 54 C++
  live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17
bytes C++
  live555proxyDLLNative.dll!DoLoop()  Line 50 + 0xc bytes C++"


2012/11/29 Ross Finlayson <finlayson at live555.com>

> I found that in ProxyServerMediaSubSession.cpp:339 for
> fClientMediaSubsession destructor has already been called, although further
> we call fClientMediaSubsession.rtcpInstance(), which return 0x00000000.
>
>
> Sergei,
>
> Thanks again.  I have installed another new version (2012.11.29) of the
> code that should fix this bug.
>
>
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
>
>
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20121130/38c38390/attachment.html>


More information about the live-devel mailing list