Subgit error during "install" operation

Hi,

I am trying to perform

subgit install $DIRECTORY_NAME

operation.

The operation runs for certain amount of time, but then it fails with the following error message:

W:\projects\mnc.vc9\subgit>subgit install mnc.vc9.2021.03.05
SubGit version 3.3.11 (‘Bobique’) build #4408
Translating Subversion revisions to Git commits…
INSTALLATION FAILED
error: svn: E204900: Missing unknown 6c7b4a63724b7d0b7509a0266dedb4e03c8588ee
error: Missing unknown 6c7b4a63724b7d0b7509a0266dedb4e03c8588ee
error: Unexpected error has occurred; please report along with the logs (‘W:\projects\mnc.vc9\subgit\subgit-install-20210306-143211.zip’)
error: to https://support.tmatesoft.com/, thank you

Here is the log file.

What should I do?

Hi Matej,

thank you for the logs, we are investigating the issue.

Hi Matej,

unfortunately, the file you shared cannot be downloaded, we tried several times but all the attempts failed. Could it be possible to attach it here instead of publishing on Dropbox?

I have tried to attach it directly, but I did not succeed. Its size has exceeded your limit.

The Dropbox link works for me perfectly.
I have no idea why it does not work for you.
Nevermind.

I have uploaded the logs to my server. Here they are.

Hi Matej,

thank you for the logs, we managed to download them this time.
May I ask you to run the following command in the affected repository:

git ls-tree -r f05bb1b278411992d7160e852266faaf1f0267b1

and send us its output? Also, could you please advise if that might be the case that some other process accessed that repository while SubGit was working? For example, could it be that case that ‘git gc’ was invoked in that repository while SubGit was performing the import?

Hi Ildar,

Thank you for looking into the issue!

I have run the command you mentioned above

git ls-tree -r f05bb1b278411992d7160e852266faaf1f0267b1

I have run it. It has terminated with exit status 0 and nothing appeared in “error output”.

I have uploaded its “standard output” here.

Concerning your questions:

  • Might it be the case that some other process accessed that repository while SubGit was working?
  • For example, could it be that case that git gc was invoked in that repository while SubGit was performing the import?

I think that the answer (to both questions) is no.
I was not explicitely running git gc during the time when subgit install was in progress.
To rule out transient problems like this, I have tried several times to:

  • run subgit config ...
  • update the configuration files in the desired way
  • run subgit install ...

The results were always the same.
I can reproduce the problem I have reported reliably.

Hi Matej,

thank you a lot!
May I also ask you to run the following command:

git cat-file blob 6c7b4a63724b7d0b7509a0266dedb4e03c8588ee

also could you advise what is the Git version you have? And do you have an antivirus software installed on this machine? Could it happen that it locks some files in the repository, the mcam_2020_04_24_2.0.0.702_32_setup.exe in particular?

Concerning your question

What is the Git version I have?

the answer is:

$ git --version
git version 2.24.1.windows.2

Concerning you question:

And do you have an antivirus software installed on this machine?

the answer is “Yes”.

I am afraid I cannot give you the output of this command
git cat-file blob 6c7b4a63724b7d0b7509a0266dedb4e03c8588ee

Is there some way around that?

Hi Matej,

the output is not actually needed, the question was if that command works well and able to read the file. The matter is that SubGit is not able to read this blob during the import and that’s why it fails. But reason for that is unclear. One hypothesis is that the blob is faulty for some reason so that git program (that is used by SubGit to read blobs by default) cannot read it and that is the root cause of the problem. Another assumption is that this blob might be locked by antivirus software and that’s why the blob cannot be read.

Hi Matej,
I was wandering if you had a chance to test the import without the antivirus software and did the AV switching off helped?

Hi Ildar,

I did not have a chance to test this, because I do not have the right to change AV settings (such as turning it off). I need to talk to IT staff but so far they did not respond. I will try to talk to them today. If I do not succeed, then tomorrow. I am definitely interested in resolving the problem. I will let you know what happens when we turn AV off and then retry subgit install command.

Hi Ildar,

Our IT departement added a necessary exception in the anti-virus software we are using to ignore the relevant directory in which I try to configure and install subgit.

I have started from scratch.

I was (again) able to successfully run subgit config command.

I wasn’t (again) able to successfully run subgit install command.

I have run these commands in cmd.exe terminal. The output of the second one reads:

SubGit version 3.3.11 (‘Bobique’) build #4408

Translating Subversion revisions to Git commits…

INSTALLATION FAILED

error: Out-of-memory when trying to load blob c199f7a97bf5ea75a6a2be32693437484cfea2d8 from W:\projects\mnc.vc9\subgit\mnc.vc9.2021.03.21.
error: Unexpected error has occurred; please report along with the logs (‘W:\projects\mnc.vc9\subgit\subgit-install-20210316-103125.zip’)
error: to https://testdiscourse.tmatesoft.com/, thank you!

The corresponding log file can be found here:

https:// matej-kosik . net / tmp / subgit-install-20210316-103125.zip

(without spaces)

The ERRORLEVEL of the subgit install command has been 1.

I have 16 GB of RAM.

Hi Matej,

judging from the outcome, looks like the initial issue was indeed caused by the AV software, good to know it’s been resolved.
Currently present error may happen either due to too big blob c199f7a97bf5ea75a6a2be32693437484cfea2d8, or due to big .gitattributes file that’s been generated due to EOLs translation, or big Git packs may also be the cause for this error. It would worth first to explicitly set path to the Git binary file in SubGit configuration file in the repository:

[core]
    gitPath = <Path to Git binary>

it would also worth to switch off EOLs translation by configuring the following setting:

[translate]
    eols = false

Note, that this setting is applied prior to the initial import, so the import should be started from the very beginning after it’s set.
It would also worth to extend heap size for SubGit. It can be done by adding JVM setting, like

-Xmx3G

This setting should be added to the subgit.bat script (it resides in ‘bin’ directory inside Subgit installation directory), for example, in EXTRA_JVM_ARGUMENTS variable.

Hi Ildar,

After turning off the antivirus software and the advice you suggested above, subgit install succeeded.

It seems that I am again able to use subgit.

Thank you.

Hi Matej,

great! Glad to know it works well, thank you for letting us know!