As I'm interested in BCEL I thought I would do a little further
investigation of this problem.
Of the 3 URLS given above,
https://bugs.eclipse.org/bugs/show_bug.cgi?id=62631
is the most useful - it identifies the failing line of code in BCEL. The
following URL gives the change made by the BCEL author to fix the problem:
http://svn.apache.org/viewvc/jakarta/bcel/trunk/src/main/java/org/apache/bcel/generic/LDC_W.java?r1=152856r2=152900
---
jakarta/bcel/trunk/src/java/org/apache/bcel/generic/LDC_W.java 2003/05/23
07:55:36152856
+++
jakarta/bcel/trunk/src/java/org/apache/bcel/generic/LDC_W.java 2004/11/09
20:02:42152900
@@ -84,5 +84,6 @@
setIndex(bytes.readUnsignedShort());
// Override just in case it has been changed
opcode = org.apache.bcel.Constants.LDC_W;
+length = 3;
}
}
(This is slightly different from the suggestion made by the AspectJ
developers).
I have verified that this fix has been incorporated in the latest release
of BCEL (5.2), so presumably we could close this bug by packaging the new
upstream release.