You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Marshall Schor <ms...@schor.com> on 2018/01/27 19:17:43 UTC

[VOTE] uimaj-3.0.0 rc1

Hi,

This is the first official full release (candidate) for UIMA v3.

Changes since the beta are mainly 2 (plus some bug fixes):
  1) support for serialization / deserialization and subsequent access using
LowLeveCAS.getFSFromRef(int) API.
  2) support for applications which have JCas class classes, and load multiple
type systems (under the same class loader) with some of these having subsets of
the features.

Also, added 2 more semi-built-in types: one is a variant of the FSHashSet, using
linked Hash Set, so iterating gives a reasonable order. The other is a general
map from ints to Feature Structures, intended to let users eventually replace
use of the LowLevelCAS API method referenced above.

The Jiras for this release are here:

https://issues.apache.org/jira/issues/?jql=project%20%3D%2012310570%20AND%20fixVersion%20%3D%2012341578%20ORDER%20BY%20priority%20DESC%2C%20key%20ASC

Maven artifacts:
https://repository.apache.org/content/repositories/orgapacheuima-1178/

Source and binary zip/tar staged to:
https://dist.apache.org/repos/dist/dev/uima/uimaj/3.0.0-rc1/artifacts/

Eclipse update subsite:
https://dist.apache.org/repos/dist/dev/uima/uimaj/3.0.0-rc1/uimaj-uv3

SVN tag: https://svn.apache.org/repos/asf/uima/uv3/uimaj-v3/tags/uimaj-3.0.0/

Please vote on release:

[ ] +1 OK to release
[ ] 0 Don't care
[ ] -1 Not OK to release, because ...

Thanks.

-Marshall


Re: [VOTE] [CANCELLED] uimaj-3.0.0 rc1

Posted by Marshall Schor <ms...@schor.com>.
Good catch, correct diagnosis :-).

I'll put in a Jira to fix this.

-Marshall


On 1/28/2018 9:54 AM, Richard Eckart de Castilho wrote:
> So I have the:
>
> * updated my local UIMAv3 SVN checkout with your latest changes (3.0.1-SNAPSHOT)
> * updated my local uimaFIT UIMAv3 SVN checkout to depend on 3.0.1-SNAPSHOT
> * installed the UIMA 3.0.0-RC 1 Eclipse plugins
> * re-generated all the customized JCas classes in the DKPro Core UIMAv3 branch
> * changed my local DKPro Core UIMAv3 to depend on 3.0.1-SNAPSHOT
> * changed my local WebAnno UIMAv3 to depend on 3.0.1-SNAPSHOT
>
> and I am trying to open a document from the English WebAnno demo now. Still,
> I am getting this error:
>
> java.lang.NullPointerException: null
> 	at org.apache.uima.cas.impl.FeatureImpl.<init>(FeatureImpl.java:113) ~[classes/:?]
> 	at org.apache.uima.cas.impl.FeatureImpl_jcas_only.<init>(FeatureImpl_jcas_only.java:33) ~[classes/:?]
> 	at org.apache.uima.cas.impl.TypeSystemImpl.addJCasOffsets(TypeSystemImpl.java:1623) ~[classes/:?]
> 	at org.apache.uima.cas.impl.TypeSystemImpl.maybeAddJCasOffsets(TypeSystemImpl.java:1601) ~[classes/:?]
> 	at org.apache.uima.cas.impl.TypeSystemImpl.addJCasOffsetsWithSupers(TypeSystemImpl.java:1572) ~[classes/:?]
> 	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1488) ~[classes/:?]
> 	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1519) ~[classes/:?]
> 	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1519) ~[classes/:?]
> 	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1519) ~[classes/:?]
> 	at org.apache.uima.cas.impl.TypeSystemImpl.commit(TypeSystemImpl.java:1410) ~[classes/:?]
> 	at org.apache.uima.cas.impl.CASImpl.commitTypeSystem(CASImpl.java:1607) ~[classes/:?]
> 	at org.apache.uima.cas.impl.BinaryCasSerDes.reinit(BinaryCasSerDes.java:312) ~[classes/:?]
> 	at org.apache.uima.cas.impl.Serialization.deserializeCASComplete(Serialization.java:129) ~[classes/:?]
>
> Looking at the code, the problematic line in FeatureImpl is:
>
>     this.rangeTypeClass = (rangeType == null) 
>                      ? null
>                      : CasSerializerSupport.classifyType(rangeType);
>
> ... and here during runtime "rangeType" is null. 
>
> The problem here seems to be that "this.rangeTypeClass" is of type "int" and the statement tries
> to assign "null" to it if no rangeType is set. The Eclipse/Java compiler doesn't seem to be smart enough to
> see that this is an invalid assignment.
>
> I am replying with this to the UIMAv3 RC mail because this looks to me like a critical bug.
>
> Cheers,
>
> -- Richard


Re: [VOTE] uimaj-3.0.0 rc1

Posted by Richard Eckart de Castilho <re...@apache.org>.
So I have the:

