[
https://issues.apache.org/jira/browse/OPENJPA-1095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12991019#comment-12991019
]
Dominik Stadler commented on OPENJPA-1095:
------------------------------------------
FWIW, I actually don't believe that this was caused by OpenJDK. I have the same
error and no OpenJDK at all. I think this is caused by EMMA code coverage
having instrumented the .class-file before trying to enhance. Because if I turn
it off it works! Also
http://www.jroller.com/ThoughtPark/entry/code_coverage_openjpa_and_netbeans
talks about similar things.
Note that e.g. TeamCity has built-in support for emma which instruments all
code during compiling, thus causing this issue even if the project does not
have added emma-code-coverage to the build files.
I have reported this to the serp-bugtracker at
https://sourceforge.net/tracker/?func=detail&aid=3173611&group_id=31479&atid=402282
to see if we can get it resolved there.
> java.lang.IllegalArgumentException: 5 on trying to enhance class on OpenJDK 6
> -----------------------------------------------------------------------------
>
> Key: OPENJPA-1095
> URL: https://issues.apache.org/jira/browse/OPENJPA-1095
> Project: OpenJPA
> Issue Type: Bug
> Components: UnenhancedClasses
> Affects Versions: 1.2.0
> Environment: java version "1.6.0_0", OpenJDK Runtime Environment
> (build 1.6.0_0-b11), OpenJDK Client VM (build 1.6.0_0-b11, mixed mode,
> sharing)
> Debian Lenny 5.0.1
> Reporter: Marc Logemann
> Fix For: 2.0.0-M3
>
>
> Getting the following stack when trying to enhance classes on a openJDK 6
> server via automatic ant triggering by build system.
> [15:06:10]: [jpaenhance] openjpac
> [15:06:11]: [openjpac] java.lang.IllegalArgumentException: 5
> [15:06:11]: [openjpac] at serp.bytecode.Code.getInstruction(Code.java:2131)
> [15:06:11]: [openjpac] at serp.bytecode.Local.getEnd(Local.java:113)
> [15:06:11]: [openjpac] at serp.bytecode.Local.updateTargets(Local.java:155)
> [15:06:11]: [openjpac] at
> serp.bytecode.LocalTable.updateTargets(LocalTable.java:163)
> [15:06:11]: [openjpac] at serp.bytecode.Code.read(Code.java:2031)
> [15:06:11]: [openjpac] at
> serp.bytecode.Attributes.readAttributes(Attributes.java:152)
> [15:06:11]: [openjpac] at serp.bytecode.BCMember.read(BCMember.java:365)
> [15:06:11]: [openjpac] at serp.bytecode.BCClass.read(BCClass.java:123)
> [15:06:11]: [openjpac] at serp.bytecode.BCClass.read(BCClass.java:144)
> [15:06:11]: [openjpac] at serp.bytecode.Project.loadClass(Project.java:139)
> [15:06:11]: [openjpac] at
> org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4491)
> [15:06:11]: [openjpac] at
> org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
> [15:06:11]: [openjpac] at
> org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
> [15:06:11]: [openjpac] at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> [15:06:11]: [openjpac] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> [15:06:11]: [openjpac] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> [15:06:11]: [openjpac] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [15:06:11]: [openjpac] at java.lang.reflect.Method.invoke(Method.java:616)
> [15:06:11]: [openjpac] at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
> [15:06:11]: [openjpac] at org.apache.tools.ant.Task.perform(Task.java:348)
> [15:06:11]: [openjpac] at org.apache.tools.ant.Target.execute(Target.java:357)
> [15:06:11]: [openjpac] at
> org.apache.tools.ant.Target.performTasks(Target.java:385)
> [15:06:11]: [openjpac] at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
> [15:06:11]: [openjpac] at
> org.apache.tools.ant.Project.executeTarget(Project.java:1306)
> [15:06:11]: [openjpac] at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> [15:06:11]: [openjpac] at
> org.apache.tools.ant.Project.executeTargets(Project.java:1189)
> [15:06:11]: [openjpac] at org.apache.tools.ant.Main.runBuild(Main.java:758)
> [15:06:11]: [openjpac] at org.apache.tools.ant.Main.startAnt(Main.java:217)
> [15:06:11]: [openjpac] at
> org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
> [15:06:11]: [openjpac] at
> org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> [15:06:11]: [openjpac] java.lang.IllegalArgumentException: 5
> [15:06:16]: Ant output:
> at serp.bytecode.Local.updateTargets(Local.java:155)
> at serp.bytecode.LocalTable.updateTargets(LocalTable.java:163)
> at serp.bytecode.Code.read(Code.java:2031)
> at serp.bytecode.Attributes.readAttributes(Attributes.java:152)
> at serp.bytecode.BCMember.read(BCMember.java:365)
> at serp.bytecode.BCClass.read(BCClass.java:123)
> at serp.bytecode.BCClass.read(BCClass.java:144)
> at serp.bytecode.Project.loadClass(Project.java:139)
> at org.apache.openjpa.enhance.PCEnhancer.run(PCEnhancer.java:4491)
> at org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:89)
> at org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:172)
> at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:616)
> at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
> at org.apache.tools.ant.Task.perform(Task.java:348)
> at org.apache.tools.ant.Target.execute(Target.java:357)
> at org.apache.tools.ant.Target.performTasks(Target.java:385)
> at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
> at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
> at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
> at org.apache.tools.ant.Main.runBuild(Main.java:758)
> at org.apache.tools.ant.Main.startAnt(Main.java:217)
> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> Ant Task for enhancing:
> <target name="jpaenhance">
> <!-- define the openjpac task; this can be done at the top of the
> -->
> <!-- build.xml file, so it will be available for all targets -->
> <taskdef name="openjpac"
> classname="org.apache.openjpa.ant.PCEnhancerTask"
> classpathref="classpath"/>
> <!-- invoke enhancer on all .java files below the model directory -->
> <openjpac>
> <config propertiesFile="web/META-INF/persistence.xml"/>
> <fileset dir="${build.dir}">
> <include name="**/domain/*.class"/>
> <include name="**/domain/connection/*.class"/>
> </fileset>
> <classpath refid="classpath"/>
> </openjpac>
> </target>
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira