Double get for block 0? (jdbm pre-1.0 cvs)

2005-08-22
2013-06-03
  • Bryan Thompson

    Bryan Thompson - 2005-08-22

    Hello,

    I am seeing an error message thrown and I was wondering if anyone could shed some light on it.  Please note that I am using the pre-1.0 CVS code base, so it has none of the patches that have been recently introduced.  This code base compares as identical to the 1.0 CVS except for the VERSION and build.xml files.

    Thanks,

    -bryan

    java.lang.Error: double get for block 0
        at jdbm.recman.RecordFile.get(RecordFile.java:153)
        at jdbm.recman.LogicalRowIdManager.fetch(LogicalRowIdManager.java:136)
        at jdbm.recman.BaseRecordManager.fetch(BaseRecordManager.java:337)
        at jdbm.recman.CacheRecordManager.fetch(CacheRecordManager.java:304)
        at jdbm.recman.CacheRecordManager.fetch(CacheRecordManager.java:283)
        at jdbm.om.JDBMObjectManager.fetch(JDBMObjectManager.java:1040)
        at org.CognitiveWeb.generic.store.jdbm.JDBMObjectManager.fetch(JDBMObjectManager.java:292)
        at jdbm.om.JDBMObject.fetch(JDBMObject.java:451)
        at org.CognitiveWeb.generic.store.jdbm.JDBMGenericData.toString(JDBMGenericData.java:931)
        at org.CognitiveWeb.generic.store.jdbm.JDBMGeneric.toString(JDBMGeneric.java:407)
        at java.lang.String.valueOf(String.java:2506)
        at java.lang.StringBuffer.append(StringBuffer.java:433)
        at org.CognitiveWeb.generic.store.jdbm.JDBMGenericData.removePropertyChangeListener(JDBMGenericData.java:3577)
        at org.CognitiveWeb.generic.store.jdbm.JDBMGeneric.removePropertyChangeListener(JDBMGeneric.java:1684)
        at org.CognitiveWeb.generic.store.jdbm.JDBMGenericPropertyChangeListenerTestCase.test_addPropertyChangeListener_002(JDBMGenericPropertyChangeListenerTestCase.java:245)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
        at java.lang.reflect.Method.invoke(Method.java:391)
        at junit.framework.TestCase.runTest(TestCase.java:154)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:436)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:311)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

     
    • Alex Boisvert

      Alex Boisvert - 2005-08-22

      Are you trying to fetch recid 0?  If so, this is the expected behavior.

      And now that I think of it we should really change java.lang.Error to java.io IOException in that section of the code and throw an IllegalParameterException in fetch().  It would make for better error reporting.

      alex

       
      • Bryan Thompson

        Bryan Thompson - 2005-08-22

        I'll look at what happens under the debugger.  At "my" end, the call stack begins within a

        if( recid != 0 ) {

           ...fetch( recid )

        }

        test, so I think that there is something more complex going on.

        -bryan

         

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks