You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Michael Baessler (JIRA)" <ui...@incubator.apache.org> on 2007/05/23 13:36:16 UTC

[jira] Closed: (UIMA-411) PearInstallerTest fails when running from mvn install target - caused by class loading issues in the PEAR verification code

     [ https://issues.apache.org/jira/browse/UIMA-411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Baessler closed UIMA-411.
---------------------------------

    Resolution: Fixed

> PearInstallerTest fails when running from mvn install target - caused by class loading issues in the PEAR verification code
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: UIMA-411
>                 URL: https://issues.apache.org/jira/browse/UIMA-411
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Michael Baessler
>         Assigned To: Michael Baessler
>             Fix For: 2.2
>
>
> The PearInstallerTest fails when running from maven install target. The cause of the failure is a class loading issue in the PEAR verification code.
> The PEAR verification code starts a new process for the verification with the classpath either build from UIMA_HOME or build from java.class.path. When running the tests with mvn install target, Maven has it's own class loading framework (classworlds) so the classpath that is used for the pear verification does only containg the jar files for the classworld class loading framework but not the UIMA test and runtime classes. 
> To fix this issue the PEAR verification code must be modified/changed so that the UIMA extension class loading is used to verify the installed components. 
> The same fix should be applied when testing the installed pear with the CVD GUI that can be started from the PearInstaller GUI.

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


Re: [jira] Closed: (UIMA-411) PearInstallerTest fails when running from mvn install target - caused by class loading issues in the PEAR verification code

Posted by Adam Lally <al...@alum.rpi.edu>.
On 5/30/07, Thilo Goetz <tw...@gmx.de> wrote:
> > I don't have the test case now, but I certainly remember that we added
> > this test after analyzing real test cases. Sometimes, CAS creation
> > required resources than are not required for AE creation. As I
> > remember, Adam had also approved this test.
> >
> > -- Lev
>
> I would be interested to learn what those resources are.  Adam?
>
> It's fine to create the CAS, I would just like to understand why it's
> necessary.
>

I believe it is necessary to create a CAS in order to completely
validate the type system, priorities, and indexes.  I think AE
creation will ensure that all the required "resource" files exist, but
doesn't do a complete validation on them.

-Adam

Re: [jira] Closed: (UIMA-411) PearInstallerTest fails when running from mvn install target - caused by class loading issues in the PEAR verification code

Posted by Thilo Goetz <tw...@gmx.de>.
Lev Kozakov wrote:
> On 5/29/07, Michael Baessler <mb...@michael-baessler.de> wrote:
>> I talked to Thilo about this issue and he told me that this CAS creation
>> cannot fail if the analysis engine could be created. So do you have an
>> test case where the
>> ae creation works but the CAS creation fails?
>>
>> -- Michael
>>
> I don't have the test case now, but I certainly remember that we added
> this test after analyzing real test cases. Sometimes, CAS creation
> required resources than are not required for AE creation. As I
> remember, Adam had also approved this test.
> 
> -- Lev

I would be interested to learn what those resources are.  Adam?

It's fine to create the CAS, I would just like to understand why it's
necessary.

--Thilo


Re: [jira] Closed: (UIMA-411) PearInstallerTest fails when running from mvn install target - caused by class loading issues in the PEAR verification code

Posted by Lev Kozakov <le...@gmail.com>.
On 5/29/07, Michael Baessler <mb...@michael-baessler.de> wrote:
> I talked to Thilo about this issue and he told me that this CAS creation
> cannot fail if the analysis engine could be created. So do you have an
> test case where the
> ae creation works but the CAS creation fails?
>
> -- Michael
>
I don't have the test case now, but I certainly remember that we added
this test after analyzing real test cases. Sometimes, CAS creation
required resources than are not required for AE creation. As I
remember, Adam had also approved this test.

-- Lev

Re: [jira] Closed: (UIMA-411) PearInstallerTest fails when running from mvn install target - caused by class loading issues in the PEAR verification code

Posted by Michael Baessler <mb...@michael-baessler.de>.
Lev Kozakov wrote:
> On 5/23/07, Michael Baessler (JIRA) <ui...@incubator.apache.org> 
> wrote:
>> > PearInstallerTest fails when running from mvn install target - 
>> caused by class loading issues in the PEAR verification code
>
>> > The PEAR verification code starts a new process for the 
>> verification with the classpath either build from UIMA_HOME or build 
>> from java.class.path.
>
> The child process was necessary for creating a separate process
> environment, where you can define any environment variables, including
> PATH, etc. Without such an environment, some annotators, which use
> native code and may require other non-Java environment settings, will
> be hard/impossible to verify. Modifying JVM system properties at
> runtime does not have the same effect as setting environment
> variables, especially for PATH and non-Java environment settings. A
> recent example of such an annotator is the LexifierAnnotator from CMU
> (see 
> http://www.ibm.com/developerworks/forums/dw_thread.jsp?message=13955696&cat=28&thread=163741&treeDisplayType=threadmode1&forum=444#13955696). 
>
> How are we going to validate PEARs that need specific PATH-like and
> non-Java settings with the modified validation process?
>
You are right, I know that with the new design not all features are 
supported, especially the native stuff and the environment stuff.
In the past we had a lot of issues that the PearVerification runs fine 
but the users were not able to get the stuff running when the pear is 
integrated into an application.
So based on this... I decided to support only these features that can 
also be supported by the new UIMA pear runtime. All this native and 
environment stuff must be done by the user anyway, so it can also be 
done for the pear verification. My plan was to update the documentation 
with what is supported out of the box and what must be
done manually.
>> > To fix this issue the PEAR verification code must be 
>> modified/changed so that the UIMA extension class loading is used to 
>> verify the installed components.
>
> I looked at the modified InstallationTester code. The new version of
> the testAnalysisEngine() method does not contain one important test -
> creating new CAS. Our previous experience with various PEARs
> demonstrated that without this test the AE validation is not complete.
> I recommend adding this test to the testAnalysisEngine() method.
I talked to Thilo about this issue and he told me that this CAS creation 
cannot fail if the analysis engine could be created. So do you have an 
test case where the
ae creation works but the CAS creation fails?

-- Michael

Re: [jira] Closed: (UIMA-411) PearInstallerTest fails when running from mvn install target - caused by class loading issues in the PEAR verification code

Posted by Lev Kozakov <le...@gmail.com>.
On 5/23/07, Michael Baessler (JIRA) <ui...@incubator.apache.org> wrote:
> > PearInstallerTest fails when running from mvn install target - caused by class loading issues in the PEAR verification code

> > The PEAR verification code starts a new process for the verification with the classpath either build from UIMA_HOME or build from java.class.path.

The child process was necessary for creating a separate process
environment, where you can define any environment variables, including
PATH, etc. Without such an environment, some annotators, which use
native code and may require other non-Java environment settings, will
be hard/impossible to verify. Modifying JVM system properties at
runtime does not have the same effect as setting environment
variables, especially for PATH and non-Java environment settings. A
recent example of such an annotator is the LexifierAnnotator from CMU
(see http://www.ibm.com/developerworks/forums/dw_thread.jsp?message=13955696&cat=28&thread=163741&treeDisplayType=threadmode1&forum=444#13955696).
How are we going to validate PEARs that need specific PATH-like and
non-Java settings with the modified validation process?

> > To fix this issue the PEAR verification code must be modified/changed so that the UIMA extension class loading is used to verify the installed components.

I looked at the modified InstallationTester code. The new version of
the testAnalysisEngine() method does not contain one important test -
creating new CAS. Our previous experience with various PEARs
demonstrated that without this test the AE validation is not complete.
I recommend adding this test to the testAnalysisEngine() method.

-- Lev