You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by we...@tigris.org on 2009/05/20 08:17:00 UTC

Out Of memory on checkin

Hi,

I tried to check in the boost 1.39.0 source tree into a newly created
private svn repository and got an out of memory exception on the
commit.

Data:
tortoisesvn client version (OS: WIN XP SP3):
TortoiseSVN 1.6.2, Build 16344 - 32 Bit , 2009/05/09 13:46:29
Subversion 1.6.2,
apr 1.3.3
apr-utils 1.3.4
neon 0.28.4
OpenSSL 0.9.8k 25 Mar 2009
zlib 1.2.3

Server version subversion 1.6.1 + apache 2.2.4

Communication is over the http protocol.

I had the same behaviour with tortoisesvn version 1.6.1.

I also tried this with the command line client of subversion in version 1.6.2. The result was the same.

That's why i got redericted by tortoise svn to this user group:
http://groups.google.com/group/tortoisesvn/browse_thread/thread/aac26e44d0c76c5b

Any idea whats wrong?

Thanks for your help
Luke

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2327737

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

RE: Out Of memory on checkin

Posted by we...@tigris.org.
I am getting a very similar behavior.

The server being committed to is a VisalSVN server running on Windows Server over https. There are 5,500 small files added in the commit, with an average size of 38.3KB.

The commit is being done from an XP machine. The memory usage of TortoiseProc.exe continually ticks up, reaching well over 700MB. Eventually, the commit fails by crashing, and an error pop-up says that the program asked the Runtime to terminate it in an unexpected way.

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2330478

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

Re: Re: Out Of memory on checkin

Posted by Stefan Sperling <st...@elego.de>.
On Thu, May 21, 2009 at 05:50:49AM -0700, webpost@tigris.org wrote:
> Hi,
> 
> > But still, adding a large number of files should be done using
> > svn import. What does 1.6 do if you use svn import instead of svn add?
> 
> svn import works fine and stays low on memory consumption as well.

Thanks for the information.

> > I would suspect issue #1964,
> > http://subversion.tigris.org/issues/show_bug.cgi?id=1964
> 
> Actually I do not think that this is sufficiently covered by issue
> 1964 as source branches the size of boost worked with 1.5.4 or lower
> 1.5 versions but do not work anymore with 1.6.x versions. So something
> has gotten really worde here. To me it seems that after each sending
> statement of the commit 1MB is allocated, which is death if you have
> more then 2000 files to commit.
> 
> Nevertheless I really think this is annoying because if i make changes
> over a lot of files I'm always in the danger of running low on memory.
> And Yes it has happened that i commit 2000+ files.
> 
> Please inform me if I should add my concerns to the issue #1964

We've gotten more reports on this matter. It really looks like memory
usage during commit has increased in 1.6, up to the point of breaking
large commits of merge results. This cannot be worked around with svn
import, so issue #1964 has been given higher priority now.

I hope this problem will somehow be fixed by 1.7 at least, and possibly
also in a 1.6.x point release. You can add your email address to the
Cc list of issue #1964 if you want to be informed when progress is made.
If no one else beats me to it, I will try to find some time for looking
at this more deeply as soon as possible, hopefully during the next month
the latest.

In the meantime, you'll either have to use 1.5 to make large commits,
or split up your merges into smaller chunks and commit the chunks
individually. Obviously neither workaround is really acceptable,
so we will have to provide a fix for this.

Thanks for your patience,
Stefan

RE: Re: Out Of memory on checkin

Posted by we...@tigris.org.
Hi,

> But still, adding a large number of files should be done using
> svn import. What does 1.6 do if you use svn import instead of svn add?

svn import works fine and stays low on memory consumption as well.

> I would suspect issue #1964,
> http://subversion.tigris.org/issues/show_bug.cgi?id=1964

Actually I do not think that this is sufficiently covered by issue 1964 as source branches the size of boost worked with 1.5.4 or lower 1.5 versions but do not work anymore with 1.6.x versions. So something has gotten really worde here. To me it seems that after each sending statement of the commit 1MB is allocated, which is death if you have more then 2000 files to commit.

Nevertheless I really think this is annoying because if i make changes over a lot of files I'm always in the danger of running low on memory. And Yes it has happened that i commit 2000+ files.

Please inform me if I should add my concerns to the issue #1964

Regards Lukas

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2349768

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

