From: Armin <netzverweigerer@gmail.com>
To: git@vger.kernel.org
Cc: netzverweigerer@gmail.com
Subject: segmentation fault (nullpointer) with git log --submodule -p
Date: Wed, 23 Jan 2013 15:38:16 +0100 [thread overview]
Message-ID: <20130123143816.GA579@krypton.darkbyte.org> (raw)
Hello dear git people.
I experience a reproducible segmentation fault on one of my repositories when doing a "git log --submodule -p", tested with newest version on Arch Linux (git version 1.8.1.1) and built fresh (git version 1.8.1.1.347.g9591fcc), tried on 2 seperate systems:
Program terminated with signal 11, Segmentation fault.
#0 0x00000000004b51e5 in parse_commit_header (context=0x7ffff69b6980) at pretty.c:752
752 for (i = 0; msg[i]; i++) {
(gdb) bt
#0 0x00000000004b51e5 in parse_commit_header (context=0x7ffff69b6980) at pretty.c:752
#1 format_commit_one (context=<optimized out>, placeholder=0x526b1e "s", sb=0x7ffff69b6ad0) at pretty.c:1157
#2 format_commit_item (sb=0x7ffff69b6ad0, placeholder=0x526b1e "s", context=<optimized out>) at pretty.c:1224
#3 0x00000000004dacd9 in strbuf_expand (sb=sb@entry=0x7ffff69b6ad0, format=0x526b1e "s", format@entry=0x526b18 " %m %s", fn=fn@entry=0x4b4730 <format_commit_item>, context=context@entry=0x7ffff69b6980)
at strbuf.c:247
#4 0x00000000004b5816 in format_commit_message (commit=commit@entry=0x1ffafd8, format=format@entry=0x526b18 " %m %s", sb=sb@entry=0x7ffff69b6ad0, pretty_ctx=pretty_ctx@entry=0x7ffff69b6af0) at pretty.c:1284
#5 0x00000000004dde52 in print_submodule_summary (reset=0x754640 "\033[m", add=0x754708 "\033[32m", del=0x7546e0 "\033[31m", f=0x7f0685bac7a0, rev=0x7ffff69b6b40) at submodule.c:236
#6 show_submodule_summary (f=0x7f0685bac7a0, path=<optimized out>, one=one@entry=0x1ff2af0 "\020\\vC\371\070\vJ\352\344\205\340\226u\273\021\372\330\234\004",
two=two@entry=0x2030a60 "\301a(\350\371\372\340mb[խo_\272\301\223V˙", dirty_submodule=<optimized out>, meta=meta@entry=0x754690 "\033[1m", del=del@entry=0x7546e0 "\033[31m", add=0x754708 "\033[32m",
reset=reset@entry=0x754640 "\033[m") at submodule.c:307
#7 0x000000000048dd1d in builtin_diff (name_a=name_a@entry=0x1ff2b50 "Packages/Application/Amadeus.Somea.Dialog", name_b=name_b@entry=0x1ff2b50 "Packages/Application/Amadeus.Somea.Dialog",
one=one@entry=0x1ff2af0, two=two@entry=0x2030a60, xfrm_msg=0x2039a20 "\033[1mindex 105c764..c16128e 160000\033[m\n", must_show_header=must_show_header@entry=0, o=o@entry=0x7ffff69b7b88,
complete_rewrite=complete_rewrite@entry=0) at diff.c:2267
#8 0x000000000048e60e in run_diff_cmd (pgm=pgm@entry=0x0, name=0x1ff2b50 "Packages/Application/Amadeus.Somea.Dialog", other=<optimized out>,
attr_path=attr_path@entry=0x1ff2b50 "Packages/Application/Amadeus.Somea.Dialog", one=one@entry=0x1ff2af0, two=two@entry=0x2030a60, msg=msg@entry=0x7ffff69b74b0, o=o@entry=0x7ffff69b7b88, p=p@entry=0x20371b0)
at diff.c:3057
(gdb) bt
#0 0x00000000004b51e5 in parse_commit_header (context=0x7ffff69b6980) at pretty.c:752
#1 format_commit_one (context=<optimized out>, placeholder=0x526b1e "s", sb=0x7ffff69b6ad0) at pretty.c:1157
#2 format_commit_item (sb=0x7ffff69b6ad0, placeholder=0x526b1e "s", context=<optimized out>) at pretty.c:1224
#3 0x00000000004dacd9 in strbuf_expand (sb=sb@entry=0x7ffff69b6ad0, format=0x526b1e "s", format@entry=0x526b18 " %m %s", fn=fn@entry=0x4b4730 <format_commit_item>, context=context@entry=0x7ffff69b6980)
at strbuf.c:247
#4 0x00000000004b5816 in format_commit_message (commit=commit@entry=0x1ffafd8, format=format@entry=0x526b18 " %m %s", sb=sb@entry=0x7ffff69b6ad0, pretty_ctx=pretty_ctx@entry=0x7ffff69b6af0) at pretty.c:1284
#5 0x00000000004dde52 in print_submodule_summary (reset=0x754640 "\033[m", add=0x754708 "\033[32m", del=0x7546e0 "\033[31m", f=0x7f0685bac7a0, rev=0x7ffff69b6b40) at submodule.c:236
#6 show_submodule_summary (f=0x7f0685bac7a0, path=<optimized out>, one=one@entry=0x1ff2af0 "\020\\vC\371\070\vJ\352\344\205\340\226u\273\021\372\330\234\004",
two=two@entry=0x2030a60 "\301a(\350\371\372\340mb[խo_\272\301\223V˙", dirty_submodule=<optimized out>, meta=meta@entry=0x754690 "\033[1m", del=del@entry=0x7546e0 "\033[31m", add=0x754708 "\033[32m",
reset=reset@entry=0x754640 "\033[m") at submodule.c:307
#7 0x000000000048dd1d in builtin_diff (name_a=name_a@entry=0x1ff2b50 "Packages/Application/Amadeus.Somea.Dialog", name_b=name_b@entry=0x1ff2b50 "Packages/Application/Amadeus.Somea.Dialog",
one=one@entry=0x1ff2af0, two=two@entry=0x2030a60, xfrm_msg=0x2039a20 "\033[1mindex 105c764..c16128e 160000\033[m\n", must_show_header=must_show_header@entry=0, o=o@entry=0x7ffff69b7b88,
complete_rewrite=complete_rewrite@entry=0) at diff.c:2267
#8 0x000000000048e60e in run_diff_cmd (pgm=pgm@entry=0x0, name=0x1ff2b50 "Packages/Application/Amadeus.Somea.Dialog", other=<optimized out>,
attr_path=attr_path@entry=0x1ff2b50 "Packages/Application/Amadeus.Somea.Dialog", one=one@entry=0x1ff2af0, two=two@entry=0x2030a60, msg=msg@entry=0x7ffff69b74b0, o=o@entry=0x7ffff69b7b88, p=p@entry=0x20371b0)
at diff.c:3057
#9 0x000000000048eb3d in run_diff (o=0x7ffff69b7b88, p=0x20371b0) at diff.c:3145
#10 diff_flush_patch (o=0x7ffff69b7b88, p=0x20371b0) at diff.c:3979
#11 diff_flush_patch (p=0x20371b0, o=0x7ffff69b7b88) at diff.c:3970
#12 0x000000000048f15f in diff_flush (options=options@entry=0x7ffff69b7b88) at diff.c:4500
#13 0x00000000004a211a in log_tree_diff_flush (opt=opt@entry=0x7ffff69b7850) at log-tree.c:776
#14 0x00000000004a22b2 in log_tree_diff (log=0x7ffff69b7720, commit=0x1ffdf60, opt=0x7ffff69b7850) at log-tree.c:836
#15 log_tree_commit (opt=opt@entry=0x7ffff69b7850, commit=commit@entry=0x1ffdf60) at log-tree.c:859
#16 0x00000000004393d3 in cmd_log_walk (rev=rev@entry=0x7ffff69b7850) at builtin/log.c:310
#17 0x0000000000439f38 in cmd_log (argc=3, argv=0x7ffff69b80c0, prefix=0x0) at builtin/log.c:582
#18 0x0000000000405978 in run_builtin (argv=0x7ffff69b80c0, argc=3, p=0x74fd20) at git.c:281
#19 handle_internal_command (argc=3, argv=0x7ffff69b80c0) at git.c:442
#20 0x0000000000404de2 in run_argv (argv=0x7ffff69b7f50, argcp=0x7ffff69b7f5c) at git.c:488
#21 main (argc=3, argv=0x7ffff69b80c0) at git.c:563
(gdb) f 0
#0 0x00000000004b51e5 in parse_commit_header (context=0x7ffff69b6980) at pretty.c:752
752 for (i = 0; msg[i]; i++) {
(gdb) l
747 static void parse_commit_header(struct format_commit_context *context)
748 {
749 const char *msg = context->message;
750 int i;
751
752 for (i = 0; msg[i]; i++) {
753 int eol;
754 for (eol = i; msg[eol] && msg[eol] != '\n'; eol++)
755 ; /* do nothing */
756
(gdb) p msg
$7 = <optimized out>
(gdb) p context->message
$8 = 0x0
(gdb) x/8i $pc
=> 0x4b51e5 <format_commit_item+2741>: movzbl (%rcx),%eax
0x4b51e8 <format_commit_item+2744>: mov %rcx,0x18(%rsp)
0x4b51ed <format_commit_item+2749>: mov %rcx,%r10
0x4b51f0 <format_commit_item+2752>: test %al,%al
0x4b51f2 <format_commit_item+2754>: je 0x4b52a3 <format_commit_item+2931>
0x4b51f8 <format_commit_item+2760>: nopl 0x0(%rax,%rax,1)
0x4b5200 <format_commit_item+2768>: test %al,%al
0x4b5202 <format_commit_item+2770>: je 0x4b529e <format_commit_item+2926>
(gdb) i r rcx
rcx 0x0 0
Does this help in any way? Can i provide any further information that helps?
Many thanks for reading this and all the best,
Armin
next reply other threads:[~2013-01-23 14:38 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-23 14:38 Armin [this message]
2013-01-23 20:02 ` segmentation fault (nullpointer) with git log --submodule -p Jeff King
2013-01-24 12:11 ` Stefan Näwe
2013-01-24 13:40 ` Duy Nguyen
2013-01-24 14:06 ` Stefan Näwe
2013-01-24 14:14 ` Duy Nguyen
2013-01-24 23:27 ` Jeff King
2013-01-24 23:56 ` Junio C Hamano
2013-01-25 0:55 ` Jeff King
2013-01-25 2:05 ` Duy Nguyen
2013-01-25 3:59 ` Junio C Hamano
2013-01-25 4:08 ` Jeff King
2013-01-25 4:21 ` Junio C Hamano
2013-01-25 5:53 ` Jonathan Nieder
2013-01-25 7:27 ` Junio C Hamano
2013-01-25 7:32 ` Jonathon Mah
2013-01-25 15:36 ` Junio C Hamano
2013-01-26 9:40 ` [PATCH 0/3] lazily load commit->buffer Jeff King
2013-01-26 9:42 ` [PATCH 1/3] commit: drop useless xstrdup of commit message Jeff King
2013-01-26 9:44 ` [PATCH 2/3] logmsg_reencode: never return NULL Jeff King
2013-01-26 9:44 ` [PATCH 3/3] logmsg_reencode: lazily load missing commit buffers Jeff King
2013-01-26 21:26 ` [PATCH 0/3] lazily load commit->buffer Junio C Hamano
2013-01-26 22:14 ` Jeff King
2013-01-27 5:32 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130123143816.GA579@krypton.darkbyte.org \
--to=netzverweigerer@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).