Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 75713 invoked from network); 10 Feb 2004 17:23:53 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 10 Feb 2004 17:23:53 -0000 Received: (qmail 96644 invoked by uid 500); 10 Feb 2004 17:23:36 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 96566 invoked by uid 500); 10 Feb 2004 17:23:36 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 96516 invoked from network); 10 Feb 2004 17:23:35 -0000 Received: from unknown (HELO exchange.sun.com) (192.18.33.10) by daedalus.apache.org with SMTP; 10 Feb 2004 17:23:35 -0000 Received: (qmail 19497 invoked by uid 50); 10 Feb 2004 17:23:56 -0000 Date: 10 Feb 2004 17:23:56 -0000 Message-ID: <20040210172356.19496.qmail@nagoya.betaversion.org> From: bugzilla@apache.org To: dev@cocoon.apache.org Cc: Subject: DO NOT REPLY [Bug 26753] - Persistent store or cache corruption? X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT . ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26753 Persistent store or cache corruption? m_rolappe@web.de changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Additional Comments From m_rolappe@web.de 2004-02-10 17:23 ------- the lockup is caused by a bug in the store version you used (reaquiring a non-reentrant lock). the core bug is a corrupted index caused by a jisp bug regarding b-tree page caching. this is the cause for the exceptions (garbage 'pointer') and also for the wrong content served; using a key which is no longer valid and references the original page it was saved to, you get the next object on that page not marked as deleted. the workaround is to index.emptyPageCache() before AND after modifying operations (clear/remove/store). the attached patch is against 'Avalon_Store_1_0_dev_mavenized' and implements: - AbstractJispFilesystemStore: index.emptyPageCache() around modifying operations, lockup fixed (was already in later CVS) - AbstractFilesystemStore: lockup fixed - AbstractReadWriteStore: write lock changed to read lock in get() while testing the fix I didn't encounter any of the problems described. regarding the testcase (bug #25482) method testClear(), instead of checking the index's count(), it should check the index's key enumeration for emptiness. then it should fail.