[jboss-jira] [JBoss JIRA] (JASSIST-248) Constant pool index 268 is invalid

Laurent Pellegrino (JIRA) issues at jboss.org
Mon Jul 13 05:16:04 EDT 2015


Laurent Pellegrino created JASSIST-248:
------------------------------------------

             Summary: 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


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.3.15#6346)


More information about the jboss-jira mailing list