You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Rajini Sivaram (JIRA)" <tu...@ws.apache.org> on 2008/03/13 21:12:24 UTC

[jira] Created: (TUSCANY-2083) GroovyClassLoader throws NoClassDefFoundError when Tuscany is run inside OSGi

GroovyClassLoader throws NoClassDefFoundError when Tuscany is run inside OSGi
-----------------------------------------------------------------------------

                 Key: TUSCANY-2083
                 URL: https://issues.apache.org/jira/browse/TUSCANY-2083
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Groovy Implementation Extension
    Affects Versions: Java-SCA-1.1
            Reporter: Rajini Sivaram
            Assignee: Rajini Sivaram
             Fix For: Java-SCA-1.2


When Tuscany is run under OSGi, calculator-script sample throws the following exception:

java.lang.NoClassDefFoundError: groovy.lang.Script
	at java.lang.ClassLoader.defineClassImpl(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:264)
	at java.security.SecureClassLoader.defineClass(Unknown Source)
	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:57)
	at groovy.lang.GroovyClassLoader$ClassCollector.createClass(GroovyClassLoader.java:445)
	at groovy.lang.GroovyClassLoader$ClassCollector.onClassNode(GroovyClassLoader.java:463)
	at groovy.lang.GroovyClassLoader$ClassCollector.call(GroovyClassLoader.java:467)
	at org.codehaus.groovy.control.CompilationUnit$10.call(CompilationUnit.java:701)
	at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:885)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:436)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:277)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:248)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:243)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:225)
	at org.apache.tuscany.sca.contribution.groovy.GroovyModelResolver.addModel(GroovyModelResolver.java:55)
	at org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver.addModel(ExtensibleModelResolver.java:132)
	at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processReadPhase(ContributionServiceImpl.java:454)
	at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:386)
	at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:203)
	at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.addContribution(DefaultSCADomain.java:272)
	at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:158)
	at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:109)
	at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:231)
	at org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:69)
	at calculator.CalculatorTestCase.setUp(CalculatorTestCase.java:35)


GroovyModelResolver creates a GroovyClassLoader with the thread context classloader as its parent.  The class is already loaded from the 3rd party OSGi bundle and this bundle classloader is part of TCCL. 


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


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: [jira] Created: (TUSCANY-2083) GroovyClassLoader throws NoClassDefFoundError when Tuscany is run inside OSGi

Posted by Rajini Sivaram <ra...@googlemail.com>.
Ant,

To recreate this, uncomment "calculator-script" from the list of tests in
org.apache.tuscany.sca.test.osgi.tuscany.TuscanySamplesUsingOldDomainTestCase.java.
You may want to comment out the others while testing.
samples/calculator-script will be run against Tuscany running in an OSGi
container, and the test throws the exception.

I am not sure of a fix yet (or even what the exact problem is), I need to
look into it a bit more...


