On 7 Apr 2010 19:57:06 +0100, Chris Young wrote:

> Quite often llcache_object_notify_users will crash when loading pages,

I have managed to find a reproduceable non-interactive test case for
this: browsing to http://www.eurogamer.net causes this error every
time.

I've enabled LLCACHE_TRACE and attached the log.

I notice that user 0x5654acc8 is destroyed at one point, but then
appears immediately before the crash.  Probably it's not getting
unlinked properly?

llcache_object_remove_user looks wrong:

if (user == object->users)
 object->users = user->next;
else
 user->prev->next = user->next;

if (user->next != NULL)
 user->next->prev = user->prev;

Should probably be:
if (user == object->users)
 object->users = user->next;

if (user->prev != NULL)
 user->prev->next = user->next;

if (user->next != NULL)
 user->next->prev = user->prev;

But I don't know if if(users == object->users) is supposed to be doing
something on an else - and regardless, it doesn't fix the problem.

Any ideas?

Regards
Chris

Attachment: ns.log.gz
Description: Binary data

Reply via email to