Re: http git clone memory problem.

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

 



It's pretty random actually. Sometimes it ends like this:

Getting pack ffecdbabefeb7d684650f6c920c53c384bc65b5e
which contains f6c066fe62e97e3d93d10628318fe62de667b25b
got 12192695f4e402f7385728f14496ab807caeb0b8
error: File 33da1ff3b31eee2635cb105a5b15fab3362f6af7 has bad hash
error: Unable to find 33da1ff3b31eee2635cb105a5b15fab3362f6af7 under
http://www.kernel.org/pub/scm/git/git.git
Cannot obtain needed blob 33da1ff3b31eee2635cb105a5b15fab3362f6af7
while processing commit a196f6d93a21ebac9befc4b52a2b0586471b5fa4.

with no crash.

And sometimes with
Getting index for pack ffecdbabefeb7d684650f6c920c53c384bc65b5e
*** glibc detected *** git-http-fetch: corrupted double-linked list:
0x080a4360 ***

Is there a way to reproduce the crash with this
"ffecdbabefeb7d684650f6c920c53c384bc65b5e", the pack id (the sha1) ?

Benjamin.

A strace version of the crash:


I tried valgrind once but after 30 minutes nothing happened, I could
not even see the process with ps ...
I also tried strace.

A strace version of the cannot obtain needed blob:
got 7579c7107c6b5387fe1e30a0969dcb65d22e4cbf
walk abb503d1fc5802e5de9d5b4a0cb710e87d2b1ba4
Getting alternates list for http://www.kernel.org/pub/scm/git/git.git
Getting pack list for http://www.kernel.org/pub/scm/git/git.git
Getting pack 4146ab3638605f4b364bcf90d377e22c083a3d35
which contains eb7afba88c1bb4d755d23ca3aafe6d0874b848d0
got da5044940771800d0c7f0f28f269c40297860764
got 39af6c9c8112607fb780f3361c5362f587ab629f
got e3859e2a8a4ff8b9c51e1ebe430fa5bf0fd3d261
got 1ea0f745bd0996e7f30e07f472b79ca0ed578510
got c4bb30d92e0156760d07ebcc3bb3d637aebe9606
got 81536ec1557d84897ebb8565597ef7647fc770b9
error: Unable to find 11ea73c1cc3565eeabff27ef2d3619a5fb5381fd under
http://www.kernel.org/pub/scm/git/git.git
Cannot obtain needed blob 11ea73c1cc3565eeabff27ef2d3619a5fb5381fd
while processing commit abb503d1fc5802e5de9d5b4a0cb710e87d2b1ba4.
Waiting for http://www.kernel.org/pub/scm/git/git.git/objects/29/d8eccef4b9cf30704eaa6428131d788675dad8
got c1c7267135b50ebc653e2c16a73ba3e5c454e1e8
got 2623ef30134cc3f2cf715ba302c3cfa2b3527a48
got 29d8eccef4b9cf30704eaa6428131d788675dad8
[{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0) = 20387
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, 0xbfd1ba08, WNOHANG)        = -1 ECHILD (No child processes)
sigreturn()                             = ? (mask now [])
rt_sigaction(SIGINT, {0x808d1b0, [], 0}, {0x807ada0, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat64("/home", {st_mode=S_IFDIR|0755, st_size=360, ...}) = 0
stat64("/home/bsergean", {st_mode=S_IFDIR|0711, st_size=7480, ...}) = 0
stat64("/home/bsergean/sandbox", {st_mode=S_IFDIR|0755, st_size=528, ...}) = 0
stat64("/home/bsergean/sandbox/git", {st_mode=S_IFDIR|0755,
st_size=72, ...}) = 0
stat64("/home/bsergean/sandbox/git", {st_mode=S_IFDIR|0755,
st_size=72, ...}) = 0
chdir("/home/bsergean/sandbox")         = 0
stat64("/bin/rm", {st_mode=S_IFREG|0755, st_size=36316, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=528, ...}) = 0
stat64("/home/bsergean/git/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such
file or directory)
stat64("/home/bsergean/git/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such
file or directory)
stat64("/usr/local/Trolltech/Qt-4.3.0/bin/rm", 0xbfd1ce1c) = -1 ENOENT
(No such file or directory)
stat64("/usr/lib/ccache/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file
or directory)
stat64("/home/bsergean/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file
or directory)
stat64("/home/bsergean/bin/Linux/rm", 0xbfd1ce1c) = -1 ENOENT (No such
file or directory)
stat64("/usr/local/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file or directory)
stat64("/home/bsergean/git/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such
file or directory)
stat64("/usr/local/Trolltech/Qt-4.3.0/bin/rm", 0xbfd1ce1c) = -1 ENOENT
(No such file or directory)
stat64("/usr/lib/ccache/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file
or directory)
stat64("/home/bsergean/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file
or directory)
stat64("/home/bsergean/bin/Linux/rm", 0xbfd1ce1c) = -1 ENOENT (No such
file or directory)
stat64("/usr/local/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Trolltech/Qt-4.3.0/bin/rm", 0xbfd1ce1c) = -1 ENOENT
(No such file or directory)
stat64("/usr/lib/ccache/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file
or directory)
stat64("/home/bsergean/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file
or directory)
stat64("/home/bsergean/bin/Linux/rm", 0xbfd1ce1c) = -1 ENOENT (No such
file or directory)
stat64("/usr/local/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/distcc/bin/rm", 0xbfd1ce1c) = -1 ENOENT (No such file
or directory)
stat64("/usr/bin/rm", 0xbfd1ce1c)       = -1 ENOENT (No such file or directory)
stat64("/bin/rm", {st_mode=S_IFREG|0755, st_size=36316, ...}) = 0
stat64("/bin/rm", {st_mode=S_IFREG|0755, st_size=36316, ...}) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
clone(child_stack=0,
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
child_tidptr=0xb7dab988) = 20388
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x807ada0, [], 0}, {0x808d1b0, [], 0}, 8) = 0
waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 20388
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, 0xbfd1cb18, WNOHANG)        = -1 ECHILD (No child processes)
sigreturn()                             = ? (mask now [])
rt_sigaction(SIGINT, {0x808d1b0, [], 0}, {0x807ada0, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
exit_group(1)                           = ?
Process 20362 detached


On 7/24/07, Benjamin Sergeant <bsergean@xxxxxxxxx> wrote:
On 7/24/07, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote:
> Hi,
>
> On Tue, 24 Jul 2007, Benjamin Sergeant wrote:
>
> > I still have the segfault with 1.5.2.4. If I try to gdb it, it abort
> > before I can do anything. Is there an environment variable that I can
> > set to disable signal handling or something in git ?
>
> Did you gdb http-fetch?
>
> If not, please use "sh -x git-clone..." to find out what command line to
> use.
>
> And when you have the command line, please use valgrind to find out where
> the leak/corruption is.
>
> There are some flags that are automatically set/unset when compiling the
> http transport, and it is not easy to know which flags are enabled in your
> setup.
>
> But for starters, you might want to recompile http-fetch without -O2.  My
> gdb always has problems attributing the correct line, which does not
> exactly make it easier for me to debug things.  I could imagine your gdb
> is as annoying.
>
> Ciao,
> Dscho

I got that, but it's not super-usefull ... I will try valgrind instead.

[bsergean@marge1 sandbox]$ gdb /home/bsergean/git/bin/git-clone
/tmp/corefiles/core.18531
GNU gdb 6.6-1mdv2007.1 (Mandriva Linux release 2007.1)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-mandriva-linux-gnu"...
"/home/bsergean/git/bin/git-clone": not in executable format: File
format not recognized
(no debugging symbols found)
Using host libthread_db library "/lib/i686/libthread_db.so.1".
Core was generated by `git-http-fetch -v -a -w remotes/origin/html
cc13f556fc72f6f0670e61599363f6e3277'.
Program terminated with signal 6, Aborted.
#0  0xbfffe410 in __kernel_vsyscall ()
(gdb) where
#0  0xbfffe410 in __kernel_vsyscall ()
#1  0xb7c78590 in ?? ()
#2  0xb7d7aff4 in ?? ()
#3  0xb7bd7aa0 in ?? ()
#4  0xbf928f84 in ?? ()
#5  0xb7c79e21 in ?? ()
#6  0x00000006 in ?? ()
#7  0xbf928ef8 in ?? ()
#8  0x00000000 in ?? ()





>
>

-
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]

  Powered by Linux