On 3/14/08, ant elder <an...@gmail.com> wrote:
>
> Could you say a little about how to recreate this and maybe some pointers
> on what could be done to fix it? I'm interested in trying to fix it so i get
> a better understanding of all the OSGi and class loader stuff.
>
>    ...ant
>
> On Thu, Mar 13, 2008 at 8:12 PM, Rajini Sivaram (JIRA) <
> tuscany-dev@ws.apache.org> wrote:
>
> > GroovyClassLoader throws NoClassDefFoundError when Tuscany is run inside
> > OSGi
> >
> > -----------------------------------------------------------------------------
> >
> >                 Key: TUSCANY-2083
> >                 URL: https://issues.apache.org/jira/browse/TUSCANY-2083
> >             Project: Tuscany
> >          Issue Type: Bug
> >          Components: Java SCA Groovy Implementation Extension
> >    Affects Versions: Java-SCA-1.1
> >            Reporter: Rajini Sivaram
> >            Assignee: Rajini Sivaram
> >             Fix For: Java-SCA-1.2
> >
> >
> > When Tuscany is run under OSGi, calculator-script sample throws the
> > following exception:
> >
> > java.lang.NoClassDefFoundError: groovy.lang.Script
> >        at java.lang.ClassLoader.defineClassImpl(Native Method)
> >        at java.lang.ClassLoader.defineClass(ClassLoader.java:264)
> >        at java.security.SecureClassLoader.defineClass(Unknown Source)
> >        at groovy.lang.GroovyClassLoader.access$300(
> > GroovyClassLoader.java:57)
> >        at groovy.lang.GroovyClassLoader$ClassCollector.createClass(
> > GroovyClassLoader.java:445)
> >        at groovy.lang.GroovyClassLoader$ClassCollector.onClassNode(
> > GroovyClassLoader.java:463)
> >        at groovy.lang.GroovyClassLoader$ClassCollector.call(
> > GroovyClassLoader.java:467)
> >        at org.codehaus.groovy.control.CompilationUnit$10.call(
> > CompilationUnit.java:701)
> >        at
> > org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(
> > CompilationUnit.java:885)
> >        at org.codehaus.groovy.control.CompilationUnit.compile(
> > CompilationUnit.java:436)
> >        at groovy.lang.GroovyClassLoader.parseClass(
> > GroovyClassLoader.java:277)
> >        at groovy.lang.GroovyClassLoader.parseClass(
> > GroovyClassLoader.java:248)
> >        at groovy.lang.GroovyClassLoader.parseClass(
> > GroovyClassLoader.java:243)
> >        at groovy.lang.GroovyClassLoader.parseClass(
> > GroovyClassLoader.java:225)
> >        at
> > org.apache.tuscany.sca.contribution.groovy.GroovyModelResolver.addModel(
> > GroovyModelResolver.java:55)
> >        at
> > org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver.addModel
> > (ExtensibleModelResolver.java:132)
> >        at
> > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processReadPhase
> > (ContributionServiceImpl.java:454)
> >        at
> > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution
> > (ContributionServiceImpl.java:386)
> >        at
> > org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute
> > (ContributionServiceImpl.java:203)
> >        at
> > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.addContribution
> > (DefaultSCADomain.java:272)
> >        at
> > org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(
> > DefaultSCADomain.java:158)
> >        at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain
> > .<init>(DefaultSCADomain.java:109)
> >        at
> > org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(
> > SCADomain.java:231)
> >        at org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(
> > SCADomain.java:69)
> >        at calculator.CalculatorTestCase.setUp(CalculatorTestCase.java
> > :35)
> >
> >
> > GroovyModelResolver creates a GroovyClassLoader with the thread context
> > classloader as its parent.  The class is already loaded from the 3rd party
> > OSGi bundle and this bundle classloader is part of TCCL.
> >
> >
> > --
> > This message is automatically generated by JIRA.
> > -
> > You can reply to this email to add a comment to the issue online.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> >
> >
>


-- 
Thank you...

Regards,

Rajini

Re: [jira] Created: (TUSCANY-2083) GroovyClassLoader throws NoClassDefFoundError when Tuscany is run inside OSGi

Posted by ant elder <an...@gmail.com>.
Could you say a little about how to recreate this and maybe some pointers on
what could be done to fix it? I'm interested in trying to fix it so i get a
better understanding of all the OSGi and class loader stuff.

   ...ant

On Thu, Mar 13, 2008 at 8:12 PM, Rajini Sivaram (JIRA) <
tuscany-dev@ws.apache.org> wrote:

