Thanks, and it's nice to know we're getting to where we can see the light at the end of the tunnel :-)
-Marshall On 10/12/2017 4:23 PM, Richard Eckart de Castilho wrote: > On 12.10.2017, at 15:08, Marshall Schor <m...@schor.com> wrote: >> Maybe the test is expecting the CAS's existing type system & index def to be >> replaced, but didn't specify REINIT? >> >> Or, of course, there might be a bug. >> >> What was the CasLoadMode for this test, and can you confirm the receiving CAS >> did not have a committed type system? > The test doesn't expect the CAS to be reinitialized. It is a lenient loading > test in which the extra typesystem provides the knowledge about the types > in the case that is being deserialized into the target CAS. > > I have debugged this further. The type system which is passed as the third > parameter to CasUtils.load(stream, cas, typesystem) is loaded using the > following code: > > CASMgrSerializer casMgr = readCasManager(); > typeSystem = casMgr.getTypeSystem(); > typeSystem.commit(); > > The problem appears to be in the third line. Although commit() is called > explicitly here, isCommitted() still returns "false" afterwards. > > Btw. DKPro Core build against UIMAv3 will soon be stable. There is this > issue and after that, one additional different exception: > > java.lang.ArrayIndexOutOfBoundsException: -1 > at > org.apache.uima.cas.impl.CasTypeSystemMapper.getToFeature(CasTypeSystemMapper.java:197) > at > org.apache.uima.cas.impl.CasTypeSystemMapper.getSrcFeature(CasTypeSystemMapper.java:172) > at > org.apache.uima.cas.impl.BinaryCasSerDes6.deserializeAfterVersion(BinaryCasSerDes6.java:1875) > at > org.apache.uima.cas.impl.BinaryCasSerDes.reinit(BinaryCasSerDes.java:594) > at org.apache.uima.util.CasIOUtils.load(CasIOUtils.java:382) > at org.apache.uima.util.CasIOUtils.load(CasIOUtils.java:344) > ... > > Cheers, > > -- Richard > > >