Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 316412 - ecoretools breaks repo build with bad packed file
Summary: ecoretools breaks repo build with bad packed file
Status: RESOLVED FIXED
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: Cross-Project (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: Ed Merks CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-10 00:17 EDT by David Williams CLA
Modified: 2010-06-10 13:01 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Williams CLA 2010-06-10 00:17:23 EDT
I've removed ecoretools for RC4 common repo. It failed again, even after Ed reverting to RC3 level. I wonder if some other part of EMF build "corrupts" part of the repo? Just guessing. 

The following error occured when building Helios:

org.eclipse.core.runtime.CoreException: Unable to unpack artifact osgi.bundle,org.eclipse.emf.ecoretools,0.10.0.v20100609-1204 in repository file:/shared/helios/aggregation/final/aggregate: Unpacking fails because intermediate file is empty: /tmp/work31955/p2.optimizers.incoming31954.jar

Check the log file for more information: https://build.eclipse.org/hudson/view/Repository%20Aggregation/job/helios.runAggregator/199/console
Comment 1 David Williams CLA 2010-06-10 00:18:59 EDT
Oh, and meant to say even though I removed it, not sure what downstream breakage, if any that will cause ... so not sure I'm solving anything.
Comment 2 Cedric Brun CLA 2010-06-10 02:56:40 EDT
This component is a end user tool and nobody depends on it, unfortunately the modeling package include this component, David do you think we should remove EcoreTools to make sure we have an RC4 package ?
Comment 3 David Williams CLA 2010-06-10 03:11:05 EDT
Hard for me to know, but I'd lean "yes", but honestly don't now how that's done. The package builds are all ready running ... not sure if markus does them serially, in parallel, if he can re-run just modeling ... so, I'm adding Markus to this bug so he can comment if that's feasible.
Comment 4 Markus Knauer CLA 2010-06-10 03:25:41 EDT
(In reply to comment #3)
> Hard for me to know, but I'd lean "yes", but honestly don't now how that's
> done. The package builds are all ready running ... not sure if markus does them
> serially, in parallel, if he can re-run just modeling ... so, I'm adding Markus
> to this bug so he can comment if that's feasible.

If it is only the package build (i.e. a p2 director call) that needs to be re-run, it is very easy to build a single package - I just need to add the IU that is defining the package as parameter to the build script.

But if we need to re-create the EPP repository (i.e. the metadata and the artifacts used to define the packages) it would be much safer to rebuild *all* packages.

The packages are build in this order - the modeling package being the 6th:
epp.package.cpp epp.package.java epp.package.javascript epp.package.jee epp.package.linuxtools epp.package.modeling epp.package.php epp.package.pulsar epp.package.rcp epp.package.reporting epp.package.soa

Note that I am running the EPP package build currently detached from Hudson.
Comment 5 Michal Ruzicka CLA 2010-06-10 06:12:55 EDT
The problem is that recent Ecore Tools builds were compiled with Java 6, leading to:
/shared/common/ibm-java2-ppc-50/jre/bin/unpack200 /home/data/httpd/download.eclipse.org/modeling/emft/ecoretools/updates/0.10milestones/S201006091204/plugins/org.eclipse.emf.ecoretools_0.10.0.v20100609-1204.jar.pack.gz org.eclipse.emf.ecoretools_0.10.0.v20100609-1204.jar.pack.gz
Corrupted pack file: magic/ver = CAFED00D/160.1 should be CAFED00D/150.7

Previous builds were compiled using Java 5. We switched to Java 6 in order to be able to run JUnit tests (which require GUI) during our build. When building with 32bit Java 5 we were hit by bug #295394. The easiest solution was to switch to 64bit java (as the 64bit libraries don't seem to suffer from the problem) and when making the switch I opted for the latest available i.e. Java 6.
I'm sorry for the troubles it caused, I really didn't anticipate such consequences.

I'm going to make sure that the compilation uses Java 5 as compilation target, which should resolve the issue.
Comment 6 Markus Knauer CLA 2010-06-10 09:16:25 EDT
Okay, that explains it but how do we proceed?

Will it be available from Helios with some kind of exception process in the near future, or do we remove it from the Modeling Package?

As of now, the build of the Modeling Package failed as expected:
http://build.eclipse.org/technology/epp/epp_build/36/download/20100610-0703/

Just for myself: Is there a p2 repository available somewhere at eclipse.org that contains a Java 5 compatible build of the Ecore Tools?
Comment 7 Ed Merks CLA 2010-06-10 10:59:12 EDT
We're just spinning an RC4a that avoids this Java 5/6 issue.  I'll post a comment when we've updated the map file after confirming the class files look good.
Comment 8 Ed Merks CLA 2010-06-10 11:29:30 EDT
Michael has helped produce an RC4a build and I've updated the map file to point to it.
Comment 9 Markus Knauer CLA 2010-06-10 12:52:42 EDT
(In reply to comment #8)
> Michael has helped produce an RC4a build and I've updated the map file to point
> to it.

Will this build integrated into Helios? And if so when? With Helios I mean /releases/staging because this is the repository used to build the packages.
Comment 10 David Williams CLA 2010-06-10 13:01:05 EDT
Well, as far as I'm concerned, RC4 is done. 
To be included for either "final build" or respin RC4 ... I'd expect a request to cross-project list, since that is the exception process. 

I'd be inclined to approve what ever Ed wants ... since he did such a good job of completing the compliance table :) 

http://eclipse.org/helios/planning/SimultaneousReleaseGrid.php?projectid=modeling

But, in any case ... please make sure someone from EMF releng is around for a few hours to fix any issues that come up? I don't mind breaks so much as I do break after break after break. 

And, remember, there is no guarantee a "respin" would actually work right away. Someone might have (mistakenly) changed something in some other repo. (Hence part of the reason for coordination on cross-project list).