forked from jcoglan/svn2git
-
Notifications
You must be signed in to change notification settings - Fork 446
Open
Description
Issue Description
There appears to be a memory leak in svn2git's run_command function,
I assume in IO.popen.
This memory leak leads to eating up all the RAM + Swap memory (128Gb + 64Gb on my system) during large conversions,
which will eventually crash the svn2git process once RAM is full.
In below btop screenshots you can see that:
- This issue occurs while
svn2gitis runninggit svn fetch(which is called throughrun_command) git svn fetchdoes not experience a memory leak, since it's memory usage stays lowsvn2gitdoes experience a memory leak, since it's memory usage keeps on growing
Click to Expand/Collapse the "Screenshots"
0h40min - 33.4Gb
1h01min - 51.6Gb
2h11min - 120Gb
3h00min - 159.6Gb
Work Around
- Either wait for
svn2gitto crash when out of memory,
or manually force stop it with x2 CTRL + C
(and alsodocker container ls+docker stop <container-id>when using Rikj000/Ruby-SVN2Git-Docker) - Process continues upon restart, however:
- In case of crash upon restart, fix by:
- Open the
.git/configfile in the output Git repo - Delete all
branches+tagsentries within - Delete the
.git/svn/refs/remotes/svn/trunk/index.lockfile in the output Git repo, if it exists
- Open the
- Disk space cleanup before restart:
- Open the
.git/objects/pack/directory in the output Git repo - Delete all (usually very large)
tmp_pack_......files within - See: https://old.reddit.com/r/git/comments/324ejz/can_i_safely_delete_tmp_pack_files_in/
- Open the
- In case of crash upon restart, fix by:
Metadata
Metadata
Assignees
Labels
No labels




