Details
-
Type:
Bug
-
Status: Resolved (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Component/s: cvs-plugin
-
Environment:Jenkins 1.464 on Windows 7 64-bit, 12GB RAM; CVS Plug-in 2.4-SNAPSHOT
-
Similar Issues:
Description
We are getting a java.lang.OutOfMemoryError exception when getting the remote log.
Started by an SCM change
Building in workspace C:\x\workspace\project_name_here
cvs checkout -r BRANCH_NAME_HERE -D 16 May 2012 23:27:38 -0700 -d path\projects path/projects
cvs checkout: Updating path\projects
cvs checkout: Updating path\projects/dir1
cvs checkout: Updating path\projects/dir2/dirA
... (about 7,224 directories) ...
cvs checkout: Updating path\projects/dirN
cvs rlog: Logging path\projects
... (about 7,224 directories) ...
cvs rlog: Logging path\projects/dirN
FATAL: Java heap space
java.lang.OutOfMemoryError: Java heap space
at java.lang.StringCoding$StringDecoder.decode(Unknown Source)
at java.lang.StringCoding.decode(Unknown Source)
at java.lang.StringCoding.decode(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at java.io.ByteArrayOutputStream.toString(Unknown Source)
at hudson.scm.CVSSCM.getRemoteLogForModule(CVSSCM.java:540)
at hudson.scm.CVSSCM.calculateChangeLog(CVSSCM.java:415)
at hudson.scm.CVSSCM.checkout(CVSSCM.java:825)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1218)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:586)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:475)
at hudson.model.Run.run(Run.java:1434)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:239)
Some notes:
- The path/ and path\ comes from the "Remote Name"/"Local Name" settings solution from Issue
JENKINS-13264 - We are using Jenkins 1.464 with the 2.4-SNAPSHOT version of the CVS plugin, but may not have been caused by this specific version
- The arguments setting in the jenkins.xml file currently has -Xms1024m (anything larger and Jenkins service won't start)
- The CVS module has many legacy projects spread out, and thus, contains more than 7,000 directories and many more files
- Things had worked with the 1.6 plug-in & CVSNT client, but it also occasionally timed out getting the changelog, hence our testing of the 2.x plug-ins
We expect an upgrade of cvs plugin with a shorter interval of changelog. However the result is that the upgraded version (2.x) takes much longer. If we want to use the upgraded one, we have to turn off the changelog feature.