Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 364746

Summary: Apache Lucene Core 3.0.3 is corrupted after packing
Product: [Tools] Orbit Reporter: Robert Wetzold <robert.wetzold>
Component: bundlesAssignee: Orbit Bundles <orbit.bundles-inbox>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3 CC: david_williams
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Robert Wetzold CLA 2011-11-24 14:04:19 EST
After going through the Orbit build some class files of Apache Lucene Core 3.0.3 will be altered and corrupted. The static methods of the inner Field class will not be accessible, e.g. Field.Index & Field.Store

Providing an eclipse.inf file with the directive "jarprocessor.exclude.pack=true" solves the issue.
Comment 1 David Williams CLA 2011-11-25 12:28:35 EST
I think you can close as "fixed". I tried searching the internet for bugs or comments about pack200 and inner classes and didn't find anything too specific. 

If you are interested in details, we purposely use a 1.5 level JRE to pack200 the files (since there's compatibility problems using 1.6, if the bundle contains no .class files ... and we do have a couple of those). Plus, we specify "effort level 4" when we do the pack (-E4) which was recommended long ago, as apparently their are some known issues using the default (-E5). In theory, there might be some specific combination of pack200 options that could be used to avoid the problem ... but, not worth investigating, IMHO. 

Just to cross reference, other cases found in Orbit involved the Xalan bundle, see bug 275122 and more recently we _might_ have found some other cases that should not be packed, as mentioned in bug 364785.