ArrayIndexOutOfBoundsException in aQute.lib.osgi.Clazz.parseClassFile ---------------------------------------------------------------------
Key: FELIX-723 URL: https://issues.apache.org/jira/browse/FELIX-723 Project: Felix Issue Type: Bug Components: Maven Bundle Plugin Environment: MacOSX Reporter: Brad Cox > I integrated the recommended changes (pom enclosed below) but that > com.ibm.icu error turned up again. Bad chinese locale class out there > somewhere? com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class. Seems to be triggered by <Embed-Dependency>*;scope=compile|runtime;inline=true</Embed-Dependency>. At least removing that eliminates the symptom. I'll work towards a small test case once I understand this a bit better. This bug is ephemeral so I want to capture what I have first. I tried erasing it in .m2 but that didn't help. POM and stacktrace below <?xml version="1.0" encoding="UTF-8"?> > <project > xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd" > > > > <modelVersion>4.0.0</modelVersion> > <groupId>soakit</groupId> > <artifactId>soakit.core</artifactId> > <version>1.0-SNAPSHOT</version> > <name>soakit.core</name> > <description>SoaKit Core Abstraction Layer. Defines interfaces and > abstract classes for the components defined in sub-modules. Provides a > service (factory class) for defining soakit composites with an XML > configuration file.</description> > > <packaging>bundle</packaging> > > <parent> > <groupId>soakit</groupId> > <artifactId>soakit</artifactId> > <version>1.0-SNAPSHOT</version> > </parent> > > <dependencies> > <dependency> > <groupId>commons-collections</groupId> > <artifactId>commons-collections</artifactId> > <version>3.2</version> > </dependency> > <dependency> > <groupId>jdom</groupId> > <artifactId>jdom</artifactId> > <version>1.0</version> > </dependency> > <!-- > <dependency> > <groupId>javax.xml.parsers</groupId> > <artifactId>jaxp-api</artifactId> > <version>1.4</version> > </dependency> > <dependency> > <groupId>javax.xml.ws</groupId> > <artifactId>jaxws-api</artifactId> > <version>2.1-1</version> > </dependency> > <dependency> > <groupId>xerces</groupId> > <artifactId>xercesImpl</artifactId> > <version>2.8.1</version> > </dependency> > <dependency> > <groupId>org.eclipse</groupId> > <artifactId>osgi</artifactId> > <version>3.4.0.v20080605-1900</version> > </dependency> > <dependency> > <groupId>jaxen</groupId> > <artifactId>jaxen</artifactId> > <version>1.1-beta-9</version> > </dependency> > --> > </dependencies> > > <build> > <resources> > <resource> > <directory>src/main/resources</directory> > </resource> > <resource> > <directory>.</directory> > <includes> > <include>plugin.xml</include> > </includes> > </resource> > </resources> > > <plugins> > <plugin> > <artifactId>maven-eclipse-plugin</artifactId> > <configuration> > <pde>true</pde> > </configuration> > </plugin> > <plugin> > <groupId>org.apache.felix</groupId> > <artifactId>maven-bundle-plugin</artifactId> > <version>1.4.3</version> > <extensions>true</extensions> > <configuration> > <unpackBundle>true</unpackBundle> > <manifestLocation>META-INF</manifestLocation> > <instructions> > <Bundle-Version>${pom.version}</Bundle-Version> > <Bundle-Name>${artifactId}</Bundle-Name> > <Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName> > <Bundle-Description>Soakit > Core Bundle</Bundle-Description> > > <Bundle-Activator>com.gestalt.soakit.core.CoreActivator</Bundle-Activator> > > <Embed-Dependency>*;scope=compile|runtime;inline=true</Embed-Dependency> > > <Embed-Transitive>true</Embed-Transitive> > <Embed-Directory>target/dependency</Embed-Directory> > > <Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment> > <Import-Package> > *, > <!-- > > org.apache.commons.collections.*;version="3.2" > > org.apache.commons.collections.iterators.*;version="3.2", > > org.jdom;version="1.0", > > org.jdom.*;version="1.0", > > org.jdom.input.*;version="1.0", > > org.jdom.output.*;version="1.0", > > org.apache.xerces.parsers, > javax.*, > javax.jws.*, > javax.xml.bind.*, > javax.annotation.*, > javax.xml.soap.*, > javax.xml.stream.*, > javax.activation.*, > --> > </Import-Package> > <Export-Package> > ., > > com.gestalt.soakit.core.*, > > org.jdom;version="1.0", > > org.jdom.*;version="1.0", > > org.jdom.input.*;version="1.0", > > org.jdom.output.*;version="1.0", > <!-- > > org.apache.commons.collections.*;version="3.2", > > org.apache.commons.collections.iterators.*;version="3.2", > > org.apache.xerces.parsers.*, > javax.*, > javax.jws.*, > javax.xml.bind, > javax.annotation, > javax.xml.soap, > javax.xml.stream, > javax.activation, > > --> > </Export-Package> > </instructions> > </configuration> > </plugin> > <!-- > <plugin> > <groupId>org.apache.maven.plugins</groupId> > > <artifactId>maven-eclipse-plugin</artifactId> > <configuration> > > <projectNameTemplate>[artifactId]-[version]</projectNameTemplate> > <wtpmanifest>true</wtpmanifest> > > <wtpapplicationxml>true</wtpapplicationxml> > <wtpversion>2.0</wtpversion> > > <manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF</manifest> > </configuration> > </plugin> > --> > </plugins> > <extensions> > </extensions> > </build> > </project> > > > > To reproduce, with the enclosed pom. > > mvn clean > > mvn pde:clean -Dverbose # to be "safe" > > mvn eclipse:clean -Dverbose # to be "safe" > > mvn -e install > > > > + Error stacktraces are turned on. > > [INFO] Scanning for projects... > > [INFO] Reactor build order: > > [INFO] soakit root pom > > [INFO] soakit.core > > [INFO] soakit.main > > [INFO] soakit.port > > [INFO] soakit.port.file > > [INFO] soakit.port.http > > [INFO] soakit.transform > > [INFO] soakit.transform.identity > > [INFO] soakit.transform.log > > [INFO] soakit.transform.pep > > [INFO] soakit.transform.xsl > > [INFO] soakit.component > > [INFO] soakit.test > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Building soakit root pom > > [INFO] task-segment: [install] > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] [site:attach-descriptor] > > [INFO] [install:install] > > [INFO] Installing /SoftwareDevelopment/soakit/pom.xml to > > /Users/bradcox/.m2/repository/soakit/soakit/1.0-SNAPSHOT/soakit-1.0-SNAPSHOT.pom > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Building soakit.core > > [INFO] task-segment: [install] > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] [resources:resources] > > [INFO] Using default encoding to copy filtered resources. > > [INFO] [compiler:compile] > > [INFO] Nothing to compile - all classes are up to date > > [INFO] [resources:testResources] > > [INFO] Using default encoding to copy filtered resources. > > [INFO] [compiler:testCompile] > > [INFO] No sources to compile > > [INFO] [surefire:test] > > [INFO] No tests to run. > > [INFO] [bundle:bundle] > > java.lang.ArrayIndexOutOfBoundsException: 60 > > at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:130) > > at aQute.lib.osgi.Clazz.<init>(Clazz.java:65) > > at aQute.lib.osgi.Processor.analyzeJar(Processor.java:159) > > at > > aQute.lib.osgi.Processor.analyzeBundleClasspath(Processor.java:77) > > at aQute.lib.osgi.Analyzer.analyze(Analyzer.java:194) > > at aQute.lib.osgi.Builder.analyze(Builder.java:95) > > at aQute.lib.osgi.Analyzer.calcManifest(Analyzer.java:293) > > at aQute.lib.osgi.Builder.build(Builder.java:45) > > at > > org.apache.felix.bundleplugin.BundlePlugin.buildOSGiBundle(BundlePlugin.java:391) > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:273) > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:227) > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:218) > > at > > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142) > > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) > > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) > > at org.apache.maven.cli.MavenCli.main(MavenCli.java:287) > > 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:585) > > 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) > > java.lang.ArrayIndexOutOfBoundsException: 60 > > at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:130) > > at aQute.lib.osgi.Clazz.<init>(Clazz.java:65) > > at aQute.lib.osgi.Processor.analyzeJar(Processor.java:159) > > at > > aQute.lib.osgi.Processor.analyzeBundleClasspath(Processor.java:77) > > at aQute.lib.osgi.Verifier.verify(Verifier.java:354) > > at aQute.lib.osgi.Builder.doVerify(Builder.java:216) > > at aQute.lib.osgi.Builder.build(Builder.java:52) > > at > > org.apache.felix.bundleplugin.BundlePlugin.buildOSGiBundle(BundlePlugin.java:391) > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:273) > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:227) > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:218) > > at > > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142) > > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) > > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) > > at org.apache.maven.cli.MavenCli.main(MavenCli.java:287) > > 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:585) > > 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) > > [WARNING] Warning building bundle soakit:soakit.core:bundle:1.0-SNAPSHOT : > > Instructions for Export-Package that are never used: > > org\.jdom\.input\..*|org\.jdom\.input, > > org\.jdom\.output\..*|org\.jdom\.output, \. > > [WARNING] Warning building bundle soakit:soakit.core:bundle:1.0-SNAPSHOT : > > Superfluous export-package instructions: [., org.jdom.input.*, > > org.jdom.output.*] > > [ERROR] Error building bundle soakit:soakit.core:bundle:1.0-SNAPSHOT : > > Invalid class file: com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class 60 > > [ERROR] Error building bundle soakit:soakit.core:bundle:1.0-SNAPSHOT : > > Invalid class file: com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class 60 > > [ERROR] Error building bundle soakit:soakit.core:bundle:1.0-SNAPSHOT : > > Unresolved references to [.] by class(es) on the Bundle-Classpath[Jar:dot]: > > [JDOMAbout$Info.class, JDOMAbout.class, JDOMAbout$Author.class] > > [ERROR] Error(s) found in bundle configuration > > [INFO] > > ------------------------------------------------------------------------ > > [ERROR] BUILD ERROR > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Error(s) found in bundle configuration > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Trace > > org.apache.maven.lifecycle.LifecycleExecutionException: Error(s) found in > > bundle configuration > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:583) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142) > > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) > > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) > > at org.apache.maven.cli.MavenCli.main(MavenCli.java:287) > > 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:585) > > 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: Error(s) found > > in bundle configuration > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:344) > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:227) > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:218) > > at > > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451) > > at > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558) > > ... 16 more > > Caused by: org.apache.maven.plugin.MojoFailureException: Error(s) found in > > bundle configuration > > at > > org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:296) > > ... 20 more > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Total time: 7 seconds > > [INFO] Finished at: Thu Sep 11 17:15:15 EDT 2008 > > [INFO] Final Memory: 17M/254M > > [INFO] > > ------------------------------------------------------------------------ -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.