[Openais] [patch whitetank/trunk] expiry_checkpoints segfault

Lars Marowsky-Bree lmb at suse.de
Fri Feb 6 07:07:21 PST 2009


On 2009-02-01T08:09:22, Steven Dake <sdake at redhat.com> wrote:

> The expiry list pointers are not list_init'ed after a synchronization of
> checkpoints.  I believe this is causing segfaults in some circumstances.
> 
> Andrew can you verify the patch fixes the problem you reported?

It turns out that it does not; is it possible that unlinking the
checkpoint (refcount hits zero) races with the expiry callbacks?

You're cc'ed on the bug, but possibly someone else already has a patch
;-)

==00:00:01:00.775 2714== Invalid read of size 4
==00:00:01:00.775 2714==    at 0x9586628: callback_expiry (ckpt.c:1509)
==00:00:01:00.775 2714==    by 0x40F175: token_callbacks_execute (totemsrp.c:3053)
==00:00:01:00.775 2714==    by 0x412436: message_handler_orf_token (totemsrp.c:3439)
==00:00:01:00.775 2714==    by 0x40A803: rrp_deliver_fn (totemrrp.c:1308)
==00:00:01:00.775 2714==    by 0x4085D5: net_deliver_fn (totemnet.c:676)
==00:00:01:00.775 2714==    by 0x406367: poll_run (aispoll.c:409)
==00:00:01:00.775 2714==    by 0x41941D: main (main.c:638)
==00:00:01:00.775 2714==  Address 0xab9f380 is 368 bytes inside a block of size 3,464 free'd
==00:00:01:00.775 2714==    at 0x4C243AF: free (vg_replace_malloc.c:323)
==00:00:01:00.775 2714==    by 0x9584A17: message_handler_req_exec_ckpt_checkpointunlink (ckpt.c:1659)
==00:00:01:00.775 2714==    by 0x4157F8: app_deliver_fn (totempg.c:439)
==00:00:01:00.775 2714==    by 0x415D3F: totempg_deliver_fn (totempg.c:583)
==00:00:01:00.775 2714==    by 0x410F08: messages_deliver_to_app (totemsrp.c:3560)
==00:00:01:00.775 2714==    by 0x4113C9: message_handler_mcast (totemsrp.c:3691)
==00:00:01:00.775 2714==    by 0x40A7CD: rrp_deliver_fn (totemrrp.c:1319)
==00:00:01:00.775 2714==    by 0x4085D5: net_deliver_fn (totemnet.c:676)
==00:00:01:00.775 2714==    by 0x406367: poll_run (aispoll.c:409)
==00:00:01:00.775 2714==    by 0x41941D: main (main.c:638)
==00:00:01:00.775 2714==


Regards,
    Lars

-- 
Teamlead Kernel, SuSE Labs, Research and Development
SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)
"Experience is the name everyone gives to their mistakes." -- Oscar Wilde



More information about the Openais mailing list