[Live-devel] RTSP proxy server crash on delete with -V option

Андрій Олексійович Радченко aoradchenko.fshn22 at kubg.edu.ua
Fri Sep 27 10:46:48 PDT 2024


Yes.
Something like this:

1) ~ProxyServerMediaSession
2) ~ServerMediaSession //(at this point fProxyRTSPClient is already deleted)
3) deleteAllSubsessions()
4) Medium::close(fSubsessionsHead)
...
5) delete medium
6) ~ProxyServerMediaSubsession
7) envir() << *this << "::~ProxyServerMediaSubsession()\n"
8) psmss.url() //(psmss is ProxyServerMediaSubsession)
9) char const* url() const { return
((ProxyServerMediaSession*)fParentSession)->url(); } //here is access that
must not happened
10) return fProxyRTSPClient == NULL ? NULL : fProxyRTSPClient->url();
//fProxyRTSPClient is not null but deleted

I agree that my solution is not very good, but at the moment I don't know
how to fix it in some other way

пт, 27 вер. 2024 р. о 18:33 Ross Finlayson <finlayson at live555.com> пише:

> Andrey,
>
> Thank you for the bug report.
>
> I agree that there is probably a bug here, but I don’t like your proposed
> solution.
>
> If a “ProxyServerMediaSession” has been deleted, then nobody should be
> calling “url()” on it.
>
> I.e., the problem is not that code is trying to access an already-deleted
> “ProxyRTSPClient”, but that it is trying to access an already-deleted
> “ProxyServerMediaSession”.
>
> Can you identify where, in the code, someone is trying to call “url()”
> (probably by calling “operator<<()”) on a “ProxyServerMediaSession” after
> it has already been deleted?
>
>
> 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/20240927/2be7e4ad/attachment.htm>


More information about the live-devel mailing list