Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
ManifoldCF 0.1, ManifoldCF 0.2, ManifoldCF 0.3
-
None
Description
When ManifoldCF gets a database error from a thread, it tries to recover by resetting all threads to a known state. Unfortunately this code seems to fail, and you wind up with a frozen crawl with all worker threads in the following state:
"Worker thread '36'" daemon prio=6 tid=0x00000000077ed000 nid=0xa98 in Object.wait() [0x000000000b1af000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.apache.manifoldcf.crawler.system.ResetManager.waitForReset(ResetManager.java:107)
- locked <0x00000000e0005528> (a org.apache.manifoldcf.crawler.system.WorkerResetManager)
at org.apache.manifoldcf.crawler.system.WorkerThread.run(WorkerThread.java:110)