Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 94632 invoked from network); 21 Sep 2006 09:45:04 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Sep 2006 09:45:04 -0000 Received: (qmail 69085 invoked by uid 500); 21 Sep 2006 09:45:00 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 69052 invoked by uid 500); 21 Sep 2006 09:45:00 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 69041 invoked by uid 99); 21 Sep 2006 09:45:00 -0000 Received: from idunn.apache.osuosl.org (HELO idunn.apache.osuosl.org) (140.211.166.84) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Sep 2006 02:45:00 -0700 Authentication-Results: idunn.apache.osuosl.org smtp.mail=rickmcg@gmail.com; spf=pass Authentication-Results: idunn.apache.osuosl.org header.from=rickmcg@gmail.com; domainkeys=good X-ASF-Spam-Status: No, hits=0.5 required=5.0 tests=DNS_FROM_RFC_ABUSE Received-SPF: pass (idunn.apache.osuosl.org: domain gmail.com designates 66.249.82.227 as permitted sender) DomainKey-Status: good X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 Received: from [66.249.82.227] ([66.249.82.227:18829] helo=wx-out-0506.google.com) by idunn.apache.osuosl.org (ecelerity 2.1.1.8 r(12930)) with ESMTP id 45/56-04092-71F52154 for ; Thu, 21 Sep 2006 02:44:55 -0700 Received: by wx-out-0506.google.com with SMTP id i27so588770wxd for ; Thu, 21 Sep 2006 02:44:49 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:user-agent:mime-version:to:subject:content-type:content-transfer-encoding; b=Q/Kqam1i+kH8V6M9pK4YsptxpHnCcNM3pXHnBIh8Cxs6pMmO/GZlJHTyfFbo7ZHijQ2dAxCdge9P+ov4T//6UdXNLhPNdi9CaOg9gfHygnzQ81HKwOXzZXZO34BFYFmPAF9Lp/K1GdH1yTD7lBxHKrv9V1mikVkaWVzg7HQbMOY= Received: by 10.70.125.2 with SMTP id x2mr16834701wxc; Thu, 21 Sep 2006 02:44:45 -0700 (PDT) Received: from ?192.168.1.101? ( [68.191.49.248]) by mx.gmail.com with ESMTP id 9sm1922184wrl.2006.09.21.02.44.44; Thu, 21 Sep 2006 02:44:44 -0700 (PDT) Message-ID: <45125F23.90405@gmail.com> Date: Thu, 21 Sep 2006 05:45:07 -0400 From: Rick McGuire Reply-To: rickmcg@gmail.com User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) MIME-Version: 1.0 To: Geronimo Dev Subject: Puzzling class loading problem [long] Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N I've got a class loading problem during the build that's driving me nuts. I need to give a bit of background info first, so bear with me. The situation: I'm trying to get Geronimo to build with one set of client/j2ee configs that use the Yoko ORB, and one set using the Sun ORB. I got the existing configs converted to the Yoko ORB and building, and now I'm working on a set of configs for the Sun ORB. To do this, I made new client-corba and j2ee-corba configs. The endorsed classes are placed on the classpath in j2ee-system and client-system, so I needed to create sun-specific configs for these two, plus client, server, client-security, and j2ee-security. The changes are very minimal. The *-system pom.xml files just remove the yoko class path dependencies, the *-corba jars switch the ORBConfiguration GBean to the sun version. The rest of the changes are just to the artifact ids and parent configs. For example, the only difference between the client-sun and client configs is the artifact name of "client-sun" and its dependency on "client-system-sun" instead of "client-system". All of this was building cleaning on Tuesday afternoon. On Wednesday morning, I did an svn update to keep up with changes, and now I'm getting a build error due to a class loading problem while trying to build either client-security-sun or j2ee-security-sun. The yoko versions of these build fine. Here's the error: [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] org.apache.geronimo.gbean.InvalidConfigurationException: Could not find getGBeanInfo method on org.apache.geronimo.security.keystore.FileKeystoreManager org/apache/geronimo/util/asn1/x509/X509Name [INFO] ------------------------------------------------------------------------ [DEBUG] Trace org.apache.maven.lifecycle.LifecycleExecutionException: org.apache.geronimo.gbean.InvalidConfigurationException: Could not find getGBeanInfo method on org.apache.geronimo.security.keystore.FileKeystoreManager at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) at org.apache.maven.cli.MavenCli.main(MavenCli.java:256) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.plugin.MojoExecutionException: org.apache.geronimo.gbean.InvalidConfigurationException: Could not find getGBeanInfo method on org.apache.geronimo.security.keystore.FileKeystoreManager at org.apache.geronimo.genesis.MojoSupport.execute(MojoSupport.java:107) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534) ... 16 more Caused by: org.apache.geronimo.common.DeploymentException: org.apache.geronimo.gbean.InvalidConfigurationException: Could not find getGBeanInfo method on org.apache.geronimo.security.keystore.FileKeystoreManager at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:383) at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke() at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855) at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239) at org.apache.geronimo.plugin.car.PackageMojo.invokeDeployer(PackageMojo.java:569) at org.apache.geronimo.plugin.car.PackageMojo.buildPackage(PackageMojo.java:408) at org.apache.geronimo.plugin.car.PackageMojo.doExecute(PackageMojo.java:245) at org.apache.geronimo.genesis.MojoSupport.execute(MojoSupport.java:92) ... 18 more Caused by: org.apache.geronimo.gbean.InvalidConfigurationException: Could not find getGBeanInfo method on org.apache.geronimo.security.keystore.FileKeystoreManager at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java:75) at org.apache.geronimo.deployment.service.GBeanBuilder.addGBeanData(GBeanBuilder.java:109) at org.apache.geronimo.deployment.service.GBeanBuilder.build(GBeanBuilder.java:99) at org.apache.geronimo.deployment.service.GBeanBuilder$$FastClassByCGLIB$$65102f86.invoke() at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:820) at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) at org.apache.geronimo.deployment.NamespaceDrivenBuilder$$EnhancerByCGLIB$$cc62fbab.build() at org.apache.geronimo.deployment.NamespaceDrivenBuilderCollection.build(NamespaceDrivenBuilderCollection.java:82) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:218) at org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration(ServiceConfigBuilder.java:177) at org.apache.geronimo.deployment.service.ServiceConfigBuilder$$FastClassByCGLIB$$9f173be6.invoke() at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:820) at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35) at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) at org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$2c071e7c.buildConfiguration() at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:302) ... 28 more Caused by: java.lang.NoClassDefFoundError: org/apache/geronimo/util/asn1/x509/X509Name at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:1655) at java.lang.Class.getDeclaredMethod(Class.java:1262) at org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java:65) ... 52 more This is a failure to resolve X509Name, which is in the geronimo-util package. I have checked, double-checked, and triple-checked the poms and the plans for all of these configs, and they should have exactly the same dependencies. However, when I build client-security and client-security-sun with the -X option, I'm able to see a difference when it processes the client-system-sun parent configuration: Parent configurations: org.apache.geronimo.configs/client-system-sun/1.2-SNAPSHOT/car ClassPath: file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-security/1.2-SNAPSHOT/geronimo-security-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0.1/geronimo-j2ee-connector_1.5_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-axis/1.2-SNAPSHOT/geronimo-axis-1.2-SNAPSHOT.jar file:/c:/.m2/repository/axis/axis/1.4/axis-1.4.jar file:/c:/.m2/repository/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-javamail_1.3.1_spec/1.2-SNAPSHOT/geronimo-javamail_1.3.1_spec-1.2-SNAPSHOT.jar file:/c:/.m2/repository/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-activation/1.2-SNAPSHOT/geronimo-activation-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-transaction/1.2-SNAPSHOT/geronimo-transaction-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-naming/1.2-SNAPSHOT/geronimo-naming-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.1/geronimo-activation_1.0.2_spec-1.1.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-management/1.2-SNAPSHOT/geronimo-management-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0.1/geronimo-saaj_1.1_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0.1/geronimo-jaxrpc_1.1_spec-1.0.1.jar file:/c:/.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0.1/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0.1/geronimo-j2ee-management_1.0_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar file:/c:/.m2/repository/org/openejb/openejb-core/2.2.1-SNAPSHOT/openejb-core-2.2.1-SNAPSHOT.jar file:/c:/.m2/repository/geronimo-spec/geronimo-spec-corba/1.0/geronimo-spec-corba-1.0.jar file:/c:/.m2/repository/tranql/tranql/1.4-SNAPSHOT/tranql-1.4-SNAPSHOT.jar file:/c:/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar file:/c:/.m2/repository/backport-util-concurrent/backport-util-concurrent/2.2/backport-util-concurrent-2.2.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-j2ee/1.2-SNAPSHOT/geronimo-j2ee-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-connector/1.2-SNAPSHOT/geronimo-connector-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-core/1.2-SNAPSHOT/geronimo-core-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-webservices/1.2-SNAPSHOT/geronimo-webservices-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0.1/geronimo-jaxr_1.0_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-client/1.2-SNAPSHOT/geronimo-client-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar When compared with the client-security build, org.apache.geronimo.configs/client-system/1.2-SNAPSHOT/car ClassPath: file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-security/1.2-SNAPSHOT/geronimo-security-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.0.1/geronimo-j2ee-connector_1.5_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-axis/1.2-SNAPSHOT/geronimo-axis-1.2-SNAPSHOT.jar file:/c:/.m2/repository/axis/axis/1.4/axis-1.4.jar file:/c:/.m2/repository/commons-discovery/commons-discovery/0.2/commons-discovery-0.2.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-javamail_1.3.1_spec/1.2-SNAPSHOT/geronimo-javamail_1.3.1_spec-1.2-SNAPSHOT.jar file:/c:/.m2/repository/wsdl4j/wsdl4j/1.5.2/wsdl4j-1.5.2.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-activation/1.2-SNAPSHOT/geronimo-activation-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-ejb_2.1_spec/1.0.1/geronimo-ejb_2.1_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-util/1.2-SNAPSHOT/geronimo-util-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-naming/1.2-SNAPSHOT/geronimo-naming-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-activation_1.0.2_spec/1.1/geronimo-activation_1.0.2_spec-1.1.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-management/1.2-SNAPSHOT/geronimo-management-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-saaj_1.1_spec/1.0.1/geronimo-saaj_1.1_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxrpc_1.1_spec/1.0.1/geronimo-jaxrpc_1.1_spec-1.0.1.jar file:/c:/.m2/repository/concurrent/concurrent/1.3.4/concurrent-1.3.4.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-jacc_1.0_spec/1.0.1/geronimo-j2ee-jacc_1.0_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-management_1.0_spec/1.0.1/geronimo-j2ee-management_1.0_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.0.1/geronimo-jta_1.0.1B_spec-1.0.1.jar file:/c:/.m2/repository/org/openejb/openejb-core/2.2.1-SNAPSHOT/openejb-core-2.2.1-SNAPSHOT.jar file:/c:/.m2/repository/geronimo-spec/geronimo-spec-corba/1.0/geronimo-spec-corba-1.0.jar file:/c:/.m2/repository/tranql/tranql/1.4-SNAPSHOT/tranql-1.4-SNAPSHOT.jar file:/c:/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-j2ee/1.2-SNAPSHOT/geronimo-j2ee-1.2-SNAPSHOT.jar file:/c:/.m2/repository/backport-util-concurrent/backport-util-concurrent/2.2/backport-util-concurrent-2.2.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-core/1.2-SNAPSHOT/geronimo-core-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-webservices/1.2-SNAPSHOT/geronimo-webservices-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jaxr_1.0_spec/1.0.1/geronimo-jaxr_1.0_spec-1.0.1.jar file:/c:/.m2/repository/org/apache/geronimo/modules/geronimo-client/1.2-SNAPSHOT/geronimo-client-1.2-SNAPSHOT.jar file:/c:/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.0.1/geronimo-jms_1.1_spec-1.0.1.jar I see that the client-security-sun config is missing the geronimo-util jar file from the classpath, but is including geronimo-transaction and geronimo-connector, which the don't appear on the client-security classpath. I'm at a complete loss to explain why these are different. These configs should be using the same set of dependencies except for the yoko jars, but they're somehow ending up with different classpaths. I'm grasping at straws on this one now, so any suggestions are greatly appreciated. Rick