com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN

JIRA | Noah Levitt | 7 years ago
  1. 0

    An archive-it user started a crawl, and a minute later terminated it. Heritrix was in the middle of loading the persist log over http, and it never closed the connection to the http server. A few minutes later the user started another crawl. The second heritrix attempted to load the same persist log over http, but the persist log service still thought it was serving it to the first instance of heritrix. So... heritrix should make sure to close the persist log reader if the job is terminated while it's still trying to load it. heritrix_out for the 1st instance: 2009-11-17 08:38:17.106 INFO thread-12 org.archive.crawler.admin.CrawlJob.postRegister() org.archive.crawler:host=crawling105.us.archive.org,jmxport=9098,mother=Heritrix,name=1443-20091117083809030,type=CrawlService.Job registered to MBeanServerId=crawling105.us.archive.org_1258266649445, SpecificationVersion=1.4, ImplementationVersion=1.6.0_16-b01, SpecificationVendor=Sun Microsystems 2009-11-17 08:40:58.821 INFO thread-13 org.archive.crawler.Heritrix.invoke() JMX invoke: terminateCurrentJob [] Exception in thread "StartNextJob" com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.collections.StoredContainer.convertException(StoredContainer.java:466) at com.sleepycat.collections.StoredContainer.handleException(StoredContainer.java:458) at com.sleepycat.collections.StoredContainer.putKeyValue(StoredContainer.java:325) at com.sleepycat.collections.StoredMap.put(StoredMap.java:257) at org.archive.crawler.processor.recrawl.PersistProcessor.populatePersistEnvFromLog(PersistProcessor.java:215) at org.archive.crawler.processor.recrawl.PersistProcessor.copyPersistSourceToHistoryMap(PersistProcessor.java:310) at org.archive.crawler.processor.recrawl.PersistLoadProcessor.initStore(PersistLoadProcessor.java:81) at org.archive.crawler.processor.recrawl.PersistOnlineProcessor.initialTasks(PersistOnlineProcessor.java:62) at org.archive.crawler.framework.CrawlController.runProcessorInitialTasks(CrawlController.java:1663) at org.archive.crawler.framework.CrawlController.requestCrawlStart(CrawlController.java:1008) at org.archive.crawler.admin.CrawlJobHandler.startNextJobInternal(CrawlJobHandler.java:1148) at org.archive.crawler.admin.CrawlJobHandler$3.run(CrawlJobHandler.java:1125) at java.lang.Thread.run(Thread.java:619) Caused by: com.sleepycat.je.DatabaseException: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.je.Database.checkRequiredDbState(Database.java:1458) at com.sleepycat.je.Database.openCursor(Database.java:516) at com.sleepycat.collections.CurrentTransaction.openCursor(CurrentTransaction.java:369) at com.sleepycat.collections.MyRangeCursor.openCursor(MyRangeCursor.java:54) at com.sleepycat.collections.MyRangeCursor.<init>(MyRangeCursor.java:30) at com.sleepycat.collections.DataCursor.init(DataCursor.java:171) at com.sleepycat.collections.DataCursor.<init>(DataCursor.java:59) at com.sleepycat.collections.StoredContainer.putKeyValue(StoredContainer.java:317) ... 10 more 2009-11-17 08:41:03.762 INFO thread-14 org.archive.crawler.admin.CrawlJob.postDeregister() org.archive.crawler:host=crawling105.us.archive.org,jmxport=9098,mother=Heritrix,name=1443-20091117083809030,type=CrawlService.Job unregistered from MBeanServerId=crawling105.us.archive.org_1258266649445, SpecificationVersion=1.4, ImplementationVersion=1.6.0_16-b01, SpecificationVendor=Sun Microsystems heritrix_out for the 2nd instance - it finally got the persist log once I killed the first instance: 2009-11-17 08:42:36.701 INFO thread-12 org.archive.crawler.admin.CrawlJob.postRegister() ..... 2009-11-18 01:44:09.718 INFO thread-12 org.archive.crawler.processor.recrawl.PersistLoadProcessor.initStore() Loaded deduplication information for 1082402 previously fetched urls from http://aiapp201:7080/persist-manager/persist/1443 (The two ait crawls were 1443-20091117083809030 and 1443-20091117084231965.)

    JIRA | 7 years ago | Noah Levitt
    com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN
  2. 0

    An archive-it user started a crawl, and a minute later terminated it. Heritrix was in the middle of loading the persist log over http, and it never closed the connection to the http server. A few minutes later the user started another crawl. The second heritrix attempted to load the same persist log over http, but the persist log service still thought it was serving it to the first instance of heritrix. So... heritrix should make sure to close the persist log reader if the job is terminated while it's still trying to load it. heritrix_out for the 1st instance: 2009-11-17 08:38:17.106 INFO thread-12 org.archive.crawler.admin.CrawlJob.postRegister() org.archive.crawler:host=crawling105.us.archive.org,jmxport=9098,mother=Heritrix,name=1443-20091117083809030,type=CrawlService.Job registered to MBeanServerId=crawling105.us.archive.org_1258266649445, SpecificationVersion=1.4, ImplementationVersion=1.6.0_16-b01, SpecificationVendor=Sun Microsystems 2009-11-17 08:40:58.821 INFO thread-13 org.archive.crawler.Heritrix.invoke() JMX invoke: terminateCurrentJob [] Exception in thread "StartNextJob" com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.collections.StoredContainer.convertException(StoredContainer.java:466) at com.sleepycat.collections.StoredContainer.handleException(StoredContainer.java:458) at com.sleepycat.collections.StoredContainer.putKeyValue(StoredContainer.java:325) at com.sleepycat.collections.StoredMap.put(StoredMap.java:257) at org.archive.crawler.processor.recrawl.PersistProcessor.populatePersistEnvFromLog(PersistProcessor.java:215) at org.archive.crawler.processor.recrawl.PersistProcessor.copyPersistSourceToHistoryMap(PersistProcessor.java:310) at org.archive.crawler.processor.recrawl.PersistLoadProcessor.initStore(PersistLoadProcessor.java:81) at org.archive.crawler.processor.recrawl.PersistOnlineProcessor.initialTasks(PersistOnlineProcessor.java:62) at org.archive.crawler.framework.CrawlController.runProcessorInitialTasks(CrawlController.java:1663) at org.archive.crawler.framework.CrawlController.requestCrawlStart(CrawlController.java:1008) at org.archive.crawler.admin.CrawlJobHandler.startNextJobInternal(CrawlJobHandler.java:1148) at org.archive.crawler.admin.CrawlJobHandler$3.run(CrawlJobHandler.java:1125) at java.lang.Thread.run(Thread.java:619) Caused by: com.sleepycat.je.DatabaseException: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.je.Database.checkRequiredDbState(Database.java:1458) at com.sleepycat.je.Database.openCursor(Database.java:516) at com.sleepycat.collections.CurrentTransaction.openCursor(CurrentTransaction.java:369) at com.sleepycat.collections.MyRangeCursor.openCursor(MyRangeCursor.java:54) at com.sleepycat.collections.MyRangeCursor.<init>(MyRangeCursor.java:30) at com.sleepycat.collections.DataCursor.init(DataCursor.java:171) at com.sleepycat.collections.DataCursor.<init>(DataCursor.java:59) at com.sleepycat.collections.StoredContainer.putKeyValue(StoredContainer.java:317) ... 10 more 2009-11-17 08:41:03.762 INFO thread-14 org.archive.crawler.admin.CrawlJob.postDeregister() org.archive.crawler:host=crawling105.us.archive.org,jmxport=9098,mother=Heritrix,name=1443-20091117083809030,type=CrawlService.Job unregistered from MBeanServerId=crawling105.us.archive.org_1258266649445, SpecificationVersion=1.4, ImplementationVersion=1.6.0_16-b01, SpecificationVendor=Sun Microsystems heritrix_out for the 2nd instance - it finally got the persist log once I killed the first instance: 2009-11-17 08:42:36.701 INFO thread-12 org.archive.crawler.admin.CrawlJob.postRegister() ..... 2009-11-18 01:44:09.718 INFO thread-12 org.archive.crawler.processor.recrawl.PersistLoadProcessor.initStore() Loaded deduplication information for 1082402 previously fetched urls from http://aiapp201:7080/persist-manager/persist/1443 (The two ait crawls were 1443-20091117083809030 and 1443-20091117084231965.)

    JIRA | 7 years ago | Noah Levitt
    com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN
  3. 0

    Exception in thread "StatLogger" java.lang.NullPointerException Happened in a start-then-immediate-stop crawl. The first stack trace ("Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN") is normal for this case, the others aren't. heritrix-1.15.4 from svn 2010-01-22 2010-02-20 20:39:54.911 INFO thread-11 org.archive.crawler.Heritrix.invoke() JMX invoke: addJob("http://aiapp201:6080/seam/resource/crawlRequestOrder.jar?crawlRequestId=16803", "1786", "manually crawl using 3 seeds from Tennessee Electronic Newspapers", "", ) 2010-02-20 20:39:57.230 INFO thread-11 org.archive.crawler.Heritrix.invoke() JMX invoke: startCrawling() 2010-02-20 20:39:58.348 INFO thread-12 org.archive.crawler.admin.CrawlJob.postRegister() org.archive.crawler:host=crawling105.us.archive.org,jmxport=9093,mother=Heritrix,name=1786-20100220203955121,type=CrawlService.Job registered to MBeanServerId=crawling105.us.archive.org_1266647414512, SpecificationVersion=1.4, ImplementationVersion=1.6.0_16-b01, SpecificationVendor=Sun Microsystems 2010-02-20 20:40:25.755 INFO thread-11 org.archive.crawler.Heritrix.invoke() JMX invoke: terminateCurrentJob() 2010-02-20 20:40:28.525 SEVERE thread-12 org.archive.crawler.processor.recrawl.PersistProcessor.populatePersistEnvFromLog() caught exception after loading 77028 urls from the persist log (perhaps crawl was stopped by user?) com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.collections.StoredContainer.convertException(StoredContainer.java:466) at com.sleepycat.collections.StoredContainer.handleException(StoredContainer.java:458) at com.sleepycat.collections.StoredContainer.putKeyValue(StoredContainer.java:325) at com.sleepycat.collections.StoredMap.put(StoredMap.java:257) at org.archive.crawler.processor.recrawl.PersistProcessor.populatePersistEnvFromLog(PersistProcessor.java:212) at org.archive.crawler.processor.recrawl.PersistProcessor.copyPersistSourceToHistoryMap(PersistProcessor.java:316) at org.archive.crawler.processor.recrawl.PersistLoadProcessor.initStore(PersistLoadProcessor.java:81) at org.archive.crawler.processor.recrawl.PersistOnlineProcessor.initialTasks(PersistOnlineProcessor.java:62) at org.archive.crawler.framework.CrawlController.runProcessorInitialTasks(CrawlController.java:1666) at org.archive.crawler.framework.CrawlController.requestCrawlStart(CrawlController.java:1011) at org.archive.crawler.admin.CrawlJobHandler.startNextJobInternal(CrawlJobHandler.java:1150) at org.archive.crawler.admin.CrawlJobHandler$3.run(CrawlJobHandler.java:1127) at java.lang.Thread.run(Thread.java:619) Caused by: com.sleepycat.je.DatabaseException: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.je.Database.checkRequiredDbState(Database.java:1458) at com.sleepycat.je.Database.openCursor(Database.java:516) at com.sleepycat.collections.CurrentTransaction.openCursor(CurrentTransaction.java:369) at com.sleepycat.collections.MyRangeCursor.openCursor(MyRangeCursor.java:54) at com.sleepycat.collections.MyRangeCursor.<init>(MyRangeCursor.java:30) at com.sleepycat.collections.DataCursor.init(DataCursor.java:171) at com.sleepycat.collections.DataCursor.<init>(DataCursor.java:59) at com.sleepycat.collections.StoredContainer.putKeyValue(StoredContainer.java:317) ... 10 more 2010-02-20 20:40:28.530 INFO thread-12 org.archive.crawler.processor.recrawl.PersistLoadProcessor.initStore() Loaded deduplication information for 77028 previously fetched urls from http://aiapp201:6080/persist-manager/persist/1786 2010-02-20 20:40:28.649 INFO thread-14 org.archive.crawler.admin.CrawlJob.postDeregister() org.archive.crawler:host=crawling105.us.archive.org,jmxport=9093,mother=Heritrix,name=1786-20100220203955121,type=CrawlService.Job unregistered from MBeanServerId=crawling105.us.archive.org_1266647414512, SpecificationVersion=1.4, ImplementationVersion=1.6.0_16-b01, SpecificationVendor=Sun Microsystems Exception in thread "ToeThread #1: " java.lang.RuntimeException: com.sleepycat.je.DatabaseException: (JE 3.3.82) There are open cursors against the database. They will be closed. Exception while closing cursors: com.sleepycat.je.DatabaseException: (JE 3.3.82) Cursor has been closed. at org.archive.crawler.processor.recrawl.PersistOnlineProcessor.finalTasks(PersistOnlineProcessor.java:89) at org.archive.crawler.framework.CrawlController.runProcessorFinalTasks(CrawlController.java:1680) at org.archive.crawler.framework.CrawlController.completeStop(CrawlController.java:1035) at org.archive.crawler.admin.CrawlJob$MBeanCrawlController.completeStop(CrawlJob.java:806) at org.archive.crawler.framework.CrawlController.toeEnded(CrawlController.java:1821) at org.archive.crawler.framework.ToeThread.run(ToeThread.java:190) Caused by: com.sleepycat.je.DatabaseException: (JE 3.3.82) There are open cursors against the database. They will be closed. Exception while closing cursors: com.sleepycat.je.DatabaseException: (JE 3.3.82) Cursor has been closed. at com.sleepycat.je.Database.closeInternal(Database.java:406) at com.sleepycat.je.Database.close(Database.java:315) at org.archive.crawler.processor.recrawl.PersistOnlineProcessor.finalTasks(PersistOnlineProcessor.java:87) ... 5 more 2010-02-20 20:40:28.688 INFO thread-15 org.archive.crawler.Heritrix.invoke() JMX invoke: completedJobs() 2010-02-20 20:40:28.761 INFO thread-15 org.archive.crawler.Heritrix.invoke() JMX invoke: crawlendReport("20100220203955121", "crawl-report", ) Exception in thread "StatLogger" java.lang.NullPointerException at org.archive.crawler.admin.CrawlJob$MBeanCrawlController.progressStatisticsEvent(CrawlJob.java:776) at org.archive.crawler.framework.AbstractTracker.progressStatisticsEvent(AbstractTracker.java:187) at org.archive.crawler.admin.StatisticsTracker.progressStatisticsEvent(StatisticsTracker.java:323) at org.archive.crawler.framework.AbstractTracker.run(AbstractTracker.java:144) at java.lang.Thread.run(Thread.java:619)

    JIRA | 7 years ago | Noah Levitt
    com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Exception in thread "StatLogger" java.lang.NullPointerException Happened in a start-then-immediate-stop crawl. The first stack trace ("Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN") is normal for this case, the others aren't. heritrix-1.15.4 from svn 2010-01-22 2010-02-20 20:39:54.911 INFO thread-11 org.archive.crawler.Heritrix.invoke() JMX invoke: addJob("http://aiapp201:6080/seam/resource/crawlRequestOrder.jar?crawlRequestId=16803", "1786", "manually crawl using 3 seeds from Tennessee Electronic Newspapers", "", ) 2010-02-20 20:39:57.230 INFO thread-11 org.archive.crawler.Heritrix.invoke() JMX invoke: startCrawling() 2010-02-20 20:39:58.348 INFO thread-12 org.archive.crawler.admin.CrawlJob.postRegister() org.archive.crawler:host=crawling105.us.archive.org,jmxport=9093,mother=Heritrix,name=1786-20100220203955121,type=CrawlService.Job registered to MBeanServerId=crawling105.us.archive.org_1266647414512, SpecificationVersion=1.4, ImplementationVersion=1.6.0_16-b01, SpecificationVendor=Sun Microsystems 2010-02-20 20:40:25.755 INFO thread-11 org.archive.crawler.Heritrix.invoke() JMX invoke: terminateCurrentJob() 2010-02-20 20:40:28.525 SEVERE thread-12 org.archive.crawler.processor.recrawl.PersistProcessor.populatePersistEnvFromLog() caught exception after loading 77028 urls from the persist log (perhaps crawl was stopped by user?) com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.collections.StoredContainer.convertException(StoredContainer.java:466) at com.sleepycat.collections.StoredContainer.handleException(StoredContainer.java:458) at com.sleepycat.collections.StoredContainer.putKeyValue(StoredContainer.java:325) at com.sleepycat.collections.StoredMap.put(StoredMap.java:257) at org.archive.crawler.processor.recrawl.PersistProcessor.populatePersistEnvFromLog(PersistProcessor.java:212) at org.archive.crawler.processor.recrawl.PersistProcessor.copyPersistSourceToHistoryMap(PersistProcessor.java:316) at org.archive.crawler.processor.recrawl.PersistLoadProcessor.initStore(PersistLoadProcessor.java:81) at org.archive.crawler.processor.recrawl.PersistOnlineProcessor.initialTasks(PersistOnlineProcessor.java:62) at org.archive.crawler.framework.CrawlController.runProcessorInitialTasks(CrawlController.java:1666) at org.archive.crawler.framework.CrawlController.requestCrawlStart(CrawlController.java:1011) at org.archive.crawler.admin.CrawlJobHandler.startNextJobInternal(CrawlJobHandler.java:1150) at org.archive.crawler.admin.CrawlJobHandler$3.run(CrawlJobHandler.java:1127) at java.lang.Thread.run(Thread.java:619) Caused by: com.sleepycat.je.DatabaseException: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.je.Database.checkRequiredDbState(Database.java:1458) at com.sleepycat.je.Database.openCursor(Database.java:516) at com.sleepycat.collections.CurrentTransaction.openCursor(CurrentTransaction.java:369) at com.sleepycat.collections.MyRangeCursor.openCursor(MyRangeCursor.java:54) at com.sleepycat.collections.MyRangeCursor.<init>(MyRangeCursor.java:30) at com.sleepycat.collections.DataCursor.init(DataCursor.java:171) at com.sleepycat.collections.DataCursor.<init>(DataCursor.java:59) at com.sleepycat.collections.StoredContainer.putKeyValue(StoredContainer.java:317) ... 10 more 2010-02-20 20:40:28.530 INFO thread-12 org.archive.crawler.processor.recrawl.PersistLoadProcessor.initStore() Loaded deduplication information for 77028 previously fetched urls from http://aiapp201:6080/persist-manager/persist/1786 2010-02-20 20:40:28.649 INFO thread-14 org.archive.crawler.admin.CrawlJob.postDeregister() org.archive.crawler:host=crawling105.us.archive.org,jmxport=9093,mother=Heritrix,name=1786-20100220203955121,type=CrawlService.Job unregistered from MBeanServerId=crawling105.us.archive.org_1266647414512, SpecificationVersion=1.4, ImplementationVersion=1.6.0_16-b01, SpecificationVendor=Sun Microsystems Exception in thread "ToeThread #1: " java.lang.RuntimeException: com.sleepycat.je.DatabaseException: (JE 3.3.82) There are open cursors against the database. They will be closed. Exception while closing cursors: com.sleepycat.je.DatabaseException: (JE 3.3.82) Cursor has been closed. at org.archive.crawler.processor.recrawl.PersistOnlineProcessor.finalTasks(PersistOnlineProcessor.java:89) at org.archive.crawler.framework.CrawlController.runProcessorFinalTasks(CrawlController.java:1680) at org.archive.crawler.framework.CrawlController.completeStop(CrawlController.java:1035) at org.archive.crawler.admin.CrawlJob$MBeanCrawlController.completeStop(CrawlJob.java:806) at org.archive.crawler.framework.CrawlController.toeEnded(CrawlController.java:1821) at org.archive.crawler.framework.ToeThread.run(ToeThread.java:190) Caused by: com.sleepycat.je.DatabaseException: (JE 3.3.82) There are open cursors against the database. They will be closed. Exception while closing cursors: com.sleepycat.je.DatabaseException: (JE 3.3.82) Cursor has been closed. at com.sleepycat.je.Database.closeInternal(Database.java:406) at com.sleepycat.je.Database.close(Database.java:315) at org.archive.crawler.processor.recrawl.PersistOnlineProcessor.finalTasks(PersistOnlineProcessor.java:87) ... 5 more 2010-02-20 20:40:28.688 INFO thread-15 org.archive.crawler.Heritrix.invoke() JMX invoke: completedJobs() 2010-02-20 20:40:28.761 INFO thread-15 org.archive.crawler.Heritrix.invoke() JMX invoke: crawlendReport("20100220203955121", "crawl-report", ) Exception in thread "StatLogger" java.lang.NullPointerException at org.archive.crawler.admin.CrawlJob$MBeanCrawlController.progressStatisticsEvent(CrawlJob.java:776) at org.archive.crawler.framework.AbstractTracker.progressStatisticsEvent(AbstractTracker.java:187) at org.archive.crawler.admin.StatisticsTracker.progressStatisticsEvent(StatisticsTracker.java:323) at org.archive.crawler.framework.AbstractTracker.run(AbstractTracker.java:144) at java.lang.Thread.run(Thread.java:619)

    JIRA | 7 years ago | Noah Levitt
    com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN
  6. 0

    It's not the first time I see those, just never really cared about reporting. 07/28/2008 05:25:03 +0000 INFO org.archive.crawler.Heritrix invoke JMX invoke: shutdown [] com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.62) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.collections.StoredContainer.convertException(StoredContainer.java:466) at com.sleepycat.collections.BlockIterator.hasNext(BlockIterator.java:390) at org.apache.commons.httpclient.cookie.CookieSpecBase.match(CookieSpecBase.java:607) at org.apache.commons.httpclient.HttpMethodBase.addCookieRequestHeader(HttpMethodBase.java:1187) at org.apache.commons.httpclient.HttpMethodBase.addRequestHeaders(HttpMethodBase.java:1314) at org.apache.commons.httpclient.HttpMethodBase.writeRequestHeaders(HttpMethodBase.java:2045) at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1928) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1000) at org.archive.httpclient.HttpRecorderGetMethod.execute(HttpRecorderGetMethod.java:116) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346) at org.archive.crawler.fetcher.FetchHTTP.innerProcess(FetchHTTP.java:521) at org.archive.crawler.framework.Processor.process(Processor.java:112) at org.archive.crawler.framework.ToeThread.processCrawlUri(ToeThread.java:302) at org.archive.crawler.framework.ToeThread.run(ToeThread.java:151) Caused by: com.sleepycat.je.DatabaseException: (JE 3.3.62) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.je.Database.checkRequiredDbState(Database.java:1456) at com.sleepycat.je.Database.openCursor(Database.java:515) at com.sleepycat.collections.CurrentTransaction.openCursor(CurrentTransaction.java:369) at com.sleepycat.collections.MyRangeCursor.openCursor(MyRangeCursor.java:54) at com.sleepycat.collections.MyRangeCursor.<init>(MyRangeCursor.java:30) at com.sleepycat.collections.DataCursor.init(DataCursor.java:171) at com.sleepycat.collections.DataCursor.<init>(DataCursor.java:59) at com.sleepycat.collections.BlockIterator.hasNext(BlockIterator.java:309) 07/28/2008 05:25:04 +0000 SCHWERWIEGEND org.archive.crawler.framework.ToeThread recoverableProblem Problem com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.62) Can't open a cu rsor Database state can't be DbState.CLOSED must be DbState.OPEN occured when trying to process 'http://someurlhere.com' at step ABOUT_TO_BEGIN_PROCESSOR in HTTP com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.62) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.collections.StoredContainer.convertException(StoredContainer.java:466) at com.sleepycat.collections.BlockIterator.hasNext(BlockIterator.java:390) at org.apache.commons.httpclient.cookie.CookieSpecBase.match(CookieSpecBase.java:607) at org.apache.commons.httpclient.HttpMethodBase.addCookieRequestHeader(HttpMethodBase.java:1187) at org.apache.commons.httpclient.HttpMethodBase.addRequestHeaders(HttpMethodBase.java:1314) at org.apache.commons.httpclient.HttpMethodBase.writeRequestHeaders(HttpMethodBase.java:2045) at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1928) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1000) at org.archive.httpclient.HttpRecorderGetMethod.execute(HttpRecorderGetMethod.java:116) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346) at org.archive.crawler.fetcher.FetchHTTP.innerProcess(FetchHTTP.java:521) at org.archive.crawler.framework.Processor.process(Processor.java:112) at org.archive.crawler.framework.ToeThread.processCrawlUri(ToeThread.java:302) at org.archive.crawler.framework.ToeThread.run(ToeThread.java:151) Caused by: com.sleepycat.je.DatabaseException: (JE 3.3.62) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN at com.sleepycat.je.Database.checkRequiredDbState(Database.java:1456) at com.sleepycat.je.Database.openCursor(Database.java:515) at com.sleepycat.collections.CurrentTransaction.openCursor(CurrentTransaction.java:369) at com.sleepycat.collections.MyRangeCursor.openCursor(MyRangeCursor.java:54) at com.sleepycat.collections.MyRangeCursor.<init>(MyRangeCursor.java:30) at com.sleepycat.collections.DataCursor.init(DataCursor.java:171) at com.sleepycat.collections.DataCursor.<init>(DataCursor.java:59) at com.sleepycat.collections.BlockIterator.hasNext(BlockIterator.java:309) ... 15 more I've seen this happening with older 1.1x heritrix releases, too - just wanted to report it for the sake of completeness.

    JIRA | 8 years ago | Olaf Freyer
    com.sleepycat.util.RuntimeExceptionWrapper: (JE 3.3.62) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. com.sleepycat.je.DatabaseException

      (JE 3.3.82) Can't open a cursor Database state can't be DbState.CLOSED must be DbState.OPEN

      at com.sleepycat.je.Database.checkRequiredDbState()
    2. Berkeley DB Java Edition
      StoredMap.put
      1. com.sleepycat.je.Database.checkRequiredDbState(Database.java:1458)
      2. com.sleepycat.je.Database.openCursor(Database.java:516)
      3. com.sleepycat.collections.CurrentTransaction.openCursor(CurrentTransaction.java:369)
      4. com.sleepycat.collections.MyRangeCursor.openCursor(MyRangeCursor.java:54)
      5. com.sleepycat.collections.MyRangeCursor.<init>(MyRangeCursor.java:30)
      6. com.sleepycat.collections.DataCursor.init(DataCursor.java:171)
      7. com.sleepycat.collections.DataCursor.<init>(DataCursor.java:59)
      8. com.sleepycat.collections.StoredContainer.putKeyValue(StoredContainer.java:317)
      9. com.sleepycat.collections.StoredMap.put(StoredMap.java:257)
      9 frames
    3. org.archive.crawler
      CrawlJobHandler$3.run
      1. org.archive.crawler.processor.recrawl.PersistProcessor.populatePersistEnvFromLog(PersistProcessor.java:215)
      2. org.archive.crawler.processor.recrawl.PersistProcessor.copyPersistSourceToHistoryMap(PersistProcessor.java:310)
      3. org.archive.crawler.processor.recrawl.PersistLoadProcessor.initStore(PersistLoadProcessor.java:81)
      4. org.archive.crawler.processor.recrawl.PersistOnlineProcessor.initialTasks(PersistOnlineProcessor.java:62)
      5. org.archive.crawler.framework.CrawlController.runProcessorInitialTasks(CrawlController.java:1663)
      6. org.archive.crawler.framework.CrawlController.requestCrawlStart(CrawlController.java:1008)
      7. org.archive.crawler.admin.CrawlJobHandler.startNextJobInternal(CrawlJobHandler.java:1148)
      8. org.archive.crawler.admin.CrawlJobHandler$3.run(CrawlJobHandler.java:1125)
      8 frames
    4. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:619)
      1 frame