[ 
https://issues.jenkins-ci.org/browse/JENKINS-13814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=163235#comment-163235
 ] 

Michael Clarke commented on JENKINS-13814:
------------------------------------------

The issue is being caused by the CVS rlog command not having any filters set so 
returning headers for every file within the module. This will affect any 
repository with a lot of files in it (both active files and those in the attic) 
and is most likely to result in an out of memory error at the point the byte 
array the log is created in is converted to a String). I'm going to be 
committing a change tonight that sets filters so should prevent this issue.
                
> java.lang.OutOfMemoryError exception when getting the remote log
> ----------------------------------------------------------------
>
>                 Key: JENKINS-13814
>                 URL: https://issues.jenkins-ci.org/browse/JENKINS-13814
>             Project: Jenkins
>          Issue Type: Bug
>          Components: cvs
>         Environment: Jenkins 1.464 on Windows 7 64-bit, 12GB RAM; CVS Plug-in 
> 2.4-SNAPSHOT
>            Reporter: James Gustafson
>              Labels: cvs, exception, memory
>
> We are getting a java.lang.OutOfMemoryError exception when getting the remote 
> log.
> {quote}
> 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)
> {quote}
> 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

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to