[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