You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Yoshinobu KANO (JIRA)" <ui...@incubator.apache.org> on 2007/06/29 10:29:04 UTC

[jira] Created: (UIMA-476) FSArray causes error in SOAP service

FSArray causes error in SOAP service
------------------------------------

                 Key: UIMA-476
                 URL: https://issues.apache.org/jira/browse/UIMA-476
             Project: UIMA
          Issue Type: Bug
          Components: Transport Adapters - SOAP, Vinci
    Affects Versions: 2.1
         Environment: UIMA 2.1 and previous versions
            Reporter: Yoshinobu KANO


When we run a SOAP service with any type system which uses FSArray,
AnalysisEngineProcessException occurs,
though the same component can be run as a local service.
It occurs in the type system checking, independently of the component implementations.

The error says:
Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
initialized.  The following errors occurred: The JCAS range type
uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
not match the CAS range <OurFeatureTypeName>[] for the feature.
# replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Created: (UIMA-476) FSArray causes error in SOAP service

Posted by Adam Lally <al...@alum.rpi.edu>.
On 7/5/07, Marshall Schor <ms...@schor.com> wrote:
> Adam - can you look
> at Ecore2UimaTypeSystem and see if the "isArrayOrList" method would need
> updating?

It looks correct, actually.  Since this is converting from an Ecore
model to a UIMA type system, it is in complete control of how the
range type names are generated.  And it generates them in the style
expected in the component descriptor (which is what it ultimately
generates).  In that style the <rangeTypeName is FSArray and the
elementType is set to the specific element type.

-Adam

Re: [jira] Created: (UIMA-476) FSArray causes error in SOAP service

Posted by Marshall Schor <ms...@schor.com>.
While working on the fix for this, I ran across another possible 
incomplete impl of arrays, in the functions that
check for "arrays".  Many of these test if the type is one of the 
built-in array types.  The rangeTypeName for arrays of specific objects 
is created as the specific object followed by "[]".  Adam - can you look 
at Ecore2UimaTypeSystem and see if the "isArrayOrList" method would need 
updating?

-Marshall

Yoshinobu KANO (JIRA) wrote:
> FSArray causes error in SOAP service
> ------------------------------------
>
>                  Key: UIMA-476
>                  URL: https://issues.apache.org/jira/browse/UIMA-476
>              Project: UIMA
>           Issue Type: Bug
>           Components: Transport Adapters - SOAP, Vinci
>     Affects Versions: 2.1
>          Environment: UIMA 2.1 and previous versions
>             Reporter: Yoshinobu KANO
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
>
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.
>
>   


[jira] Commented: (UIMA-476) FSArray causes error in SOAP service

Posted by "Thilo Goetz (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12510700 ] 

Thilo Goetz commented on UIMA-476:
----------------------------------

Your remarks about the interdependence between the Java and C++ implementations are correct.

It's not part of this fix, but I don't like the fact that the TypeImpl and type code ints in TypeSystemImpl are not protected with accessors.  They should have setters and getters, and the setter should be locked after type system commit.  This will make our own debugging life a lot easier if there are ever any problems with this.  When these vars still lived in the CASImpl, we could be sure that they were instantiated only once.  The same should be true now they've moved to the type system.


> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Thilo Goetz
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-476) FSArray causes error in SOAP service

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509988 ] 

Marshall Schor commented on UIMA-476:
-------------------------------------

This is (I think) due to incomplete implementation of array types in the CASMgrSerializer class.  This class is used when the serialization is to include the type system.  SOAP services use this, and I believe the C++ interoperability layer also may use it.

This class I think fails to capture the existence of user-defined array types, when serializing, and when deserializing, consequently never creates new user-defined array types.

A simple test case could probably be done by creating a CAS having an type with a feature which is an FSArray of a specific type.  Then call the serialize code, to create an instance of CASMgrSerializer.  Then call reinit using that object and you should see the bug - the feature range no longer will be an array (in the sense that "arrayCodeToTypeMap" in the TypeSystem object doesn't get updated to reflect this.

Thilo - can you take a look and see if you can confirm this, and if so, add the code to (a) record the additional info in CASMgrSerializer to know about these array types, and (b) use that when deserializing?

> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (UIMA-476) FSArray causes error in SOAP service

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor resolved UIMA-476.
---------------------------------

    Resolution: Fixed
      Assignee: Thilo Goetz  (was: Marshall Schor)

> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Thilo Goetz
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (UIMA-476) FSArray causes error in SOAP service

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor closed UIMA-476.
-------------------------------


> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Thilo Goetz
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-476) FSArray causes error in SOAP service

