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

Re: git-commit fatal: Out of memory? mmap failed: Bad file descriptor

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Jan 15, 2008, 17:26 UTC
Message-ID
<478CECAB.2030906@nrlssc.navy.mil>
In-Reply-To
<alpine.LFD.1.00.0801142140560.2806@woody.linux-foundation.org>
Linus Torvalds wrote:
Show 10 quoted lines
> 
> On Mon, 14 Jan 2008, Brandon Casey wrote:
>> To reiterate, I only have problems with the builtin-commit,
>> i.e. 1.5.4.*, the 1.5.3.* series works correctly. Of course
>> if this is a memory corruption issue, then it could just be
>> that the pattern of memory accesses in 1.5.3 does not tweak
>> the problem.
> 
> Can you do an strace of the failure case and put it up on some public 
> place (it's likely going to be too big to send as email)?
I did the strace. Below is the last screenful of lines.

Do you have a suggestion for a public place to upload? I do not have one of my own, and I've never used any of the 'free' services. The strace log is about 8.5MB, compressed to about 500K.

$ git --version git version 1.5.4.rc3.11.g4e67

Not that it's important, but looks like the file descriptor that is closed too soon is 3. I got 6 when running under gdb. This is also using the latest version of git. The results are the same with either version (including the fd#) so I just used this one.

Junio C Hamano wrote:
> What platform is this on?

$ cat /etc/redhat-release CentOS release 4.5 (Final)

i686
> Does it reliably reproduce for any commit in the repository, or
> reliably reproduce for one particular commit, or sometimes
> reprooduce for one particular commit?
Reliably for one particular commit.
Additional commits on top of this commit complete successfully.

If this commit is amended without error by amending with '-C HEAD' or by using a 1.5.3 version, then additional amends or commits will not produce the error.

-brandon

16170 mmap2(NULL, 417, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb1699000 16170 close(3) = 0 16170 munmap(0xb1699000, 417) = 0 16170 stat64("/home/casey/auto_v3.5/src_temp2/.git/objects/67/981a61208756cf4973 7ec065e7bc0d7ff1a89d", {st_mode=S_IFREG|0444, st_size=417, ...}) = 0 16170 open("/home/casey/auto_v3.5/src_temp2/.git/objects/67/981a61208756cf49737e c065e7bc0d7ff1a89d", O_RDONLY|O_LARGEFILE) = 3 16170 mmap2(NULL, 417, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb1699000 16170 close(3) = 0 16170 munmap(0xb1699000, 417) = 0 16170 stat64("/home/casey/auto_v3.5/src_temp2/.git/objects/4e/7c1178482f4b3c52e8 afce15db3bc8419530d2", {st_mode=S_IFREG|0444, st_size=417, ...}) = 0 16170 open("/home/casey/auto_v3.5/src_temp2/.git/objects/4e/7c1178482f4b3c52e8af ce15db3bc8419530d2", O_RDONLY|O_LARGEFILE) = 3 16170 mmap2(NULL, 417, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb1699000 16170 close(3) = 0 16170 munmap(0xb1699000, 417) = 0 16170 stat64("/home/casey/auto_v3.5/src_temp2/.git/objects/02/3777b3c0e5f7697deb 2ce738c6b38b1ec2b17c", {st_mode=S_IFREG|0444, st_size=417, ...}) = 0 16170 open("/home/casey/auto_v3.5/src_temp2/.git/objects/02/3777b3c0e5f7697deb2c e738c6b38b1ec2b17c", O_RDONLY|O_LARGEFILE) = 3 16170 mmap2(NULL, 417, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb1699000 16170 close(3) = 0 16170 munmap(0xb1699000, 417) = 0 16170 mmap2(NULL, 996168, PROT_READ, MAP_PRIVATE, 3, 0) = -1 EBADF (Bad file des criptor) 16170 munmap(0xb56bd000, 33554432) = 0 16170 mmap2(NULL, 996168, PROT_READ, MAP_PRIVATE, 3, 0) = -1 EBADF (Bad file des criptor) 16170 write(2, "fatal: Out of memory? mmap faile"..., 55) = 55 16170 write(1, "Created commit ", 15) = 15 16170 exit_group(128) = ?

Previous: Linus TorvaldsNext: Linus Torvalds
Message 13 of 39 in “git-commit fatal: Out of memory? mmap failed: Bad file descriptor”
  1. Brandon CaseyJan 11, 2008
  2. Charles BaileyJan 11, 2008
  3. Jeff KingJan 12, 2008
  4. Marco CostalbaJan 11, 2008
  5. Brandon CaseyJan 11, 2008
  6. Junio C HamanoJan 11, 2008
  7. Brandon CaseyJan 12, 2008
  8. Junio C HamanoJan 12, 2008
  9. Alex RiesenJan 12, 2008
  10. Brandon CaseyJan 14, 2008
  11. Brandon CaseyJan 15, 2008
  12. Linus TorvaldsJan 15, 2008
  13. Brandon CaseyJan 15, 2008
  14. Linus TorvaldsJan 15, 2008
  15. Brandon CaseyJan 15, 2008
  16. Linus TorvaldsJan 15, 2008
  17. Brandon CaseyJan 15, 2008
  18. Kristian HøgsbergJan 15, 2008
  19. Brandon CaseyJan 15, 2008
  20. Brandon CaseyJan 15, 2008
  21. Linus TorvaldsJan 15, 2008
  22. Linus TorvaldsJan 15, 2008
  23. Junio C HamanoJan 15, 2008
  24. Junio C HamanoJan 16, 2008
  25. Brandon CaseyJan 16, 2008
  26. 1/2 Document lockfile APIJunio C Hamano, Jan 16, 2008
  27. 2/2 close_lock_file(): new function in the lockfile APIJunio C Hamano, Jan 16, 2008
  28. Linus TorvaldsJan 16, 2008
  29. Junio C HamanoJan 16, 2008
  30. Brandon CaseyJan 16, 2008
  31. Junio C HamanoJan 16, 2008
  32. Brandon CaseyJan 16, 2008
  33. Junio C HamanoJan 16, 2008
  34. Brandon CaseyJan 16, 2008
  35. Brandon CaseyJan 16, 2008
  36. Junio C HamanoJan 16, 2008
  37. Brandon CaseyJan 16, 2008
  38. Johannes SixtJan 16, 2008
  39. Junio C HamanoJan 15, 2008

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.