Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.4
-
None
-
None
-
MVN 3.0.4, Multi-Module Project, Win 7 Pro SP1 64 Bit, JDK 7u51
Description
Scenario: Multi-Module project. Submodule A packs A.zip using "single" goal. Submodule B packs B.zip using "single" goal. Submodule C has dependency on A, using "unpack" goal of maven-dependency-plugin. Running with -T 1 works well all the time. Running with -T 2C or higher threads count sporadically fails with EOFException (cannot unpack due to end of ZIP).
Workaround: We noticed that all works pretty well if A and B do not use the same <id> in the assembly descriptor. The bug really only happens if submodules A and B use THE SAME <id> while running with more than one thread!
It looks like the assembly plugin is using assembly <id> in a global namespace throughout the global reactor, while the typical assumption of the separate authors of A and B subprojects is that they do not have to negotiate upon different IDs, as the IDs is expected to be an extension to the artifact – and obviously A and B do NOT share the same artifact!
Hence, we think it is a bug in the assembly plugin. It must not assume that <id> is globally unique, but it must keep it relative to <groupId><artifactId> combination to work safely in multi-threaded environments!
Attachments
Issue Links
- is related to
-
MASSEMBLY-684 Parallel Execution w Custom Assembly Descriptor Fails
- Closed