[Blink] Mac 0.20.0 2 sip account active on same server, complete crash
Adrian Georgescu
ag at ag-projects.com
Tue Sep 7 09:17:57 CEST 2010
M,
Thanks for the very valuable input!
Adrian
On Sep 6, 2010, at 11:59 PM, A.M. wrote:
>
> On Sep 6, 2010, at 11:53 AM, Adrian Georgescu wrote:
>
>> Yes, this is the same elusive and randomly appearing crash that we were not able to find yet the reason for. The problem is somewhere in PortAudio/Pjmedia thread and it occurs randomly. Maybe someone with more experience in these libraries can help find the reason for this.
>
>
> From looking at the backtrace and pjproject-1.7/pjmedia/src/pjmedia/stream.c, it looks like pj_mutex_unlock is complaining that it is about to unlock a mutex which it did not lock. The relevant code path seems to be in pjmedia_stream_destroy. The jitter buffer is locked, then deallocated, and then the jitter buffer mutex is destroyed. It looks like there is potential for a race condition. The order should be:
>
> 1. lock mutex if available
> 2. deallocate jitter buffer
> 3. store pointer to mutex in temporary space
> 4. set jb_mutex to NULL
> 5. unlock mutex if necessary
> 6. deallocate mutex if necessary
>
> It would be a lot cleaner if the destroy method would not be called from the initialization method...
>
> P.S. It would be nice if symbols would be enabled even for the release versions.
>
> Cheers,
> M
>
> _______________________________________________
> Blink mailing list
> Blink at lists.ag-projects.com
> http://lists.ag-projects.com/mailman/listinfo/blink
>
More information about the Blink
mailing list