Re: Out Of memory on checkin

Posted by Ryan Schmidt <su...@ryandesign.com>.
On May 20, 2009, at 09:11, Stefan Sperling wrote:

> On Wed, May 20, 2009 at 03:46:54AM -0700, webpost@tigris.org wrote:
>
>> I am experiencing the same problem. Committing a large number of  
>> files
>> (>5000) crashes with TortoiseSVN client 1.6.2, apparently because
>> TortoiseProc.exe leaks memory until the magical 2 GB limit is  
>> reached.
>>
>> Commits with the new svn are significantly worse also
>> performance-wise: sending binary files to the server using client
>> 1.6.2, I get ~20 kB/s and 1 file per second throughput. It tries
>> sending the files for more than 30 minutes until it crashes. Using  
>> svn
>> 1.5.9, it's more than 200 kB/s and multiple files/s. The commit is
>
> 1.5.9 hasn't been released. Do you mean 1.5.6?

Actually, TortoiseSVN versions sometimes go higher than Subversion  
versions. There was a version 1.5.9 of TortoiseSVN as seen here:

http://sourceforge.net/project/showfiles.php? 
group_id=138498&package_id=151948

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2339960

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].

Re: Out Of memory on checkin

Posted by Stefan Sperling <st...@elego.de>.
On Wed, May 20, 2009 at 03:46:54AM -0700, webpost@tigris.org wrote:
> I am experiencing the same problem. Committing a large number of files
> (>5000) crashes with TortoiseSVN client 1.6.2, apparently because
> TortoiseProc.exe leaks memory until the magical 2 GB limit is reached.
> 
> Commits with the new svn are significantly worse also
> performance-wise: sending binary files to the server using client
> 1.6.2, I get ~20 kB/s and 1 file per second throughput. It tries
> sending the files for more than 30 minutes until it crashes. Using svn
> 1.5.9, it's more than 200 kB/s and multiple files/s. The commit is

1.5.9 hasn't been released. Do you mean 1.5.6?

> finished in less than 15 minutes.
> 
> I have tried both TortoiseSVN 1.6.2 and command-line svn 1.6.2 with exactly the same behavior.
> 
> I have downgraded and upgraded between Tortoise 1.5.5, 1.5.9, and
> 1.6.2 back and forth and always experience the same issue with 1.6.2,
> and never with 1.5.x. All clients use the same svn server, that was
> never rebooted or otherwise configured in between.

I would suspect issue #1964,
http://subversion.tigris.org/issues/show_bug.cgi?id=1964
Summary: You're supposed to use svn import instead of svn add
when importing large source trees.

It is interesting that you can only trigger the problem with 1.6
and not 1.5, so it might be a different problem.

But still, adding a large number of files should be done using
svn import. What does 1.6 do if you use svn import instead of svn add?

Stefan

RE: Out Of memory on checkin

Posted by we...@tigris.org.
I am experiencing the same problem. Committing a large number of files (>5000) crashes with TortoiseSVN client 1.6.2, apparently because TortoiseProc.exe leaks memory until the magical 2 GB limit is reached.

Commits with the new svn are significantly worse also performance-wise: sending binary files to the server using client 1.6.2, I get ~20 kB/s and 1 file per second throughput. It tries sending the files for more than 30 minutes until it crashes. Using svn 1.5.9, it's more than 200 kB/s and multiple files/s. The commit is finished in less than 15 minutes.

I have tried both TortoiseSVN 1.6.2 and command-line svn 1.6.2 with exactly the same behavior.

I have downgraded and upgraded between Tortoise 1.5.5, 1.5.9, and 1.6.2 back and forth and always experience the same issue with 1.6.2, and never with 1.5.x. All clients use the same svn server, that was never rebooted or otherwise configured in between.

Environment:
Clients (on Windows XP SP2):
TortoiseSVN 1.6.2, Build 16344 - 32 Bit (crashes)
svn 1.6.2 (r37639) (crashes)
TortoiseSVN 1.5.9, Build 15518 (Subversion 1.5.6) - 32 Bit (ok)
Server:
svn 1.4.3 (r23084) (over http)

I strongly suspect something was broken in the client after svn 1.5.6. Please fix it!
Jussi

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2329261

To unsubscribe from this discussion, e-mail: [users-unsubscribe@subversion.tigris.org].