Issue Details (XML | Word | Printable)

Key: NUCMAVEN-47
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Marco Schulze
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
DataNucleus Tools : Maven plugin

Exception (Error 87 - commandline too long) when starting the enhancer in forked mode

Created: 25/Mar/14 04:14 PM   Updated: 01/Apr/14 10:17 AM   Resolved: 25/Mar/14 05:14 PM
Component/s: None
Affects Version/s: 2.0.0.m1, 2.0.0.m2, 2.0.0.m3, 2.0.0.release, 3.0.0.m1, 3.0.0.m2, 3.0.0.release, 3.0.1, 3.1.0.m2, 3.1.0.m3, 3.1.0.release, 3.1.1, 3.1.2, 3.1.3, 3.2.0.m1, 3.2.0.m2, 3.2.0.m3, 3.2.0.release, 3.3.0.m1, 3.3.0.release, 3.3.1, 3.3.2, 4.0.0.m1
Fix Version/s: 4.0.0.m2


 Description  « Hide
The same problem reported in NUCACCECLIPSE-11 affects Maven, too.

In the Maven build, it is easily possible to disable forking (<configuration><fork>false</fork></configuration>) to prevent this problem. This, however causes the perm-gen-space memory consumption to increase significantly - especially when building a huge multi-project project. It is then necessary to either increase the perm-gen-space or to enable garbage-collection of the perm-gen-space (or both).

We should use the same new mechanism (=> "-lfl <fileListFile>" argument) that we introduced for the Eclipse plug-in here in the Maven plug-in.

This should - of course - be configurable. If (easily) possible, the new setting should be true on Windows and false on other systems.

Marco Schulze added a comment - 25/Mar/14 05:14 PM
Fixed in 4.0.0-m2-SNAPSHOT, thus 4.0.0-m2 should contain it. It seems, I cannot create new versions, hence I set 4.0.0.release as "Fix Version".

There is now the new configuration element "useFileListFile":

  <configuration>
    <fork>true</fork>
    <useFileListFile>true</useFileListFile>
  </configuration>

"useFileListFile" is - of course - only taken into account, if fork=true, which is the default (I only added it above to highlight).

There are three possible values for useFileListFile: true, false, auto

The first 2 should be clear. "auto" means currently to use "true" on Windows and "false" on all other systems.

However, because the command line has limits on all systems - see http://www.cyberciti.biz/faq/argument-list-too-long-error-solution/ -, we might change the meaning of "auto" later to sth. more intelligent. Btw., on my GNU/Linux, "getconf ARG_MAX" tells me that my command line has a limit of 2 MB.

Marco Schulze made changes - 25/Mar/14 05:14 PM
Field Original Value New Value
Status Open [ 1 ] Resolved [ 5 ]
Fix Version/s 4.0.0.release [ 12127 ]
Resolution Fixed [ 1 ]
Andy Jefferson added a comment - 31/Mar/14 04:58 PM
Updated version to what it should be

Andy Jefferson made changes - 31/Mar/14 04:58 PM
Fix Version/s 4.0.0.m2 [ 12150 ]
Fix Version/s 4.0.0.release [ 12127 ]
Andy Jefferson made changes - 01/Apr/14 10:17 AM
Status Resolved [ 5 ] Closed [ 6 ]