Community
Participate
Working Groups
I'll attach full console log and ant script used to invoke it, but tried to use the "comparator" feature while doing a p2 mirror operation, but it fails with Caused by: java.lang.IllegalArgumentException at org.eclipse.equinox.p2.internal.repository.comparator.java.Signature.appendTypeSignature(Signature.java:815) BTW, I tried with Java 5 and 6 (to run the code) and originally with 3.6 level code, but then moved up to M20100909 build, all with same result (except last case also threw segment fault, after the exception, which I assume is unrelated).
Created attachment 178771 [details] console log showing the exception
Created attachment 178772 [details] ant script used to invoke operation (just in case related)
setting to major, since this basically prevents use of the function. Note, even if there is some error in our byte codes that cause this (which would be bad all by itself) there's no way to tell which bundle it is failing on). Maybe I'll try there -verbose flag.
verbose did help diagnose the specific bundle involved. I said "mirroring ... org.eclipse.jpt.eclipselink.ui" right before the exception occurred. I ran again with that bundle excluded, and it ran to completion. <exclude> <artifact id="org.eclipse.jpt.eclipselink.ui" /> </exclude>
Neil, added you for awareness, since involved org.eclipse.jpt.eclipselink.ui. At this point, I'm not sure if old (released) version that has the "odd" signature, or the new (about to be released) version, or both. In either case, there's no indication (from what I know right now) that there's anything "invalid" about it ... could be a real bug in comparator? as far as I know. So, awareness only at this point ... but, might not hurt to have someone peek at it? :)
The first test was comparing WTP 3.2.1 to our about to be released 3.2.2. To expand the test, I tried our WTP 3.2.0 release (from June) compared to 3.2.1 (our July release) and had same problem with org.eclipse.jpt.eclipselink.ui. But then I tried WTP 3.2.0 vs. our 3.2.2 build, and the exception occurred on org.eclipse.jpt.ui (before it got to eclipselink.ui) ... very mysterious (to me).
This is like bug 325311. We will need to catch the exception and report a class format problem. Also need to figure out if this is a real problem with the .class file, or a bug in the disassembler. David can you get the original jars that caused both this and bug 325311?
Created attachment 181221 [details] one problematic jar, from WTP 3.2.2 release This is one of the problematic jars, as far as I can tell. Hopefully you can find the needle in this haystack ... if not, I can try and reproduce the problem (stop excluding the jar) if that would help narrow down the specific class or something.
The problem class file is org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkConvertComposite$7.class
I am investigating.
This is a bug in the Signature class. I have a fix for it.
Created attachment 181291 [details] Proposed fix
Created attachment 181311 [details] Proposed fix Improve previous patch to better handle corrupted .class files. See bug 325311 for a case with a corrupted .class file.
Patch released to head. Thanks Olivier.