On Wed, 2009-01-07 at 15:29 -0800, Linus Torvalds wrote: > It is certainly possible. It's too bad that it's private, because it makes > it _much_ harder to try to pinpoint this. My most esteemed colleague (Ken aka kb) who pointed out the memory issue was on the right path (I think), and I have a reproduction case you can try with your very own Linux kernel tree! WOO! I set ulimit -v really low (150M), and the operations I made got an mmap(2) fatal error, but there is a sweet spot that I found, see the transcript below. I basically chose an arbitrary revision from a couple of weeks ago, and rolled the repository back to that point, then I tried with iterations of ulimit -v 150, 250, 450, and then back down to 350. tyler@grapefruit:~/source/git/linux-2.6> limit cputime unlimited filesize unlimited datasize unlimited stacksize 8MB coredumpsize 0kB memoryuse 2561MB maxproc 24564 descriptors 1024 memorylocked 64kB addressspace unlimited maxfilelocks unlimited sigpending 24564 msgqueue 819200 nice 0 rt_priority 0 tyler@grapefruit:~/source/git/linux-2.6> export START=56d18e9932ebf4e8eca42d2ce509450e6c9c1666 tyler@grapefruit:~/source/git/linux-2.6> git reset --hard $START HEAD is now at 56d18e9 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus tyler@grapefruit:~/source/git/linux-2.6> ulimit -v `echo "350 * 1024" | bc -l` tyler@grapefruit:~/source/git/linux-2.6> git pull error: failed to read object be1b87c70af69acfadb8a27a7a76dfb61de92643 at offset 1850923 from .git/objects/pack/pack-dbe154052997a05499eb6b4fd90b924da68e799a.pack fatal: object be1b87c70af69acfadb8a27a7a76dfb61de92643 is corrupted tyler@grapefruit:~/source/git/linux-2.6> I've tried this a couple of times, and it does seem to be reproducible, let me know if you have any issues reproducing it locally and I'll try to dig into it more with valgrind or something a bit more pin-pointing than "ulimit -v && try, try again" Cheers -- -R. Tyler Ballance Slide, Inc.
Attachment:
signature.asc
Description: This is a digitally signed message part