From: Rado Dr. Date: Tue, 26 Oct 2010 09:54:48 GMT Subject: Re: git status & seg.fault Message-ID: In-Reply-To: Here we are: (gdb) run Starting program: /usr/local/bin/git status [Thread debugging using libthread_db enabled] Program received signal SIGSEGV, Segmentation fault. 0x080ed94d in hash_name (name=0xb7c09000
, namelen=-33580) at name-hash.c:28 28 unsigned char c = *name++; (gdb) bt full #0 0x080ed94d in hash_name (name=0xb7c09000
, namelen=-33580) at name-hash.c:28 c = 0 '\000' hash = 3198509075 #1 0x080ed9d5 in hash_index_entry (istate=0x81b5600, ce=0xb7c00c90) at name-hash.c:44 pos = 0x0 hash = 1031650602 #2 0x080eda52 in lazy_init_name_hash (istate=0x81b5600) at name-hash.c:59 nr = 16272 #3 0x080edbe3 in index_name_exists (istate=0x81b5600, name=0xbfffb36b "src/FotoPlusServer/build.xml", namelen=28, icase=0) at name-hash.c:108 hash = 842511099 ce = 0xbfffb358 #4 0x080dbea1 in dir_add_name (dir=0xbfffe4f4, pathname=0xbfffb36b "src/FotoPlusServer/build.xml", len=28) at dir.c:449 No locals. #5 0x080dc916 in read_directory_recursive (dir=0xbfffe4f4, base=0xbfffc3cb "src/FotoPlusServer/", baselen=19, check_only=0, simplify=0x0) at dir.c:809 len = 28 de = 0x84a9bf0 path = "src/FotoPlusServer/build.xml", '\000' , "s\232\352\267Q\275\377\277\250\316\377\277\026\000\000\000\\\273\377\277\v\000\000\000\360\273\377\277\v\000\000\000\364_\371\267\\\273\377\277\360\273\377\277(\273\377\277\036\315\347\267\\\273\377\277Z\031\026\b\v", '\000' "\377, \377\377\377", '\000' , " ", '\000' "\200, \272\377\277\000\000\000\000v\373\377\377", '\000' "\352, \377\377\377\000\000\000\000\000\000\000\000\202\357\347\267\000\000\000\000j\031\026\b\340V\371\267j\031\026\b\360\273\377\277\002\000\000\000e\031\026\b\000\000\000\000\204\274\377\277Z\031\026\b\v", '\000' , "s\232\352\267A\302\377\277\230\323\377\277\026\000\000\000L\300\377\277\v\000\000\000\340\300\377\277\v\000\000\000\364_\371\267L\300\377\277\340\300\377\277\030\300\377\277\036\315\347\267L\300\377\277Z\031\026\b\v", '\000' "\377, \377\377\377\000\000\000\000\000\000\000\000\364"... fdir = 0x84a9bd8 contents = 1 #6 0x080dc8df in read_directory_recursive (dir=0xbfffe4f4, base=0xbfffd42b "src/", baselen=4, check_only=0, simplify=0x0) at dir.c:797 len = 19 de = 0x8435168 path = "src/FotoPlusServer/", '\000' , "s\232\352\267", '\000' , "\005\000\000\000\320\315\377\277\005\000\000\000\364_\371\267<\315\377\277;\032\026\b\b\315\377\277\"\322\347\267<\315\377\277\066\032\026\b\005", '\000' , "\005", '\000' "\377, \377\377\377", '\000' , " ", '\000' , "`\314\377\277\000\000\000\000v\373\377\377\000\000\000\000\065\032\026\b\000\000\000\000\000\000\000\000\374\377\377\377\000\000\000\000\000\000\000\000\202\357\347\267\000\000\000\000\066\032\026\b\340V\371\267;\032\026\b\320\315\377\277\002\000\000\000\062\032\026\b\000\000\000\000t\316\377\277%\032\026\b\026", '\000' , "q\a\347\267", '\000' "\377, \377\377\377\000\000\000\000\005\000\000\000\240\312\377\277", '\000' "\231"... fdir = 0x8435150 contents = 0 #7 0x080dc8df in read_directory_recursive (dir=0xbfffe4f4, base=0x815dbde "", baselen=0, check_only=0, simplify=0x0) at dir.c:797 len = 4 de = 0x842d148 path = "src/\000vl\276\267I\000\000\000\000\200\000\000ܻ2\b\307E\353\267\000\000\000\000\244\327\377\277\022\322\017\b~l\276\267\267\314A\b\a\000\000\000\000\000\000\000vl\276\267\000\000\000\000\a\000\000\000[\000//dk\276\267\026\000\000\000\310\324\377\277\224\237\022\b~l\276\267A\000\000\000\000\200\000\000\267\314A\b\307E\353\267\000\000\000\000\244\327\377\277\022\322\017\b\206l\276\267~GD\b\a\000\000\000\000\000\000\000~l\276\267\000\000\000\000\a\000\000\000[\000//\001\000\000\000\000\000\000\000\030\325\377\277\224\237\022\b\206l\276\267\071\000\000\000\000\200\000\000~GD\b\307E\353\267\000\000\000\000\244\327\377\277\022\322\017\b\216l\276\267\024\362D\b\b\000\000\000\000\000\000\000\206l\276\267\000\000\000\000\b\000\000\000[\000//#\227\067\b\270\325\377\277h\325\377\277\224\237\022\b\216l\276\267\061\000\000\000\000\200\000\000\024\362D\b\307E\353\267\000\000\000\000\244\327\377\277\022\322\017\b\227l\276\267d\t%\b\b\000\000\000\000\000\000\000\216l\276"... fdir = 0x842d130 contents = 0 #8 0x080dcd3b in read_directory (dir=0xbfffe4f4, path=0x815dbde "", len=0, pathspec=0x0) at dir.c:916 simplify = 0x0 #9 0x080db157 in fill_directory (dir=0xbfffe4f4, pathspec=0x0) at dir.c:70 path = 0x815dbde "" basebuf = "src/FotoPlusServer/\000gitignore", '\000' } #11 0x081307a2 in wt_status_collect (s=0xbffff5a8) at wt-status.c:423 No locals. #12 0x0806632d in cmd_status (argc=0, argv=0xbffff968, prefix=0x0) at builtin/commit.c:1104 s = {is_initial = 0, branch = 0x81b62a0 "refs/heads/uploadFiles", reference = 0x8167a22 "HEAD", pathspec = 0x0, verbose = 0, amend = 0, in_merge = 0, nowarn = 0, use_color = -1, relative_paths = 1, submodule_summary = 0, show_ignored_files = 0, show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES, ignore_submodule_arg = 0x0, color_palette = {'\000' , "\033[33m", '\000' , "\033[32m", '\000' , "\033[36m", '\000' , "\033[31m", '\000' , "\033[31m", '\000' , "\033[32m", '\000' , "\033[31m", '\000' }, commitable = 0, workdir_dirty = 1, index_file = 0x81b61a0 ".git/index", fp = 0xb7f964e0, prefix = 0x0, change = {items = 0x8498228, nr = 430, alloc = 448, strdup_strings = 1}, untracked = {items = 0x0, nr = 0, alloc = 0, strdup_strings = 1}, ignored = {items = 0x0, nr = 0, alloc = 0, strdup_strings = 1}} fd = 5 sha1 = "j\201\033YO;}d\323\v\313\062\372\205\264{A\353Hh" builtin_status_options = {{type = OPTION_BOOLEAN, short_name = 118, long_name = 0x8145c5d "verbose", value = 0x8179434, argh = 0x0, help = 0x8145c65 "be verbose", flags = 2, callback = 0, defval = 0}, {type = OPTION_SET_INT, short_name = 115, long_name = 0x8145f97 "short", value = 0x8179484, argh = 0x0, help = 0x8145f9d "show status concisely", flags = 2, callback = 0, defval = 1}, {type = OPTION_BOOLEAN, short_name = 98, long_name = 0x8145fb3 "branch", value = 0x8179488, argh = 0x0, help = 0x8145fba "show branch information", flags = 2, callback = 0, defval = 0}, {type = OPTION_SET_INT, short_name = 0, long_name = 0x8145fd2 "porcelain", value = 0x8179484, argh = 0x0, help = 0x8145fdc "show porcelain output format", flags = 2, callback = 0, defval = 2}, {type = OPTION_BOOLEAN, short_name = 122, long_name = 0x8145ff9 "null", value = 0x8179480, argh = 0x0, help = 0x8145ffe "terminate entries with NUL", flags = 2, callback = 0, defval = 0}, {type = OPTION_STRING, short_name = 117, long_name = 0x814605e "untracked-files", value = 0x8179450, argh = 0x814606e "mode", help = 0x8146d78 "show untracked files, optional modes: all, normal, no. (Default: all)", flags = 1, callback = 0, defval = 135552702}, {type = OPTION_BOOLEAN, short_name = 0, long_name = 0x8146dbe "ignored", value = 0x817946c, argh = 0x0, help = 0x8146dc6 "show ignored files", flags = 2, callback = 0, defval = 0}, {type = OPTION_STRING, short_name = 0, long_name = 0x8146dd9 "ignore-submodules", value = 0x8179458, argh = 0x8146deb "when", help = 0x8146df0 "ignore changes to submodules, optional when: all, dirty, untracked. (Default: all)", flags = 1, callback = 0, defval = 135552702}, {type = OPTION_END, short_name = 0, long_name = 0x0, value = 0x0, argh = 0x0, help = 0x0, flags = 0, callback = 0, defval = 0}} #13 0x0804bbb4 in run_builtin (p=0x816a760, argc=1, argv=0xbffff968) at git.c:275 status = -1209323120 help = 0 st = {st_dev = 7165064483209180463, __pad1 = 50624, __st_ino = 3086589952, st_mode = 1920169263, st_nlink = 4294967295, st_uid = 3087003636, st_gid = 134519560, st_rdev = 13258579662338732358, __pad2 = 1699, st_size = -5189937631567283536, st_blksize = 1, st_blocks = 1, st_atim = {tv_sec = 1, tv_nsec = 134517876}, st_mtim = {tv_sec = 135701220, tv_nsec = 0}, st_ctim = { tv_sec = -1209743936, tv_nsec = -1208393740}, st_ino = 0} prefix = 0x0 #14 0x0804bd12 in handle_internal_command (argc=1, argv=0xbffff968) at git.c:431 p = 0x816a760 cmd = 0xbffffae4 "status" commands = {{cmd = 0x8140240 "add", fn = 0x804cc5c , option = 9}, {cmd = 0x8140244 "stage", fn = 0x804cc5c , option = 9}, {cmd = 0x814024a "annotate", fn = 0x804d210 , option = 1}, {cmd = 0x8140253 "apply", fn = 0x805501a , option = 2}, {cmd = 0x8140259 "archive", fn = 0x8055cc9 , option = 0}, { cmd = 0x8140261 "bisect--helper", fn = 0x8055ea4 , option = 9}, {cmd = 0x8140270 "blame", fn = 0x805a3d8 , option = 1}, {cmd = 0x8140276 "branch", fn = 0x805c4d1 , option = 1}, {cmd = 0x814027d "bundle", fn = 0x805cc64 , option = 2}, {cmd = 0x8140284 "cat-file", fn = 0x805d798 , option = 1}, { cmd = 0x814028d "checkout", fn = 0x8060b0d , option = 9}, {cmd = 0x8140296 "checkout-index", fn = 0x805e849 , option = 9}, { cmd = 0x81402a5 "check-ref-format", fn = 0x805e06b , option = 0}, {cmd = 0x81402b6 "check-attr", fn = 0x805dd3a , option = 1}, { cmd = 0x81402c1 "cherry", fn = 0x80830c9 , option = 1}, {cmd = 0x81402c8 "cherry-pick", fn = 0x80a96f2 , option = 9}, {cmd = 0x81402d4 "clone", fn = 0x8062aa5 , option = 0}, {cmd = 0x81402da "clean", fn = 0x80616a4 , option = 9}, {cmd = 0x81402e0 "commit", fn = 0x80669b5 , option = 9}, { cmd = 0x81402e7 "commit-tree", fn = 0x80637c4 , option = 1}, {cmd = 0x81402f3 "config", fn = 0x8067d09 , option = 2}, {cmd = 0x81402fa "count-objects", fn = 0x80688b2 , option = 1}, {cmd = 0x8140308 "describe", fn = 0x80699da , option = 1}, {cmd = 0x8140311 "diff", fn = 0x806b3ab , option = 0}, { cmd = 0x8140316 "diff-files", fn = 0x8069ed4 , option = 9}, {cmd = 0x8140321 "diff-index", fn = 0x806a170 , option = 1}, {cmd = 0x814032c "diff-tree", fn = 0x806a735 , option = 1}, {cmd = 0x8140336 "fast-export", fn = 0x806d187 , option = 1}, {cmd = 0x8140342 "fetch", fn = 0x8071ee4 , option = 1}, {cmd = 0x8140348 "fetch-pack", fn = 0x806f4e8 , option = 1}, {cmd = 0x8140353 "fmt-merge-msg", fn = 0x8072f63 , option = 1}, { cmd = 0x8140361 "for-each-ref", fn = 0x8075280 , option = 1}, {cmd = 0x814036e "format-patch", fn = 0x8081df4 , option = 1}, {cmd = 0x814037b "fsck", fn = 0x8076899 , option = 1}, {cmd = 0x8140380 "fsck-objects", fn = 0x8076899 , option = 1}, {cmd = 0x814038d "gc", fn = 0x807711f , option = 1}, { cmd = 0x8140390 "get-tar-commit-id", fn = 0x80b0e11 , option = 0}, {cmd = 0x81403a2 "grep", fn = 0x80790a3 , option = 2}, {cmd = 0x81403a7 "hash-object", fn = 0x807a6ce , option = 0}, {cmd = 0x814018c "help", fn = 0x807b78f , option = 0}, {cmd = 0x81403b3 "index-pack", fn = 0x807db0d , option = 2}, {cmd = 0x81403be "init", fn = 0x807f55a , option = 0}, {cmd = 0x81403c3 "init-db", fn = 0x807f55a , option = 0}, {cmd = 0x81403cb "log", fn = 0x8080ce2 , option = 1}, {cmd = 0x81403cf "ls-files", fn = 0x80846ce , option = 1}, {cmd = 0x81403d8 "ls-tree", fn = 0x80857c5 , option = 1}, {cmd = 0x81403e0 "ls-remote", fn = 0x80850df , option = 2}, {cmd = 0x81403ea "mailinfo", fn = 0x8087f61 , option = 0}, {cmd = 0x81403f3 "mailsplit", fn = 0x8088b19 , option = 0}, {cmd = 0x81403fd "merge", fn = 0x808b8cb , option = 9}, {cmd = 0x8140403 "merge-base", fn = 0x808ca8d , option = 1}, {cmd = 0x814040e "merge-file", fn = 0x808ccc0 , option = 2}, {cmd = 0x8140419 "merge-index", fn = 0x808d48f , option = 1}, {cmd = 0x8140425 "merge-ours", fn = 0x808d5f4 , option = 1}, {cmd = 0x8140430 "merge-recursive", fn = 0x808d6b6 , option = 9}, {cmd = 0x8140440 "merge-recursive-ours", fn = 0x808d6b6 , option = 9}, {cmd = 0x8140455 "merge-recursive-theirs", fn = 0x808d6b6 , option = 9}, {cmd = 0x814046c "merge-subtree", fn = 0x808d6b6 , option = 9}, {cmd = 0x814047a "merge-tree", fn = 0x808e43a , option = 1}, {cmd = 0x8140485 "mktag", fn = 0x808e9f9 , option = 1}, {cmd = 0x814048b "mktree", fn = 0x808f046 , option = 1}, {cmd = 0x8140492 "mv", fn = 0x808f3e4 , option = 9}, {cmd = 0x8140495 "name-rev", fn = 0x809040f , option = 1}, { cmd = 0x814049e "notes", fn = 0x8092d45 , option = 1}, {cmd = 0x81404a4 "pack-objects", fn = 0x809779e , option = 1}, {cmd = 0x81404b1 "pack-redundant", fn = 0x8099044 , option = 1}, {cmd = 0x81404c0 "patch-id", fn = 0x8099aa7 , option = 0}, {cmd = 0x81404c9 "peek-remote", fn = 0x80850df , option = 2}, {cmd = 0x81404d5 "pickaxe", fn = 0x805a3d8 , option = 1}, {cmd = 0x81404dd "prune", fn = 0x809a2d9 , option = 1}, {cmd = 0x81404e3 "prune-packed", fn = 0x8099d63 , option = 1}, {cmd = 0x81404f0 "push", fn = 0x809ac29 , option = 1}, {cmd = 0x81404f5 "read-tree", fn = 0x809b2e0 , option = 1}, { cmd = 0x81404ff "receive-pack", fn = 0x809d6a6 , option = 0}, {cmd = 0x814050c "reflog", fn = 0x809f614 , option = 1}, {cmd = 0x8140513 "remote", fn = 0x80a3710 , option = 1}, {cmd = 0x814051a "replace", fn = 0x80a3d9e , option = 1}, {cmd = 0x8140522 "repo-config", fn = 0x8067d09 , option = 2}, { cmd = 0x814052e "rerere", fn = 0x80a442a , option = 1}, {cmd = 0x8140535 "reset", fn = 0x80a4f5e , option = 1}, {cmd = 0x814053b "rev-list", fn = 0x80a60c1 , option = 1}, {cmd = 0x8140544 "rev-parse", fn = 0x80a744a , option = 0}, {cmd = 0x814054e "revert", fn = 0x80a96b4 , option = 9}, { cmd = 0x8140555 "rm", fn = 0x80a9ae5 , option = 1}, {cmd = 0x8140558 "send-pack", fn = 0x80aac7e , option = 1}, {cmd = 0x8140562 "shortlog", fn = 0x80abe10 , option = 6}, {cmd = 0x814056b "show-branch", fn = 0x80ad6ae , option = 1}, {cmd = 0x8140577 "show", fn = 0x80806fa , option = 1}, { cmd = 0x814057c "status", fn = 0x8066142 , option = 9}, {cmd = 0x8140583 "stripspace", fn = 0x80af2f3 , option = 0}, {cmd = 0x814058e "symbolic-ref", fn = 0x80af479 , option = 1}, {cmd = 0x814059b "tag", fn = 0x80b0330 , option = 1}, {cmd = 0x814059f "tar-tree", fn = 0x80b0c44 , option = 0}, { cmd = 0x81405a8 "unpack-file", fn = 0x80b1018 , option = 1}, {cmd = 0x81405b4 "unpack-objects", fn = 0x80b2366 , option = 1}, { cmd = 0x81405c3 "update-index", fn = 0x80b3c1b , option = 1}, {cmd = 0x81405d0 "update-ref", fn = 0x80b45af , option = 1}, { cmd = 0x81405db "update-server-info", fn = 0x80b4894 , option = 1}, {cmd = 0x81405ee "upload-archive", fn = 0x80b4d42 , option = 0}, { cmd = 0x81405fd "var", fn = 0x80b513a , option = 2}, {cmd = 0x8140601 "verify-tag", fn = 0x80b5cc0 , option = 1}, {cmd = 0x814060c "version", fn = 0x80e475f , option = 0}, {cmd = 0x8140614 "whatchanged", fn = 0x808037e , option = 1}, {cmd = 0x8140620 "write-tree", fn = 0x80b5dcc , option = 1}, {cmd = 0x814062b "verify-pack", fn = 0x80b57ac , option = 0}, {cmd = 0x8140637 "show-ref", fn = 0x80aeeda , option = 1}, { cmd = 0x8140640 "pack-refs", fn = 0x8099468 , option = 1}} i = 88 ext = "" #15 0x0804bdee in run_argv (argcp=0xbffff8c0, argv=0xbffff8c4) at git.c:475 done_alias = 0 #16 0x0804bf60 in main (argc=1, argv=0xbffff968) at git.c:548 done_help = 0 was_alias = 0 cmd = 0xbffffae4 "status" (gdb) 2010/10/26 Ævar Arnfjörð Bjarmason : > On Tue, Oct 26, 2010 at 11:45, Rado Dr. wrote: >> there is output: >> Reading symbols from /usr/local/bin/git...done. >> (gdb) run >> Starting program: /usr/local/bin/git status >> [Thread debugging using libthread_db enabled] >> >> Program received signal SIGSEGV, Segmentation fault. >> hash_index_entry (istate=, ce=0xb7c00c90) at name-hash.c:44 >> 44              hash = hash_name(ce->name, ce_namelen(ce)); >> (gdb) bt full >> #0  hash_index_entry (istate=, ce=0xb7c00c90) at >> name-hash.c:44 >>        pos = >>        hash = 3198509075 >> #1  0x080dde47 in lazy_init_name_hash (istate=0x8194180, >> name=0xbfffb34b "src/FotoPlusServer/build.xml", namelen=28, icase=0) >>    at name-hash.c:59 >>        nr = 16273 >> #2  index_name_exists (istate=0x8194180, name=0xbfffb34b >> "src/FotoPlusServer/build.xml", namelen=28, icase=0) at >> name-hash.c:108 >>        hash = >>        ce = >> #3  0x080cf190 in dir_add_name (dir=, base=> optimized out>, baselen=, check_only=0, >>    simplify=0x0) at dir.c:449 >> No locals. > > I haven't tried to grok all that, but you'd get a better backtrace if > you compiled git with debug flags, e.g.: > >    make CFLAGS="-O0 -ggdb3" > > And then did gdb ./git .... Sorry for not mentioning it to begin with. > -- Rado Dr.