Yet another Hammer crash

Matthew Dillon dillon at apollo.backplane.com
Thu Jul 10 13:06:17 PDT 2008


:I'll provide a dump if needed.
:
:panic(c051dc97,c0540bb7,c050506a,c2dcd000,cb281ae0) at panic+0x9f
:hammer_cursor_removed_node(cb281ae0,c8e55eb0,3,c8e55eb0,cad9cac4) at
:hammer_cursor_removed_node+0x72 btree_remove
:...
:-- 
:Gergo Szakal MD <bastyaelvtars at gmail.com>

    Got it.  It's a bug in the cursor recovery code that I added to
    support mirror propagation.  It's basically saying: "HEY MATT! YOU
    FORGOT TO CALL hammer_cursor_deleted_element() SOMEWHERE!".

    And indeed, that is what happened.  I call it properly when an
    element is deleted from a leaf in the B-Tree, but not when a
    leaf becomes empty and is deleted from its parent internal node.
    So cursors sitting in deadlock recovery on that internal node
    were not being updated.

    I'll commit a fix today, soon as I track down the bug Michael's
    CR program revealed.

					-Matt
					Matthew Dillon 
					<dillon at backplane.com>





More information about the Bugs mailing list