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

git-diff-tree crashes on ubuntu kernel git repository

From
TSTorgil Svensson <torgil.svensson@gmail.com>
Date
May 22, 2006, 23:09 UTC
Message-ID
<e7bda7770605221609h7c18c2ccpe92db34050d46f9f@mail.gmail.com>
Hi
It seems like git-diff-tree has some problems with moved files:

$ git-diff-tree -p --stat --summary -M 348f179e3195448cea49c98a79cce8c7f446ce26 343ca16424ba031b37e4df49afddaee098a8f347 | wc -l *** glibc detected *** free(): invalid pointer: 0x12ecbbf0 *** 6101

As can be seen below there is some obvious error in the output just
prior to the crash:
 drivers/w1/{masters => }/ds_w1_bridge.c            |   38

This file is moved into "w1/masters" by commit bd529cfb40c427d5b5aae0d315afb9f0a1da5e76

$ git --version git version 1.3.3.g5e36

$ cat .git/remotes/origin
URL: git://git.kernel.org/pub/scm/linux/kernel/git/bcollins/ubuntu-2.6
Pull: refs/heads/master:refs/heads/origin
 $ gdb git-diff-tree
(gdb) run -p --stat --summary -M
348f179e3195448cea49c98a79cce8c7f446ce26
343ca16424ba031b37e4df49afddaee098a8f347
<...lots of files...>
 drivers/video/w100fb.c                             |  162
 drivers/video/w100fb.h                             |  748 -
 drivers/w1/Kconfig                                 |   62
 drivers/w1/Makefile                                |   10
 drivers/w1/{masters => }/ds_w1_bridge.c            |   38
*** glibc detected *** free(): invalid pointer: 0x12ecbbf0 ***

Program received signal SIGABRT, Aborted. 0xffffe410 in __kernel_vsyscall () (gdb) bt #0 0xffffe410 in __kernel_vsyscall () #1 0xb7d7e9a1 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xb7d802b9 in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xb7db287a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6 #4 0xb7db8fd4 in malloc_usable_size () from /lib/tls/i686/cmov/libc.so.6 #5 0xb7db934a in free () from /lib/tls/i686/cmov/libc.so.6 #6 0x08056902 in show_stats (data=0x8deff80) at diff.c:392 #7 0x08058466 in diff_flush (options=0x80686b0) at diff.c:1999 #8 0x0805b143 in log_tree_diff_flush (opt=0x8068680) at log-tree.c:82 #9 0x08049d11 in main (argc=0, argv=0xbfcf8a14) at diff-tree.c:130 (gdb)

As shown above I can easily recreate the crash if you want more info. Thank you for a wonderful tool.

//Torgil
Next: Sean
Message 1 of 5 in “git-diff-tree crashes on ubuntu kernel git repository”
  1. Torgil SvenssonMay 22, 2006
  2. Avoid segfault in diff --stat rename output.Sean, May 23, 2006
  3. Junio C HamanoMay 23, 2006
  4. Q: xasprintfDmitry V. Levin, May 23, 2006
  5. Torgil SvenssonMay 23, 2006

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.