[BUG] Core dump w/ bus error on bad mmap'd packfile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

 I was getting core dumps (bus error 7) with git 1.7.1 when doing a
git checkout. I tried git fsck, and same thing. I got the same with
precompiled rpms of 1.7.12, and with a locally compiled version of git
1.8.5.

 The simplest/quickest repro I got is using git-fsck. The stacktrace
blames SHA1_Update in verify_packfile. Upon further investigation all
the in/offsets/remaining seemed ok. I traced it to a 17mb packfile
that gets an i/o error when attempting to read it past 13mb.  It looks
like it's xmmap'ing the file and passing that pointer to
SHA1_Update(). I don't know why in some paths it gives an i/o error
and in other paths it segfaults (I added the extra debug output to
git-fsck).

$ git fsck
Checking pack-0ccb5ee4f60003a7ea47d6904633cce5973efa60.pack
in: 0x7f9070507000 remain: 17345210 offset: 17345230
Bus error (core dumped)

git verify-pack correctly shows the error, without a bus error.

$ git verify-pack -v pack-0ccb5ee4f60003a7ea47d6904633cce5973efa60.pack
fatal: read error on input: Input/output error
pack-0ccb5ee4f60003a7ea47d6904633cce5973efa60.pack: bad

Not sure what the right solution is without impacting perf, but it
took me a while to track down and having an error message indicating
the bad file would've been a great help.

Amit
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]