[Live-devel] Segmentation fault in DelayQueue::removeEntry(DelayQueueEntry*)
Francisco Feijoo
francisco at j2kvideo.com
Fri Nov 4 07:42:56 PDT 2011
Ross, thanks for the quick answer.
We are connecting to one camera which needs a keep-alive command continuously. Apart from the doEventLoop() we call this function periodically (60s):
void RtspConnection::timeout()
{
if ( client && session && this->getParameterSupported )
{
char * psz_bye = NULL;
((RTSPClient*)client)->getMediaSessionParameter( *session, NULL, psz_bye );
}
}
getParameterSupported comes from:
char * options = ((RTSPClient*)client)->sendOptionsCmd( this->host );
if ( strstr(options, "GET_PARAMETER") != NULL )
{
this->getParameterSupported = true;
}
Is this a wrong way to maintain the connection to the camera? Could this be the cause of the crash?
Thanks in advance.
--
Francisco Feijoo
Software Engineer
J2K Video Limited
T: +44 020 8133 9388
E: francisco at j2kvideo.com
W: www.j2kvideo.com
El 04/11/2011, a las 15:10, Ross Finlayson escribió:
>> Looking at the code here http://www.live555.com/liveMedia/doxygen/html/DelayQueue_8cpp-source.html I see this:
>>
>> 00153 void DelayQueue::removeEntry(DelayQueueEntry* entry) {
>> 00154 if (entry == NULL || entry->fNext == NULL) return;
>> 00155
>> 00156 entry->fNext->fDeltaTimeRemaining += entry->fDeltaTimeRemaining;
>> 00157 entry->fPrev->fNext = entry->fNext;
>> 00158 entry->fNext->fPrev = entry->fPrev;
>> 00159 entry->fNext = entry->fPrev = NULL;
>> 00160 // in case we should try to remove it again
>> 00161 }
>>
>> I think the first if could produce a wrong memory access if entry is NULL. Is that correct?
>
> No, because the statement at line 154 quite clearly tests for "entry == NULL", and returns if it is.
>
> The "DelayQueue" code is very widely used and has been tested for a long time, so I don't understand why you would be seeing an error there. (I hope you're not doing something stupid like trying to use multiple threads?)
>
>
> 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/20111104/9933e915/attachment.html>
More information about the live-devel
mailing list