Error on CVS commit: cvs [commit aborted]: out of memory; can not allocate 441235120 bytes

13 views
Skip to first unread message

KM

unread,
Aug 24, 2017, 12:50:45 PM8/24/17
to Cvs-user-list
I am trying to commit a file but am receiving errors as follows:
cvs [commit aborted]: out of memory; can not allocate 441235120 bytes
I have a feeling the file must be too large in the cvs repository. the size is below: 
11269769 1025804 -r--r--r--   1 cvs      cvs      1049389801 Aug 23 19:29 /repository/cvsroot/udn/netForensics/buildinputs/vms/SunJRELinux-x64.vm,v

I would like the history, but more importantly I need to commit the file with this name.   What can I do?If I have to lose the history I will but how can I make this work?
I know it is old as well but cvs is running on a 32 bit linx OS,  "Red Hat Enterprise Linux Server release 5 (Tikanga)".
KM

Thorsten Glaser

unread,
Aug 24, 2017, 4:59:15 PM8/24/17
to KM, info...@nongnu.org
KM dixit:

> I am trying to commit a file but am receiving errors as follows:
>cvs [commit aborted]: out of memory; can not allocate 441235120 bytes
>I have a feeling the file must be too large in the cvs repository. the size is below: 
>11269769 1025804 -r--r--r--   1 cvs      cvs      1049389801 Aug 23 19:29 /repository/cvsroot/udn/netForensics/buildinputs/vms/SunJRELinux-x64.vm,v

Yes, the file is over 1 GiB large. It likely also has too many lines.

You could try raising “ulimit -d” or use an LP64 build of CVS on
the server.

bye,
//mirabilos
--
[...] if maybe ext3fs wasn't a better pick, or jfs, or maybe reiserfs, oh but
what about xfs, and if only i had waited until reiser4 was ready... in the be-
ginning, there was ffs, and in the middle, there was ffs, and at the end, there
was still ffs, and the sys admins knew it was good. :) -- Ted Unangst über *fs

Arthur Barrett

unread,
Aug 24, 2017, 11:42:57 PM8/24/17
to KM, Cvs-user-list

The per process (virtual) memory of RHEL5 x32 is limited to 3GB:
https://access.redhat.com/articles/rhel-limits

CVS generally needs at least 2x the size of the file for (virtual) memory, and probably more for committing a revision (particularly on a branch).

So *in theory* you should be able to get this to work - but I'm not sure if in practice you will achieve it. Checking rlimit (ulimit) as Thorsten Glaser suggested is worthwhile, as well as checking actual page space / virtual memory allocated to the server etc.

We did a whole heap of work with CVSNT on this error - mostly for windows, though some of the improvements we made could help CVSNT on Linux too.
http://customer.march-hare.com/webtools/bugzilla/ttshow_bug.cgi?id=6317&tt=1

Other things you can try:
- if the CVS server and the client is on the same PC:
+ if using pserver/ssh then try :local: instead
+ if using :local: try :pserver: instead
+ use a different client (or server) so that the memory is spread across the two physical machines

But I don't think CVS is really the best tool for storing files > 100MB or so - you are better off using a backup/archiving system instead.

Regards,


Arthur


> -----Original Message-----
> From: info-cvs
> [mailto:info-cvs-bounces+arthur.barrett=march-hare.com@nongnu.
> org] On Behalf Of KM
> Sent: 25 August 2017 02:51
> To: Cvs-user-list
> Subject: Error on CVS commit: cvs [commit aborted]: out of
> memory; can notallocate 441235120 bytes
>
>
> I am trying to commit a file but am receiving errors as follows:
> cvs [commit aborted]: out of memory; can not allocate 441235120 bytes
> I have a feeling the file must be too large in the cvs
> repository. the size is below: 
> 11269769 1025804 -r--r--r--   1 cvs      cvs      1049389801
> Aug 23 19:29
> /repository/cvsroot/udn/netForensics/buildinputs/vms/SunJRELin
> ux-x64.vm,v
>

KM

unread,
Aug 25, 2017, 10:58:50 AM8/25/17
to Arthur Barrett, Cvs-user-list
Thanks for the feedback.  I added the file with a new name for now, so it's smaller.  it of course as you mentioned doesn't solve the fundamental issue.  ... checking in these large data files.  the ulimit -v returned unlimited.
I have changed my build script to use the new file instead of the original.
I was wondering if it is possible/recommended to remove the file completely from CVS (the actual repository) so I can re-use the name if I want.   I am sure in time this will happen with a few other files of this type.  I am always very nervous when doing such things, but I wanted to ask.
thanks in advancekm
Reply all
Reply to author
Forward
0 new messages