uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marshall Schor <...@schor.com>
Subject Re: UIMAv3 & WebAnno
Date Tue, 16 Jan 2018 19:08:45 GMT
I thought I'd try downloading the branch of webanno labeled uv3 and seeing if I
could build it.
It seems to need some SNAPSHOT repos which I don't have set up for access, e.g.:

Project build error: Non-resolvable import POM: Could not find artifact

Is it reasonable for me to try to build and test this myself, or does doing that
entail needing a lot of infrastructure setup, etc. that would be unreasonable to
try to do?

Cheers. -Marshall

On 1/3/2018 6:16 PM, Richard Eckart de Castilho wrote:
> Hi again,
> I have once again switched my local environment to a UIMA v3 mode:
> - UIMA SDK v3 (3.0.1-beta-SNAPSHOT v3 branch)
> - uimaFIT (3.0.0-SNAPSHOT v3 branch)
> - DKPro Core (2.0.x branch)
> - WebAnno (feature/issue1115-uimav3 branch)
> Last time, I ran into trouble because the IDs loaded from serialized CAS files were no
longer accessible.
> I programmatically set "uima.default_v2_id_references" to "true" during startup now to
avoid that.
> But what seems to be happening even before getting there is that I run again in JCas
<-> Type System problems.
> When a user opens a document for annotation in WebAnno, WebAnno loads the serialized
CAS (CasCompleteSerializer),
> serializes the CAS into a byte array (compressed form 6), creates a new CAS with the
current type system definition,
> and deserializes the data again into that CAS. The idea is that the lenient loading of
the compressed form 6 allows
>   a) new types / features to be added in that way
>   b) unreachable FSes to be garbage collected
> So, it is not an uncommon case here that the data stored with the CasCompleteSerializer
used a different type system than the CAs into which it is loaded - and in fact it can be
the case that the data stored with the CasCompleteSerializer had used different JCas wrappers
at the time then what is available at the time of loading
> the data again. Afaik in there should be no truely incompatible changes in the type system
though - i.e. only new features / types were added; no features were removed. Still, I get
a lot of this type of error:
>> org.apache.uima.cas.CASRuntimeException: The JCas cannot be initialized.  The following
errors occurred: 
>> In JCAS class "de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.morph.MorphologicalFeatures",
UIMA field "de.tudarmstadt.ukp.dkpro.core.api.lexmorph.type.morph.MorphologicalFeatures:verbForm"
was set up when this class was previously loaded and initialized, to have an adjusted offset
of "-1" but now the feature has a different adjusted offset of "5"; this may be due to something
else other than type system commit actions loading and initializing the JCas class, or to
having a different non-compatible type system for this class, trying to use a common JCas
cover class, which is not supported. 
>> <snip> 
>> 	at org.apache.uima.cas.impl.FSClassRegistry.reportErrors(FSClassRegistry.java:870)
>> 	at org.apache.uima.cas.impl.FSClassRegistry.loadJCasForTSandClassLoader(FSClassRegistry.java:342)
>> 	at org.apache.uima.cas.impl.FSClassRegistry.getGeneratorsForClassLoader(FSClassRegistry.java:904)
>> 	at org.apache.uima.cas.impl.TypeSystemImpl.getGeneratorsForClassLoader(TypeSystemImpl.java:2651)
>> 	at org.apache.uima.cas.impl.TypeSystemImpl.commit(TypeSystemImpl.java:1393) ~[classes/:?]
>> 	at org.apache.uima.cas.impl.CASImpl.commitTypeSystem(CASImpl.java:1607) ~[classes/:?]
>> 	at org.apache.uima.util.CasCreationUtils.doCreateCas(CasCreationUtils.java:614)
>> 	at org.apache.uima.util.CasCreationUtils.createCas(CasCreationUtils.java:362) ~[classes/:?]
>> 	at org.apache.uima.util.CasCreationUtils.createCas(CasCreationUtils.java:313) ~[classes/:?]
>> 	at org.apache.uima.fit.factory.JCasFactory.createJCas(JCasFactory.java:147) ~[classes/:?]
>> 	at de.tudarmstadt.ukp.clarin.webanno.api.dao.AnnotationSchemaServiceImpl.upgradeCas(AnnotationSchemaServiceImpl.java:640)
> I have the feeling that this is what happens:
> 1) a CasCompleteSerialized-CAS is loaded - it was created at a time when the MorphologicalFeatures
did not yet have a feature called "verbForm".
> 2) I create a new JCas, now using a type system description where MorphologicalFeatures
includes the "verbForm" feature
> At step 2, the above error seems to be triggered. I actually do not even get to the point
where I would temporarily serialize into form 6 and back. The code already crashes when trying
to set up the target task with the updated type system.
> Any ideas?
> Cheers,
> -- Richard

View raw message