[mythtv] [mythtv-commits] Ticket #4816: SIGSEGV in SSDPCache (Autodiscovery) affecting all new installs

Anduin Withers awithers at anduin.com
Fri Mar 7 08:13:09 UTC 2008


>  I think I have this fixed. I just need to add some debugging to check my
>  hypothesis is correct which I'll do tonight unless someone else beats me
>  to it.
> 
>  I think the problem is in backendselect.cpp where there is one too many
>  RefCounted.Release() calls on the DeviceLocation objects it obtains which
>  is causing them to be deleted prematurely. SSDPCacheEntries maintains a
>  map of DeviceLocations but when they are deleted outside of
>  SSDPCacheEntries the map isn't updated so the pointers now point to the
>  deleted objects.
>  It's when it later iterates though the map in either
>  SSDPCacheEntries::Clear() or SSDPCacheEntries::RemoveStale that's when
> the
>  crash happens because it is accessing the DeviceLocations using stale
>  pointers.

Do you occasionally see a similar crash (even with your fix) on exit? If so
tracking down that is what has prevented me from checking in the removal of
that extra Release().

--
Anduin Withers 



More information about the mythtv-dev mailing list