git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git checkout crashes after server being updated to Debian X86_64

From
Duy Nguyen <pclouds@gmail.com>
Date
Oct 19, 2016, 13:27 UTC
Message-ID
<CACsJy8B50daiHWfu7zfVQnn_i_=HbUK3gBPmv1U=EUw7ZyuGPw@mail.gmail.com>
In-Reply-To
<6B2BE996-F696-4EB4-91CA-849D40B8802D@gmail.com>

On Tue, Oct 18, 2016 at 10:17 PM, Raffael Reichelt <raffael.reichelt@gmail.com> wrote:

Show 9 quoted lines
> Hello!
>
> I have a serious problem with git, After my provider had updated to a X86_64 architecture git crashes with various memory-related errors. This is happening remote when pushing to the repository from my local machine as well as trying it on a shell on the server itself.
>
> This are the error-messages:
>
> fatal: Out of memory, realloc failed
> fatal: recursion detected in die handler
> fatal: recursion detected in die handler

You other mail said memory is capped at 600MB, which should be a lot for normal repositories. If you set the environment variable GIT_ALLOC_LIMIT to maybe 500MB or lower (convert it to kilobytes first) and git attempts to allocate more than that (just that one time, not total mem) then it's caught and we get a glimpse of how much memory git may need. Unfortunately we can't get a stack trace or anything like that unless you rebuild Git from source.

> or
> fatal: unable to create threaded lstat
> fatal: recursion detected in die handler

Hmm.. with "max user processes (-u) 42" we should be fine because we only create 20 threads max. What happens if you set core.preloadindex to false? Can it run until the end or hit some other fatal errors?

There's room for improvement in preload_index(). If we hit resource limit like this, it's not the end of the world and we should be able to keep going. But threaded lstat has been available for a long time and this is the first time I see a report like this, not sure if it's worth fixing.

-- 
Duy
Previous: Raffael ReicheltNext: Raffael Reichelt
Message 4 of 7 in “git checkout crashes after server being updated to Debian X86_64”
  1. Raffael ReicheltOct 18, 2016
  2. René ScharfeOct 18, 2016
  3. Raffael ReicheltOct 18, 2016
  4. Duy NguyenOct 19, 2016
  5. Raffael ReicheltOct 19, 2016
  6. Add a knob to abort on die() (was Re: git checkout crashes after ...)Duy Nguyen, Oct 19, 2016
  7. Jeff KingOct 19, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.