[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