[jboss-jira] [JBoss JIRA] (JASSIST-248) Constant pool index 268 is invalid
Laurent Pellegrino (JIRA)
issues at jboss.org
Mon May 2 05:12:00 EDT 2016
[ https://issues.jboss.org/browse/JASSIST-248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13199532#comment-13199532 ]
Laurent Pellegrino commented on JASSIST-248:
--------------------------------------------
[~chiba] I had time to test the fix you mentioned. It solves the issue I was experiencing. Does a new Javassist release is planned soon?
> Constant pool index 268 is invalid
> ----------------------------------
>
> Key: JASSIST-248
> URL: https://issues.jboss.org/browse/JASSIST-248
> Project: Javassist
> Issue Type: Bug
> Affects Versions: 3.19.0-GA
> Reporter: Laurent Pellegrino
> Assignee: Shigeru Chiba
> Labels: regression
> Fix For: 3.21.0-GA
>
> Attachments: _StubLinkedList.class
>
>
> We are using Javassist for one of our open source projects since about 10 years. Recently, I have tried to upgrade to version 3.19 and 3.20. Unfortunately, with both versions, generated byte code seems to cause errors with the JVM.
> Below is the output:
> {code}
> Exception in thread "RestartDownNodesPolicy node status check" java.lang.VerifyError: Illegal type at constant pool entry 268 in class pa.stub.java.util._StubLinkedList
> Exception Details:
> Location:
> pa/stub/java/util/_StubLinkedList.replaceAll(Ljava/util/function/UnaryOperator;)V @43: invokespecial
> Reason:
> Constant pool index 268 is invalid
> Bytecode:
> 0x0000000: 2ab4 00cc 9900 252a b400 0db2 002c 100b
> 0x0000010: 32c0 0028 04bd 00ce 5903 2b53 b200 26b8
> 0x0000020: 00d7 b900 dd02 0057 b12a 2bb7 010c b1
> Stackmap Table:
> same_frame(@41)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:264)
> at org.objectweb.proactive.core.mop.MOP.forName(MOP.java:155)
> at org.objectweb.proactive.core.mop.MOP.findStubConstructor(MOP.java:649)
> at org.objectweb.proactive.core.mop.MOP.createStubObject(MOP.java:822)
> at org.objectweb.proactive.core.mop.MOP.newInstance(MOP.java:338)
> at org.objectweb.proactive.core.mop.MOP.newInstance(MOP.java:196)
> at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reifyAsAsynchronous(AbstractBodyProxy.java:277)
> at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.invokeOnBody(AbstractBodyProxy.java:154)
> at org.objectweb.proactive.core.body.proxy.AbstractBodyProxy.reify(AbstractBodyProxy.java:123)
> at pa.stub.org.ow2.proactive.resourcemanager.nodesource._StubNodeSource.getDownNodes(_StubNodeSource.java)
> at org.ow2.proactive.resourcemanager.nodesource.policy.RestartDownNodesPolicy$1.run(RestartDownNodesPolicy.java:92)
> at java.util.TimerThread.mainLoop(Timer.java:555)
> at java.util.TimerThread.run(Timer.java:505)
> {code}
> The issue seems related to default methods introduced in Java 8. Perhaps its not an issue with Javassist but to be honest I don't understand the exception. However, I have noticed that using Javassist in version 3.18.2 solves the problem.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list