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

Re: git-http-fetch Segmentation fault

From
Junio C Hamano <junkio@cox.net>
Date
May 8, 2007, 20:04 UTC
Message-ID
<7vfy672iao.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20070508162735.6c530a70@localhost>
"Luiz Fernando N. Capitulino" <lcapitulino@mandriva.com.br> escreveu:
Show 14 quoted lines
>  A friend of mine reported an easy to reproduce segmentation fault
> when cloning through http from his repository:
>
> """
> ~/ git clone http://people.mandriva.com/~boiko/mandrivamenu.git
> got 299cdadd846913a052df361e973a947622f23198
> walk 299cdadd846913a052df361e973a947622f23198
> ...
> got 0ecd10d9d6ab020c2469a961777854afda705776
> /home/lcapitulino/git//bin/git-clone: line 33: 22353 Segmentation fault      (core dumped) git-http-fetch $v -a -w "$tname" "$sha1" "$1"
> """
>
>  Sometimes it shows up as a corrupted double-linked list, detected by
> glibc:

Does not seem to reproduce for me on my x86_64 box nor an i386 box I happened to have access to. Both run Debian etch.

Here is an excerpt from a valgrind run on the x86_64 box. It does seem to find a handful "problematic" accesses, but all seem to be in the system libraries. I did not get any errors on the i386 box.

: gitster v/master; valgrind git-http-fetch -v -a -w remotes/origin/master 299cdadd846913a052df361e973a947622f23198 http://people.mandriva.com/~boiko/mandrivamenu.git/

==2120== Conditional jump or move depends on uninitialised value(s) ==2120== at 0x4010AEE: (within /lib/ld-2.3.6.so) ==2120== by 0x4006CB6: (within /lib/ld-2.3.6.so) ==2120== by 0x51FF260: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x51FECF7: _dl_open (in /lib/libc-2.3.6.so) ==2120== by 0x5201497: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x52014E1: __libc_dlopen_mode (in /lib/libc-2.3.6.so) ==2120== by 0x51DC456: __nss_lookup_function (in /lib/libc-2.3.6.so) ==2120== by 0x51B6FCE: (within /lib/libc-2.3.6.so) ==2120== by 0x51B7C06: getaddrinfo (in /lib/libc-2.3.6.so) ==2120== by 0x4ED31E2: (within /usr/lib/libcurl.so.3.0.0) ==2120== ==2120== Conditional jump or move depends on uninitialised value(s) ==2120== at 0x4010AF9: (within /lib/ld-2.3.6.so) ==2120== by 0x4006CB6: (within /lib/ld-2.3.6.so) ==2120== by 0x51FF260: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x51FECF7: _dl_open (in /lib/libc-2.3.6.so) ==2120== by 0x5201497: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x52014E1: __libc_dlopen_mode (in /lib/libc-2.3.6.so) ==2120== by 0x51DC456: __nss_lookup_function (in /lib/libc-2.3.6.so) ==2120== by 0x51B6FCE: (within /lib/libc-2.3.6.so) ==2120== by 0x51B7C06: getaddrinfo (in /lib/libc-2.3.6.so) ==2120== by 0x4ED31E2: (within /usr/lib/libcurl.so.3.0.0) ==2120== ==2120== Conditional jump or move depends on uninitialised value(s) ==2120== at 0x4010B04: (within /lib/ld-2.3.6.so) ==2120== by 0x4006CB6: (within /lib/ld-2.3.6.so) ==2120== by 0x51FF260: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x51FECF7: _dl_open (in /lib/libc-2.3.6.so) ==2120== by 0x5201497: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x52014E1: __libc_dlopen_mode (in /lib/libc-2.3.6.so) ==2120== by 0x51DC456: __nss_lookup_function (in /lib/libc-2.3.6.so) ==2120== by 0x51B6FCE: (within /lib/libc-2.3.6.so) ==2120== by 0x51B7C06: getaddrinfo (in /lib/libc-2.3.6.so) ==2120== by 0x4ED31E2: (within /usr/lib/libcurl.so.3.0.0) ==2120== ==2120== Conditional jump or move depends on uninitialised value(s) ==2120== at 0x4010C61: (within /lib/ld-2.3.6.so) ==2120== by 0x4006E47: (within /lib/ld-2.3.6.so) ==2120== by 0x51FF260: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x51FECF7: _dl_open (in /lib/libc-2.3.6.so) ==2120== by 0x5201497: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x52014E1: __libc_dlopen_mode (in /lib/libc-2.3.6.so) ==2120== by 0x51DC456: __nss_lookup_function (in /lib/libc-2.3.6.so) ==2120== by 0x51B6FCE: (within /lib/libc-2.3.6.so) ==2120== by 0x51B7C06: getaddrinfo (in /lib/libc-2.3.6.so) ==2120== by 0x4ED31E2: (within /usr/lib/libcurl.so.3.0.0) ==2120== ==2120== Invalid read of size 8 ==2120== at 0x4010C54: (within /lib/ld-2.3.6.so) ==2120== by 0x4008D38: (within /lib/ld-2.3.6.so) ==2120== by 0x4004CF2: (within /lib/ld-2.3.6.so) ==2120== by 0x4006D6C: (within /lib/ld-2.3.6.so) ==2120== by 0x51FF260: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x51FECF7: _dl_open (in /lib/libc-2.3.6.so) ==2120== by 0x5201497: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x52014E1: __libc_dlopen_mode (in /lib/libc-2.3.6.so) ==2120== by 0x51DC456: __nss_lookup_function (in /lib/libc-2.3.6.so) ==2120== by 0x51B6FCE: (within /lib/libc-2.3.6.so) ==2120== Address 0x5F096F0 is 16 bytes inside a block of size 23 alloc'd ==2120== at 0x4A1B858: malloc (vg_replace_malloc.c:149) ==2120== by 0x4007113: (within /lib/ld-2.3.6.so) ==2120== by 0x51FF260: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x51FECF7: _dl_open (in /lib/libc-2.3.6.so) ==2120== by 0x5201497: (within /lib/libc-2.3.6.so) ==2120== by 0x400B7D0: (within /lib/ld-2.3.6.so) ==2120== by 0x52014E1: __libc_dlopen_mode (in /lib/libc-2.3.6.so) ==2120== by 0x51DC456: __nss_lookup_function (in /lib/libc-2.3.6.so) ==2120== by 0x51B6FCE: (within /lib/libc-2.3.6.so) ==2120== by 0x51B7C06: getaddrinfo (in /lib/libc-2.3.6.so) ==2120== by 0x4ED31E2: (within /usr/lib/libcurl.so.3.0.0) ... ==2120== ==2120== IN SUMMARY: 6 errors from 5 contexts (suppressed: 9 from 1) ==2120==

Previous: Luiz Fernando N. CapitulinoNext: Luiz Fernando N. Capitulino
Message 2 of 4 in “git-http-fetch Segmentation fault”
  1. Luiz Fernando N. CapitulinoMay 8, 2007
  2. Junio C HamanoMay 8, 2007
  3. Luiz Fernando N. CapitulinoMay 8, 2007
  4. Luiz Fernando N. CapitulinoMay 8, 2007

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.