Posted by "Adam Lally (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Lally updated UIMA-476:
----------------------------

    Fix Version/s: 2.2

I think we plan on fixing this for 2.2

> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Work started: (UIMA-476) FSArray causes error in SOAP service

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on UIMA-476 started by Marshall Schor.

> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Marshall Schor
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (UIMA-476) FSArray causes error in SOAP service

Posted by "Thilo Goetz (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thilo Goetz closed UIMA-476.
----------------------------


Other than my reservations about the whole multiple-references-not-allowed business, fine with me.


> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Thilo Goetz
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Work stopped: (UIMA-476) FSArray causes error in SOAP service

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on UIMA-476 stopped by Marshall Schor.

> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Marshall Schor
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-476) FSArray causes error in SOAP service

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12510685 ] 

Marshall Schor commented on UIMA-476:
-------------------------------------

Some interesting things I found out while researching / fixing this.

1) The CASImpl method to set up the type system sets up the types in a particular order.  This order is hard-wired into the C++ layer, and cannot be changed.  I added a comment to the code about this.

2) Even if the C++ layer wasn't an issue, the order cannot be changed because the CAS Complete Serialization which sends the type system sends (I think - not confirmed) type "codes" between the systems.  This means the codes must correspond to the same types.  In the case where you might have an "old" client sending to a "new" server, these don't match.  

3) The code for setup of the type system called type system impl functions which depend on the types being initialized.  For instance, when adding the array base type, the calling sequence includes 
   ts.ll_isPrimitiveType -> ll_isRefType ->ll_getTypeClass -> ll_subsumes
The ll_subsumes was being passed a "0" as the type code of the super type (the getTypeClass was trying to 
see if the type was subsumed by the "String" type (e.g., a sub type of string), but the string type hadn't been 
set up yet).  

I added a new test case that failed before this fix.  



> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Marshall Schor
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (UIMA-476) FSArray causes error in SOAP service

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor reassigned UIMA-476:
-----------------------------------

    Assignee: Marshall Schor

> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Marshall Schor
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (UIMA-476) FSArray causes error in SOAP service

Posted by "Adam Lally (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Lally resolved UIMA-476.
-----------------------------

    Resolution: Fixed
      Assignee: Thilo Goetz  (was: Adam Lally)

I updated CASMgrSerializer, changing the serialization format to include the isMutipleReferencesAllowed flag for each features.  This changes the featDecls array to have three cells per feature instead of just two.

Assigning to Thilo for review.

Eddie, this will require a change to the C++.

> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Thilo Goetz
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (UIMA-476) FSArray causes error in SOAP service

Posted by "Adam Lally (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Lally reopened UIMA-476:
-----------------------------

      Assignee: Adam Lally  (was: Thilo Goetz)

The multipleReferencesAllowed flag on each Feature is being lost during complete Serialization.

> FSArray causes error in SOAP service
> ------------------------------------
>
>                 Key: UIMA-476
>                 URL: https://issues.apache.org/jira/browse/UIMA-476
>             Project: UIMA
>          Issue Type: Bug
>          Components: Transport Adapters - SOAP, Vinci
>    Affects Versions: 2.1
>         Environment: UIMA 2.1 and previous versions
>            Reporter: Yoshinobu KANO
>            Assignee: Adam Lally
>             Fix For: 2.2
>
>
> When we run a SOAP service with any type system which uses FSArray,
> AnalysisEngineProcessException occurs,
> though the same component can be run as a local service.
> It occurs in the type system checking, independently of the component implementations.
> The error says:
> Caused by: org.apache.uima.UIMARuntimeException: The JCas cannot be
> initialized.  The following errors occurred: The JCAS range type
> uima.cas.FSArray for feature <OurFeatureName> of type <OurTypeName> does
> not match the CAS range <OurFeatureTypeName>[] for the feature.
> # replaced our specific feature/type names.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.