Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 394175 - dev-vcs/git: repacking on x32 ABI randomly crashes
Summary: dev-vcs/git: repacking on x32 ABI randomly crashes
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL: http://sourceware.org/bugzilla/show_b...
Whiteboard:
Keywords:
: 420361 (view as bug list)
Depends on:
Blocks: x32
  Show dependency tree
 
Reported: 2011-12-09 19:00 UTC by SpanKY
Modified: 2012-09-25 01:02 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
repack-dir.tar.bz2 (part 0) (repack-dir.tar.bz2.0,1000.00 KB, application/octet-stream)
2011-12-09 19:03 UTC, SpanKY
Details
repack-dir.tar.bz2 (part 1) (repack-dir.tar.bz2.1,1000.00 KB, application/octet-stream)
2011-12-09 19:03 UTC, SpanKY
Details
repack-dir.tar.bz2 (part 2) (repack-dir.tar.bz2.2,1000.00 KB, application/octet-stream)
2011-12-09 19:03 UTC, SpanKY
Details
repack-dir.tar.bz2 (part 3) (repack-dir.tar.bz2.3,359.52 KB, application/octet-stream)
2011-12-09 19:04 UTC, SpanKY
Details
pbzip2.tar.xz (part 1) (pbzip2.tar.xz.1,781.25 KB, application/octet-stream)
2012-09-06 22:56 UTC, SpanKY
Details
pbzip2.tar.xz (part 2) (pbzip2.tar.xz.2,539.23 KB, application/octet-stream)
2012-09-06 22:56 UTC, SpanKY
Details

Note You need to log in before you can comment on or make changes to this bug.
Description SpanKY gentoo-dev 2011-12-09 19:00:03 UTC
Robin: i wouldn't spend time investigating this for now.  i'm logging this report so it doesn't get lost.

take the attached tarball and run:
while :; do
  rm -rf repack-dir
  tar xf ~/repack-dir.tar.bz2
  (cd repack-dir; git repack -a -d -q) || break
done

eventually it'll crash like so:

*** glibc detected *** git: double free or corruption (!prev): 0xf4af4fa0 ***
======= Backtrace: =========
/libx32/libc.so.6(+0x734b1)[0xf6b7f4b1]
/libx32/libc.so.6(cfree+0x67)[0xf6b834f7]
git[0x481dc5]
git[0x449e5f]
git[0x44a599]
/libx32/libpthread.so.0(+0x7aac)[0xf6e98aac]
/libx32/libc.so.6(clone+0x6d)[0xf6be477d]
======= Memory map: ========
00400000-0053d000 r-xp 00000000 08:32 5795654   /usr/libexec/git-core/git
0073d000-0073e000 r--p 0013d000 08:32 5795654   /usr/libexec/git-core/git
0073e000-00743000 rw-p 0013e000 08:32 5795654   /usr/libexec/git-core/git
00743000-0078d000 rw-p 00000000 00:00 0 
025ff000-026e9000 rw-p 00000000 00:00 0         [heap]
f43ea000-f43ff000 r-xp 00000000 08:32 3698311   /libx32/libgcc_s.so.1
f43ff000-f45fe000 ---p 00015000 08:32 3698311   /libx32/libgcc_s.so.1
f45fe000-f45ff000 r--p 00014000 08:32 3698311   /libx32/libgcc_s.so.1
f45ff000-f4600000 rw-p 00015000 08:32 3698311   /libx32/libgcc_s.so.1
f4600000-f4671000 rw-p 00000000 00:00 0 
f4671000-f4700000 ---p 00000000 00:00 0 
f4800000-f48e6000 rw-p 00000000 00:00 0 
f48e6000-f4900000 ---p 00000000 00:00 0 
f4a00000-f4afd000 rw-p 00000000 00:00 0 
f4afd000-f4b00000 ---p 00000000 00:00 0 
f4b08000-f4b09000 ---p 00000000 00:00 0 
f4b09000-f5309000 rw-p 00000000 00:00 0 
f5309000-f530a000 ---p 00000000 00:00 0 
f530a000-f5b0a000 rw-p 00000000 00:00 0 
f5b0a000-f5b0b000 ---p 00000000 00:00 0 
f5b0b000-f630b000 rw-p 00000000 00:00 0 
f630b000-f630c000 ---p 00000000 00:00 0 
f630c000-f6b0c000 rw-p 00000000 00:00 0 
f6b0c000-f6c8b000 r-xp 00000000 08:32 3886607   /libx32/libc-2.14.1.so
f6c8b000-f6e8b000 ---p 0017f000 08:32 3886607   /libx32/libc-2.14.1.so
f6e8b000-f6e8d000 r--p 0017f000 08:32 3886607   /libx32/libc-2.14.1.so
f6e8d000-f6e8e000 rw-p 00181000 08:32 3886607   /libx32/libc-2.14.1.so
f6e8e000-f6e91000 rw-p 00000000 00:00 0 
f6e91000-f6ea7000 r-xp 00000000 08:32 3886535   /libx32/libpthread-2.14.1.so
f6ea7000-f70a6000 ---p 00016000 08:32 3886535   /libx32/libpthread-2.14.1.so
f70a6000-f70a7000 r--p 00015000 08:32 3886535   /libx32/libpthread-2.14.1.so
f70a7000-f70a8000 rw-p 00016000 08:32 3886535   /libx32/libpthread-2.14.1.so
f70a8000-f70aa000 rw-p 00000000 00:00 0 
f70aa000-f70be000 r-xp 00000000 08:32 3886562   /libx32/libz.so.1.2.5.1
f70be000-f72be000 ---p 00014000 08:32 3886562   /libx32/libz.so.1.2.5.1
f72be000-f72bf000 r--p 00014000 08:32 3886562   /libx32/libz.so.1.2.5.1
f72bf000-f72c0000 rw-p 00015000 08:32 3886562   /libx32/libz.so.1.2.5.1
f72c0000-f731b000 r-xp 00000000 08:32 3886613   /libx32/libpcre.so.0.0.1
f731b000-f751a000 ---p 0005b000 08:32 3886613   /libx32/libpcre.so.0.0.1
f751a000-f751b000 r--p 0005a000 08:32 3886613   /libx32/libpcre.so.0.0.1
f751b000-f751c000 rw-p 0005b000 08:32 3886613   /libx32/libpcre.so.0.0.1
f751c000-f753c000 r-xp 00000000 08:32 3886606   /libx32/ld-2.14.1.so
f770d000-f7734000 rw-p 00000000 00:00 0 
f7737000-f7738000 rw-p 00000000 00:00 0 
f7739000-f773b000 rw-p 00000000 00:00 0 
f773b000-f773c000 r--p 0001f000 08:32 3886606   /libx32/ld-2.14.1.so
f773c000-f773d000 rw-p 00020000 08:32 3886606   /libx32/ld-2.14.1.so
ffd87000-ffda8000 rw-p 00000000 00:00 0         [stack]
ffdff000-ffe00000 r-xp 00000000 00:00 0         [vdso]
Comment 1 SpanKY gentoo-dev 2011-12-09 19:03:01 UTC
Created attachment 295309 [details]
repack-dir.tar.bz2 (part 0)

