Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.2.1
-
None
Description
If, e.g., an OOME is thrown inside a primitive AE, the CAS is not unlocked and can't be reused. This is an issue when the application is trying to recover from the OOME. The call to restoreClassLoaderUnlockCas() in PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess() either needs to be moved to the finally clause, or the CAS needs to be unlocked separately there. Looks like this is a bug introduced with the class loading changes for 2.1.
Reproduce by provoking an OOME in CVD (start with little memory, use large document etc). CVD will catch OOM. Now try to rerun AE, will fail because CAS is locked.