> GroovyClassLoader throws NoClassDefFoundError when Tuscany is run inside
> OSGi
>
> -----------------------------------------------------------------------------
>
>                 Key: TUSCANY-2083
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2083
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Groovy Implementation Extension
>    Affects Versions: Java-SCA-1.1
>            Reporter: Rajini Sivaram
>            Assignee: Rajini Sivaram
>             Fix For: Java-SCA-1.2
>
>
> When Tuscany is run under OSGi, calculator-script sample throws the
> following exception:
>
> java.lang.NoClassDefFoundError: groovy.lang.Script
>        at java.lang.ClassLoader.defineClassImpl(Native Method)
>        at java.lang.ClassLoader.defineClass(ClassLoader.java:264)
>        at java.security.SecureClassLoader.defineClass(Unknown Source)
>        at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java
> :57)
>        at groovy.lang.GroovyClassLoader$ClassCollector.createClass(
> GroovyClassLoader.java:445)
>        at groovy.lang.GroovyClassLoader$ClassCollector.onClassNode(
> GroovyClassLoader.java:463)
>        at groovy.lang.GroovyClassLoader$ClassCollector.call(
> GroovyClassLoader.java:467)
>        at org.codehaus.groovy.control.CompilationUnit$10.call(
> CompilationUnit.java:701)
>        at
> org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(
> CompilationUnit.java:885)
>        at org.codehaus.groovy.control.CompilationUnit.compile(
> CompilationUnit.java:436)
>        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java
> :277)
>        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java
> :248)
>        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java
> :243)
>        at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java
> :225)
>        at
> org.apache.tuscany.sca.contribution.groovy.GroovyModelResolver.addModel(
> GroovyModelResolver.java:55)
>        at
> org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver.addModel
> (ExtensibleModelResolver.java:132)
>        at
> org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processReadPhase
> (ContributionServiceImpl.java:454)
>        at
> org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution
> (ContributionServiceImpl.java:386)
>        at
> org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute
> (ContributionServiceImpl.java:203)
>        at
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.addContribution
> (DefaultSCADomain.java:272)
>        at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(
> DefaultSCADomain.java:158)
>        at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain
> .<init>(DefaultSCADomain.java:109)
>        at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance
> (SCADomain.java:231)
>        at org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(
> SCADomain.java:69)
>        at calculator.CalculatorTestCase.setUp(CalculatorTestCase.java:35)
>
>
> GroovyModelResolver creates a GroovyClassLoader with the thread context
> classloader as its parent.  The class is already loaded from the 3rd party
> OSGi bundle and this bundle classloader is part of TCCL.
>
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>

[jira] Closed: (TUSCANY-2083) GroovyClassLoader throws NoClassDefFoundError when Tuscany is run inside OSGi

Posted by "Rajini Sivaram (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-2083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajini Sivaram closed TUSCANY-2083.
-----------------------------------

    Resolution: Fixed

GroovyClassLoader is now created using the Tuscany classloader as parent since it is used to find Groovy classes, and not contribution classes. This change will not have any effect during normal Tuscany run outside of OSGi since Tuscany classloader will be the TCCL.

> GroovyClassLoader throws NoClassDefFoundError when Tuscany is run inside OSGi
> -----------------------------------------------------------------------------
>
>                 Key: TUSCANY-2083
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2083
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Groovy Implementation Extension
>    Affects Versions: Java-SCA-1.1
>            Reporter: Rajini Sivaram
>            Assignee: Rajini Sivaram
>             Fix For: Java-SCA-1.2
>
>
> When Tuscany is run under OSGi, calculator-script sample throws the following exception:
> java.lang.NoClassDefFoundError: groovy.lang.Script
> 	at java.lang.ClassLoader.defineClassImpl(Native Method)
> 	at java.lang.ClassLoader.defineClass(ClassLoader.java:264)
> 	at java.security.SecureClassLoader.defineClass(Unknown Source)
> 	at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:57)
> 	at groovy.lang.GroovyClassLoader$ClassCollector.createClass(GroovyClassLoader.java:445)
> 	at groovy.lang.GroovyClassLoader$ClassCollector.onClassNode(GroovyClassLoader.java:463)
> 	at groovy.lang.GroovyClassLoader$ClassCollector.call(GroovyClassLoader.java:467)
> 	at org.codehaus.groovy.control.CompilationUnit$10.call(CompilationUnit.java:701)
> 	at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:885)
> 	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:436)
> 	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:277)
> 	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:248)
> 	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:243)
> 	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:225)
> 	at org.apache.tuscany.sca.contribution.groovy.GroovyModelResolver.addModel(GroovyModelResolver.java:55)
> 	at org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver.addModel(ExtensibleModelResolver.java:132)
> 	at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processReadPhase(ContributionServiceImpl.java:454)
> 	at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:386)
> 	at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:203)
> 	at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.addContribution(DefaultSCADomain.java:272)
> 	at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:158)
> 	at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:109)
> 	at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:231)
> 	at org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:69)
> 	at calculator.CalculatorTestCase.setUp(CalculatorTestCase.java:35)
> GroovyModelResolver creates a GroovyClassLoader with the thread context classloader as its parent.  The class is already loaded from the 3rd party OSGi bundle and this bundle classloader is part of TCCL. 

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


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org