Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 44161 invoked from network); 21 Jul 2009 17:41:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 21 Jul 2009 17:41:34 -0000 Received: (qmail 35085 invoked by uid 500); 21 Jul 2009 17:42:39 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 35021 invoked by uid 500); 21 Jul 2009 17:42:39 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 35013 invoked by uid 99); 21 Jul 2009 17:42:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Jul 2009 17:42:39 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Jul 2009 17:42:37 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id DE6A5234C051 for ; Tue, 21 Jul 2009 10:42:16 -0700 (PDT) Message-ID: <492232583.1248198136910.JavaMail.jira@brutus> Date: Tue, 21 Jul 2009 10:42:16 -0700 (PDT) From: "Rick Hillegas (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Closed: (DERBY-654) unit/T_RawStoreFactory.unit fails with an assert failure in J2ME/CDC/FP In-Reply-To: <514441437.1130426755814.JavaMail.jira@ajax.apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rick Hillegas closed DERBY-654. ------------------------------- Resolution: Won't Fix Closing this issue because the test was disabled on the offending platform and no-one has expressed any interest in this issue in 3 years. > unit/T_RawStoreFactory.unit fails with an assert failure in J2ME/CDC/FP > ----------------------------------------------------------------------- > > Key: DERBY-654 > URL: https://issues.apache.org/jira/browse/DERBY-654 > Project: Derby > Issue Type: Bug > Components: Store > Affects Versions: 10.2.1.6 > Environment: IBM WCTME5.7 j9 foundation VM > Reporter: Deepa Remesh > Priority: Minor > Attachments: derby654.diff.txt, Derby654.stat.txt > > > I am thinking this is a bug and opening a JIRA issue since I did not get any response to my question in derby-dev. One more thing I noticed is this test passes in 10.1 branch. It is failing only in trunk. > The test unit/T_RawStoreFactory.unit fails with an assert failure in CDC/FP. This failure looks like an intermittent one though it is failing all the time now. I have run this test successfully some time back. I would like to find out if this is a bug (Derby or jvm) or just an intermittent failure. I am using j9 foundation from IBM WCTME5.7. > --------------------------------------------------------------------- > diff for the test: > --------------------------------------------------------------------- > < -- Unit Test T_RawStoreFactory finished > 2 add > > There should be 0 observers, but we still have 1 observers. > > Shutting down due to unit test failure. > --------------------------------------------------------------------- > stack trace for AssertFailure in derby.log is: > --------------------------------------------------------------------- > FAIL - org.apache.derby.iapi.services.sanity.AssertFailure: ASSERT > FAILED still on observer list > org.apache.derby.impl.store.raw.data.TruncateOnCommit@f147d525 > org.apache.derby.iapi.services.sanity.AssertFailure: ASSERT FAILED > still on observer list > org.apache.derby.impl.store.raw.data.TruncateOnCommit@f147d525 > at org.apache.derby.iapi.services.sanity.SanityManager.THROWASSERT(SanityManager.java:150) > at org.apache.derby.impl.store.raw.data.TruncateOnCommit.update(TruncateOnCommit.java:69) > at java.util.Observable.notifyObservers(Observable.java:117) > at org.apache.derby.iapi.store.raw.xact.RawTransaction.notifyObservers(RawTransaction.java:313) > at org.apache.derby.impl.store.raw.xact.Xact.doComplete(Xact.java:1927) > at org.apache.derby.impl.store.raw.xact.Xact.preComplete(Xact.java:1880) > at org.apache.derby.impl.store.raw.xact.Xact.prepareCommit(Xact.java:726) > at org.apache.derby.impl.store.raw.xact.Xact.commit(Xact.java:839) > at org.apache.derby.impl.store.raw.xact.Xact.commit(Xact.java:636) > at org.apache.derbyTesting.unitTests.store.T_Util.t_commit(T_Util.java:838) > at org.apache.derbyTesting.unitTests.store.T_RawStoreFactory.TC001(T_RawStoreFactory.java:7435) > at org.apache.derbyTesting.unitTests.store.T_RawStoreFactory.runTempTests(T_RawStoreFactory.java:420) > at org.apache.derbyTesting.unitTests.store.T_RawStoreFactory.runTestSet(T_RawStoreFactory.java:247) > at org.apache.derbyTesting.unitTests.harness.T_MultiIterations.runTests(T_MultiIterations.java:94) > at org.apache.derbyTesting.unitTests.harness.T_MultiThreadedIterations.runTests(T_MultiThreadedIterations.java:91) > at org.apache.derbyTesting.unitTests.harness.T_Generic.Execute(T_Generic.java:117) > at org.apache.derbyTesting.unitTests.harness.BasicUnitTestManager.runATest(BasicUnitTestManager.java:183) > at org.apache.derbyTesting.unitTests.harness.BasicUnitTestManager.runTests(BasicUnitTestManager.java:245) > at org.apache.derbyTesting.unitTests.harness.BasicUnitTestManager.boot(BasicUnitTestManager.java:92) > at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:2008) > at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290) > at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1846) > at org.apache.derby.impl.services.monitor.BaseMonitor.startServices(BaseMonitor.java:966) > at org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(BaseMonitor.java:398) > at org.apache.derby.impl.services.monitor.FileMonitor.(FileMonitor.java:59) > at org.apache.derby.iapi.services.monitor.Monitor.startMonitor(Monitor.java:288) > at org.apache.derbyTesting.unitTests.harness.UnitTestMain.main(UnitTestMain.java:50) > --------------------------------------------------------------------- > On looking at the code, I did not understand how this assert failure can happen. The assert is thrown in following code in TruncateOnCommit: > public void update(Observable obj, Object arg) { > if (SanityManager.DEBUG) { > if (arg == null) > SanityManager.THROWASSERT("still on observer list " + this); > } > I am puzzled by how 'arg' can become null in this case. As I understand, 'update' method of each Observer gets called by the notifyObserver method in java.util.Observable class. notifyObserver passes 'arg', which describes the type of change, as the second argument to update. In this code path, 'arg' passed to notifyObserver is RawTransaction.COMMIT (which is not null). However the code has an assert to check for null value which means there is some situation where the 'arg' can become null. I have not understood what causes this situation but it is always being hit when running in this environment. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.