Eddie Epstein created UIMA-3655: ----------------------------------- Summary: CasPool incorrectly stores references to the InitialView of each CAS Key: UIMA-3655 URL: https://issues.apache.org/jira/browse/UIMA-3655 Project: UIMA Issue Type: Bug Components: Core Java Framework Reporter: Eddie Epstein Assignee: Marshall Schor
For cas pools, getCas returns a handle to the InitialView of an empty CAS, and stores this handle to match in releaseCas. This breaks for services that employ sofamapping. The empty CAS is filled from a serialized CAS sent to the service. It is possible that a CAS received may not contain the view, CAS.NAME_DEFAULT_SOFA, specified by sofamapping. Then, when the service tries to return the CAS to the pool, releaseCas blows up at the first line, CAS cas = aCas.getView(CAS.NAME_DEFAULT_SOFA); so the CAS is not returned to the pool ==> CAS leak. The cas pool should be storing references to the base CAS, which is independent of views. -- This message was sent by Atlassian JIRA (v6.1.5#6160)