ah, you're going to hate me, but the archive is too big for bugzilla.  so fetch these files and concat them together:
cat repack-dir.tar.bz2.[0123] > repack-dir.tar.bz2
Comment 2 SpanKY gentoo-dev 2011-12-09 19:03:37 UTC
Created attachment 295311 [details]
repack-dir.tar.bz2 (part 1)
Comment 3 SpanKY gentoo-dev 2011-12-09 19:03:51 UTC
Created attachment 295313 [details]
repack-dir.tar.bz2 (part 2)
Comment 4 SpanKY gentoo-dev 2011-12-09 19:04:05 UTC
Created attachment 295315 [details]
repack-dir.tar.bz2 (part 3)
Comment 5 octoploid 2011-12-09 21:23:34 UTC
This smells like http://sourceware.org/bugzilla/show_bug.cgi?id=13344
Comment 6 SpanKY gentoo-dev 2011-12-10 19:37:10 UTC
glibc-2.14.1 doesn't include leaf markings, so i don't think it is the same
Comment 7 SpanKY gentoo-dev 2012-06-09 08:02:58 UTC
downside: it still crashes
upside: it's much more reproducible -- happens first time

git: arena.c:663: heap_trim: Assertion `p->size == (0|0x1)' failed.
Comment 8 SpanKY gentoo-dev 2012-06-09 08:07:48 UTC
$ git pack-objects --keep-true-parents --honor-pack-keep --non-empty --all \
  --reflog -q --delta-base-offset f </dev/null
git: arena.c:663: heap_trim: Assertion `p->size == (0|0x1)' failed.
Comment 9 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2012-08-23 23:23:59 UTC
vapier:
does this still exist?
the assertion file arena.c isn't part of Git.
Comment 10 SpanKY gentoo-dev 2012-08-26 02:30:59 UTC
i haven't retested since june, but nothing has really changed, so i don't expect this to be fixed ...

i won't be able to retest for a week or two as the chroot lived on a hd that needs recovering, and i'll be traveling this next week for plumbers
Comment 11 SpanKY gentoo-dev 2012-08-29 23:52:15 UTC
hmm, pbzip2 dies when compressing perl man pages:

pbzip2: arena.c:661: heap_trim: Assertion `p->size == (0|0x1)' failed.

i'll investigate this more and see if it's an issue in glibc or ...
Comment 12 SpanKY gentoo-dev 2012-09-06 05:28:13 UTC
*** Bug 420361 has been marked as a duplicate of this bug. ***
Comment 13 SpanKY gentoo-dev 2012-09-06 22:56:08 UTC
Created attachment 323108 [details]
pbzip2.tar.xz (part 1)

here is the pbzip2 stuff packaged up for failure.  run the doit.sh script to make it fall apart.
Comment 14 SpanKY gentoo-dev 2012-09-06 22:56:27 UTC
Created attachment 323110 [details]
pbzip2.tar.xz (part 2)
Comment 15 SpanKY gentoo-dev 2012-09-25 01:02:39 UTC
i've pushed this in our 2.16.0 glibc patchset now

http://sources.gentoo.org/gentoo/src/patchsets/glibc/2.16.0/0055_all_glibc-2.16-x32-malloc-align.patch?rev=1.1