commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Brosius (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BCEL-173) ClassParser fails to parse JDK classes in Java 8: ClassFormatException: Invalid byte tag in constant pool
Date Wed, 01 Jun 2016 05:49:13 GMT

    [ https://issues.apache.org/jira/browse/BCEL-173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15309323#comment-15309323
] 

Dave Brosius commented on BCEL-173:
-----------------------------------

Some people expressed concern that we were breaking compatibility with 
JDK support, and so the thought was that a bunch of code would need to 
be rolled back. I'm not sure why that matters, we've already changed the 
package structure so there is no conflict. But that is where we are.

There hasn't been a large amount of testing on it. Findbugs is the 
primary tester of it, and they have been running with a forked version 
(who's changes are now in bcel trunk), so there's that proof of 
correctness at least.

I'd release it myself, otherwise, there's no point, if it goes any further.

--dave




> ClassParser fails to parse JDK classes in Java 8: ClassFormatException: Invalid byte
tag in constant pool
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: BCEL-173
>                 URL: https://issues.apache.org/jira/browse/BCEL-173
>             Project: Commons BCEL
>          Issue Type: Bug
>    Affects Versions: 5.0, 5.1, 5.2
>            Reporter: David Carr
>            Assignee: Michael Osipov
>             Fix For: 6.0
>
>         Attachments: bcel-bug.tgz, bceltestcase.zip
>
>
> See attached sample project that reproduces the failure.  On Java 7, it prints info about
the ConcurrentMap class.  On Java 8, it encounters the following exception:
> {code}
> Exception in thread "main" org.apache.bcel.classfile.ClassFormatException: Invalid byte
tag in constant pool: 18
> 	at org.apache.bcel.classfile.Constant.readConstant(Constant.java:146)
> 	at org.apache.bcel.classfile.ConstantPool.<init>(ConstantPool.java:67)
> 	at org.apache.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:222)
> 	at org.apache.bcel.classfile.ClassParser.parse(ClassParser.java:136)
> 	at TestMain.main(TestMain.java:11)
> {code}
> To use the sample project, extract it and then run "./gradlew clean run".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message