* updated my local UIMAv3 SVN checkout with your latest changes (3.0.1-SNAPSHOT)
* updated my local uimaFIT UIMAv3 SVN checkout to depend on 3.0.1-SNAPSHOT
* installed the UIMA 3.0.0-RC 1 Eclipse plugins
* re-generated all the customized JCas classes in the DKPro Core UIMAv3 branch
* changed my local DKPro Core UIMAv3 to depend on 3.0.1-SNAPSHOT
* changed my local WebAnno UIMAv3 to depend on 3.0.1-SNAPSHOT

and I am trying to open a document from the English WebAnno demo now. Still,
I am getting this error:

java.lang.NullPointerException: null
	at org.apache.uima.cas.impl.FeatureImpl.<init>(FeatureImpl.java:113) ~[classes/:?]
	at org.apache.uima.cas.impl.FeatureImpl_jcas_only.<init>(FeatureImpl_jcas_only.java:33) ~[classes/:?]
	at org.apache.uima.cas.impl.TypeSystemImpl.addJCasOffsets(TypeSystemImpl.java:1623) ~[classes/:?]
	at org.apache.uima.cas.impl.TypeSystemImpl.maybeAddJCasOffsets(TypeSystemImpl.java:1601) ~[classes/:?]
	at org.apache.uima.cas.impl.TypeSystemImpl.addJCasOffsetsWithSupers(TypeSystemImpl.java:1572) ~[classes/:?]
	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1488) ~[classes/:?]
	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1519) ~[classes/:?]
	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1519) ~[classes/:?]
	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1519) ~[classes/:?]
	at org.apache.uima.cas.impl.TypeSystemImpl.commit(TypeSystemImpl.java:1410) ~[classes/:?]
	at org.apache.uima.cas.impl.CASImpl.commitTypeSystem(CASImpl.java:1607) ~[classes/:?]
	at org.apache.uima.cas.impl.BinaryCasSerDes.reinit(BinaryCasSerDes.java:312) ~[classes/:?]
	at org.apache.uima.cas.impl.Serialization.deserializeCASComplete(Serialization.java:129) ~[classes/:?]

Looking at the code, the problematic line in FeatureImpl is:

    this.rangeTypeClass = (rangeType == null) 
                     ? null
                     : CasSerializerSupport.classifyType(rangeType);

... and here during runtime "rangeType" is null. 

The problem here seems to be that "this.rangeTypeClass" is of type "int" and the statement tries
to assign "null" to it if no rangeType is set. The Eclipse/Java compiler doesn't seem to be smart enough to
see that this is an invalid assignment.

I am replying with this to the UIMAv3 RC mail because this looks to me like a critical bug.

Cheers,

-- Richard

Re: [VOTE] uimaj-3.0.0 rc1

Posted by Richard Eckart de Castilho <re...@apache.org>.
As part of trying out WebAnno + DKPro Core against the latest UIMAv3,
I have installed the Eclipse plugins from this RC into an existing Eclipse
in order to open an type system descriptor and to regenerate JCas classes.

However, I cannot open the type system descriptor with the Component Editor:

java.lang.ExceptionInInitializerError
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at org.apache.uima.cas.impl.FSClassRegistry.maybeLoadJCas(FSClassRegistry.java:834)
	at org.apache.uima.cas.impl.FSClassRegistry.createJCasClassInfo(FSClassRegistry.java:579)
	at org.apache.uima.cas.impl.FSClassRegistry.maybeCreateJCasClassInfo(FSClassRegistry.java:566)
	at org.apache.uima.cas.impl.FSClassRegistry.getOrCreateJCasClassInfo(FSClassRegistry.java:554)
	at org.apache.uima.cas.impl.TypeSystemImpl.getJcci(TypeSystemImpl.java:1672)
	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1485)
	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1519)
	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1519)
	at org.apache.uima.cas.impl.TypeSystemImpl.computeAdjustedFeatureOffsets(TypeSystemImpl.java:1519)
	at org.apache.uima.cas.impl.TypeSystemImpl.commit(TypeSystemImpl.java:1410)
	at org.apache.uima.cas.impl.CASImpl.commitTypeSystem(CASImpl.java:1607)
	at org.apache.uima.util.CasCreationUtils.doCreateCas(CasCreationUtils.java:614)
	at org.apache.uima.util.CasCreationUtils.createCas(CasCreationUtils.java:362)
	at org.apache.uima.taeconfigurator.editors.MultiPageEditor.createCas(MultiPageEditor.java:4018)

Unfortunately, I do not see which class fails to load.

I can open type system descriptors containing type which are generated via the Maven JCasGen plugin.

However, when I try opening a type system descriptor for which there is an existing UIMAv3-alpha
JCas class (which are checked into the code repo), I get this error.

When I manually delete the UIMAv3-alpha JCas classes, then I can open the type system descriptor
without this error.

My feeling is that the Component Descriptor should not try to access JCas classes.

You can probably reproduce this using an Eclipse with the 3.0.0-RC1 plugins installed 
and trying to open "dkpro-core-api-coref-asl/src/main/resources/desc/type/coref.xml" 
the from document-metadata-uv3-beta-fix [1] in the Component Editor.

Cheers,

-- Richard 

[1] https://github.com/mischor/dkpro-core/tree/document-metadata-uv3-beta-fix