{"thread":{"id":"49457","subject":"[BUG] Segfault in \"git submodule\"","startedAt":"2018-09-29T15:23:29Z","lastAt":"2018-10-02T04:11:08Z","messageCount":7,"participants":["Raymond Jennings","Ævar Arnfjörð Bjarmason","Duy Nguyen","Stefan Beller"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"359291","messageId":"CAGDaZ_oBpLxD0cutrsNsFBEtH+-Fn2eT40gDsnGZhhU0qm2Ofw@mail.gmail.com","threadId":"49457","inReplyTo":null,"subject":"[BUG] Segfault in \"git submodule\"","fromName":"Raymond Jennings","fromEmail":"shentino@gmail.com","sentAt":"2018-09-29T15:22:50Z","receivedAt":"2018-09-29T15:23:29Z","isPatch":false,"sender":{"key":"shentino@gmail.com","avatar":null},"body":"[New LWP 19644]\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library \"/lib64/libthread_db.so.1\".\nCore was generated by `git submodule--helper status'.\nProgram terminated with signal SIGSEGV, Segmentation fault.\n#0  refs_read_raw_ref (type=<optimized out>, referent=<optimized out>,\noid=<optimized out>, refname=<optimized out>, ref_store=<optimized\nout>) at refs.c:1451\n1451 return ref_store->be->read_raw_ref(ref_store, refname, oid,\nreferent, type);\n#0  refs_read_raw_ref (type=<optimized out>, referent=<optimized out>,\noid=<optimized out>, refname=<optimized out>, ref_store=<optimized\nout>) at refs.c:1451\n#1  refs_resolve_ref_unsafe (refs=0x0,\nrefname=refname@entry=0x55e863062253 \"HEAD\",\nresolve_flags=resolve_flags@entry=1, oid=oid@entry=0x7ffdc834b1c0,\nflags=flags@entry=0x7ffdc834b1bc) at refs.c:1493\n#2  0x000055e862fcad5c in refs_read_ref_full (flags=0x7ffdc834b1bc,\noid=0x7ffdc834b1c0, resolve_flags=1, refname=0x55e863062253 \"HEAD\",\nrefs=<optimized out>) at refs.c:224\n#3  refs_head_ref (refs=<optimized out>, fn=fn@entry=0x55e862f25fb0\n<handle_submodule_head_ref>, cb_data=cb_data@entry=0x7ffdc834b300) at\nrefs.c:1314\n#4  0x000055e862f292a2 in status_submodule (flags=0, prefix=<optimized\nout>, ce_flags=0, ce_oid=0x55e86468d4d4, path=0x55e86468d4e8\n\"lpc-doc\") at builtin/submodule--helper.c:624\n#5  status_submodule_cb (cb_data=0x7ffdc834b240,\nlist_item=0x55e86468d490) at builtin/submodule--helper.c:665\n#6  for_each_listed_submodule (cb_data=<optimized out>, fn=<optimized\nout>, list=<optimized out>) at builtin/submodule--helper.c:404\n#7  module_status (argc=<optimized out>, argv=<optimized out>,\nprefix=<optimized out>) at builtin/submodule--helper.c:698\n#8  0x000055e862eaec95 in run_builtin (argv=<optimized out>,\nargc=<optimized out>, p=<optimized out>) at git.c:346\n#9  handle_builtin (argc=<optimized out>, argv=<optimized out>) at git.c:554\n#10 0x000055e862eaf985 in run_argv (argv=0x7ffdc834be20,\nargcp=0x7ffdc834be2c) at git.c:606\n#11 cmd_main (argc=<optimized out>, argv=<optimized out>) at git.c:683\n#12 0x000055e862eae96a in main (argc=3, argv=0x7ffdc834c078) at common-main.c:43\n"},{"id":"359293","messageId":"87bm8giapu.fsf@evledraar.gmail.com","threadId":"49457","inReplyTo":"CAGDaZ_oBpLxD0cutrsNsFBEtH+-Fn2eT40gDsnGZhhU0qm2Ofw@mail.gmail.com","subject":"Re: [BUG] Segfault in \"git submodule\"","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2018-09-29T15:29:01Z","receivedAt":"2018-09-29T15:29:05Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Sat, Sep 29 2018, Raymond Jennings wrote:\n\n> [New LWP 19644]\n> [Thread debugging using libthread_db enabled]\n> Using host libthread_db library \"/lib64/libthread_db.so.1\".\n> Core was generated by `git submodule--helper status'.\n> Program terminated with signal SIGSEGV, Segmentation fault.\n> #0  refs_read_raw_ref (type=<optimized out>, referent=<optimized out>,\n> oid=<optimized out>, refname=<optimized out>, ref_store=<optimized\n> out>) at refs.c:1451\n> 1451 return ref_store->be->read_raw_ref(ref_store, refname, oid,\n> referent, type);\n> #0  refs_read_raw_ref (type=<optimized out>, referent=<optimized out>,\n> oid=<optimized out>, refname=<optimized out>, ref_store=<optimized\n> out>) at refs.c:1451\n> #1  refs_resolve_ref_unsafe (refs=0x0,\n> refname=refname@entry=0x55e863062253 \"HEAD\",\n> resolve_flags=resolve_flags@entry=1, oid=oid@entry=0x7ffdc834b1c0,\n> flags=flags@entry=0x7ffdc834b1bc) at refs.c:1493\n> #2  0x000055e862fcad5c in refs_read_ref_full (flags=0x7ffdc834b1bc,\n> oid=0x7ffdc834b1c0, resolve_flags=1, refname=0x55e863062253 \"HEAD\",\n> refs=<optimized out>) at refs.c:224\n> #3  refs_head_ref (refs=<optimized out>, fn=fn@entry=0x55e862f25fb0\n> <handle_submodule_head_ref>, cb_data=cb_data@entry=0x7ffdc834b300) at\n> refs.c:1314\n> #4  0x000055e862f292a2 in status_submodule (flags=0, prefix=<optimized\n> out>, ce_flags=0, ce_oid=0x55e86468d4d4, path=0x55e86468d4e8\n> \"lpc-doc\") at builtin/submodule--helper.c:624\n> #5  status_submodule_cb (cb_data=0x7ffdc834b240,\n> list_item=0x55e86468d490) at builtin/submodule--helper.c:665\n> #6  for_each_listed_submodule (cb_data=<optimized out>, fn=<optimized\n> out>, list=<optimized out>) at builtin/submodule--helper.c:404\n> #7  module_status (argc=<optimized out>, argv=<optimized out>,\n> prefix=<optimized out>) at builtin/submodule--helper.c:698\n> #8  0x000055e862eaec95 in run_builtin (argv=<optimized out>,\n> argc=<optimized out>, p=<optimized out>) at git.c:346\n> #9  handle_builtin (argc=<optimized out>, argv=<optimized out>) at git.c:554\n> #10 0x000055e862eaf985 in run_argv (argv=0x7ffdc834be20,\n> argcp=0x7ffdc834be2c) at git.c:606\n> #11 cmd_main (argc=<optimized out>, argv=<optimized out>) at git.c:683\n> #12 0x000055e862eae96a in main (argc=3, argv=0x7ffdc834c078) at common-main.c:43\n\nCan you consistently reproduce this? Maybe Stefan can make some sense of\nthis, but it would be really useful if you could compile git from the\nmaster branch with CFLAGS=\"-O0 -g\" and run gdb with that and paste that\nbacktrace, and even better if you're in a position to share a copy of\nthe repository where this happens.\n"},{"id":"359297","messageId":"CACsJy8BYr6cVtAcDO9w-tfgEiWnbvQCgSR7p3OFKbqVkPA1Gaw@mail.gmail.com","threadId":"49457","inReplyTo":"87bm8giapu.fsf@evledraar.gmail.com","subject":"Re: [BUG] Segfault in \"git submodule\"","fromName":"Duy Nguyen","fromEmail":"pclouds@gmail.com","sentAt":"2018-09-29T15:33:48Z","receivedAt":"2018-09-29T15:34:17Z","isPatch":false,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On Sat, Sep 29, 2018 at 5:31 PM Ævar Arnfjörð Bjarmason\n<avarab@gmail.com> wrote:\n> > #1  refs_resolve_ref_unsafe (refs=0x0,\n> > refname=refname@entry=0x55e863062253 \"HEAD\",\n> > resolve_flags=resolve_flags@entry=1, oid=oid@entry=0x7ffdc834b1c0,\n> > flags=flags@entry=0x7ffdc834b1bc) at refs.c:1493\n\nrefs is NULL. It looks like somebody fails to get the right submodule\nref store (or tries to get it but fails to check if it may return\nNULL)\n-- \nDuy\n"},{"id":"359299","messageId":"CAGDaZ_oS4bjzd67T5atJrJ6_x2Cfr8JgnoGWePzA53mb2ObdNg@mail.gmail.com","threadId":"49457","inReplyTo":"CACsJy8BYr6cVtAcDO9w-tfgEiWnbvQCgSR7p3OFKbqVkPA1Gaw@mail.gmail.com","subject":"Re: [BUG] Segfault in \"git submodule\"","fromName":"Raymond Jennings","fromEmail":"shentino@gmail.com","sentAt":"2018-09-29T16:43:03Z","receivedAt":"2018-09-29T16:43:42Z","isPatch":false,"sender":{"key":"shentino@gmail.com","avatar":null},"body":"I have a repo, but it appears to be specific to staging area state.\nIt only segfaults when I have a certain file deleted.\n\nWhere do you want me to upload it?\nOn Sat, Sep 29, 2018 at 8:34 AM Duy Nguyen <pclouds@gmail.com> wrote:\n>\n> On Sat, Sep 29, 2018 at 5:31 PM Ævar Arnfjörð Bjarmason\n> <avarab@gmail.com> wrote:\n> > > #1  refs_resolve_ref_unsafe (refs=0x0,\n> > > refname=refname@entry=0x55e863062253 \"HEAD\",\n> > > resolve_flags=resolve_flags@entry=1, oid=oid@entry=0x7ffdc834b1c0,\n> > > flags=flags@entry=0x7ffdc834b1bc) at refs.c:1493\n>\n> refs is NULL. It looks like somebody fails to get the right submodule\n> ref store (or tries to get it but fails to check if it may return\n> NULL)\n> --\n> Duy\n"},{"id":"359381","messageId":"CAGZ79kYX3ZgmE3S-2cq0F_27Ctq_wwuSo53znRrBquik3ODXew@mail.gmail.com","threadId":"49457","inReplyTo":"CAGDaZ_oS4bjzd67T5atJrJ6_x2Cfr8JgnoGWePzA53mb2ObdNg@mail.gmail.com","subject":"Re: [BUG] Segfault in \"git submodule\"","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2018-10-01T19:19:42Z","receivedAt":"2018-10-01T19:19:56Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Sat, Sep 29, 2018 at 9:43 AM Raymond Jennings <shentino@gmail.com> wrote:\n>\n> I have a repo, but it appears to be specific to staging area state.\n> It only segfaults when I have a certain file deleted.\n>\n> Where do you want me to upload it?\n> On Sat, Sep 29, 2018 at 8:34 AM Duy Nguyen <pclouds@gmail.com> wrote:\n> >\n> > On Sat, Sep 29, 2018 at 5:31 PM Ævar Arnfjörð Bjarmason\n> > <avarab@gmail.com> wrote:\n> > > > #1  refs_resolve_ref_unsafe (refs=0x0,\n> > > > refname=refname@entry=0x55e863062253 \"HEAD\",\n> > > > resolve_flags=resolve_flags@entry=1, oid=oid@entry=0x7ffdc834b1c0,\n> > > > flags=flags@entry=0x7ffdc834b1bc) at refs.c:1493\n> >\n> > refs is NULL. It looks like somebody fails to get the right submodule\n> > ref store (or tries to get it but fails to check if it may return\n> > NULL)\n\nThis is spot on.\n\nRaymond, are you on Git v2.16.0 by any chance?\n(and if now which version are you on).\n\nI suspect 2.16, as that is a version of Git, in which there happens to be\na call into the refs subsystem in submodule--helper.c in line 624.\n\nIs it possible to upgrade Git (to v2.18.0 or later) or cherry-pick\n74b6bda32f (submodule: check for NULL return of get_submodule_ref_store(),\n2018-03-28) into your copy of Git?\n\nThanks,\nStefan\n"},{"id":"359391","messageId":"CAGDaZ_q30GPWsd-NF1OSOx8m7LwXm4vk_5XcqRD5MxcjDx=GzQ@mail.gmail.com","threadId":"49457","inReplyTo":"CAGZ79kYX3ZgmE3S-2cq0F_27Ctq_wwuSo53znRrBquik3ODXew@mail.gmail.com","subject":"Re: [BUG] Segfault in \"git submodule\"","fromName":"Raymond Jennings","fromEmail":"shentino@gmail.com","sentAt":"2018-10-01T21:31:49Z","receivedAt":"2018-10-01T21:32:28Z","isPatch":false,"sender":{"key":"shentino@gmail.com","avatar":null},"body":"Yes, git 2.16.4 to be exact.\n\nI upgraded to 2.19 after ~arch keywording the package on gentoo and\nthat fixed it.\nOn Mon, Oct 1, 2018 at 12:19 PM Stefan Beller <sbeller@google.com> wrote:\n>\n> On Sat, Sep 29, 2018 at 9:43 AM Raymond Jennings <shentino@gmail.com> wrote:\n> >\n> > I have a repo, but it appears to be specific to staging area state.\n> > It only segfaults when I have a certain file deleted.\n> >\n> > Where do you want me to upload it?\n> > On Sat, Sep 29, 2018 at 8:34 AM Duy Nguyen <pclouds@gmail.com> wrote:\n> > >\n> > > On Sat, Sep 29, 2018 at 5:31 PM Ævar Arnfjörð Bjarmason\n> > > <avarab@gmail.com> wrote:\n> > > > > #1  refs_resolve_ref_unsafe (refs=0x0,\n> > > > > refname=refname@entry=0x55e863062253 \"HEAD\",\n> > > > > resolve_flags=resolve_flags@entry=1, oid=oid@entry=0x7ffdc834b1c0,\n> > > > > flags=flags@entry=0x7ffdc834b1bc) at refs.c:1493\n> > >\n> > > refs is NULL. It looks like somebody fails to get the right submodule\n> > > ref store (or tries to get it but fails to check if it may return\n> > > NULL)\n>\n> This is spot on.\n>\n> Raymond, are you on Git v2.16.0 by any chance?\n> (and if now which version are you on).\n>\n> I suspect 2.16, as that is a version of Git, in which there happens to be\n> a call into the refs subsystem in submodule--helper.c in line 624.\n>\n> Is it possible to upgrade Git (to v2.18.0 or later) or cherry-pick\n> 74b6bda32f (submodule: check for NULL return of get_submodule_ref_store(),\n> 2018-03-28) into your copy of Git?\n>\n> Thanks,\n> Stefan\n"},{"id":"359404","messageId":"CAGDaZ_q6pWXHajAs+Mp5+skatx6GwiXhpTfbDF+7nXHzfmzJ-Q@mail.gmail.com","threadId":"49457","inReplyTo":"CAGDaZ_q30GPWsd-NF1OSOx8m7LwXm4vk_5XcqRD5MxcjDx=GzQ@mail.gmail.com","subject":"Re: [BUG] Segfault in \"git submodule\"","fromName":"Raymond Jennings","fromEmail":"shentino@gmail.com","sentAt":"2018-10-02T04:10:29Z","receivedAt":"2018-10-02T04:11:08Z","isPatch":false,"sender":{"key":"shentino@gmail.com","avatar":null},"body":"I instructed downstream to update their repository.\nOn Mon, Oct 1, 2018 at 2:31 PM Raymond Jennings <shentino@gmail.com> wrote:\n>\n> Yes, git 2.16.4 to be exact.\n>\n> I upgraded to 2.19 after ~arch keywording the package on gentoo and\n> that fixed it.\n> On Mon, Oct 1, 2018 at 12:19 PM Stefan Beller <sbeller@google.com> wrote:\n> >\n> > On Sat, Sep 29, 2018 at 9:43 AM Raymond Jennings <shentino@gmail.com> wrote:\n> > >\n> > > I have a repo, but it appears to be specific to staging area state.\n> > > It only segfaults when I have a certain file deleted.\n> > >\n> > > Where do you want me to upload it?\n> > > On Sat, Sep 29, 2018 at 8:34 AM Duy Nguyen <pclouds@gmail.com> wrote:\n> > > >\n> > > > On Sat, Sep 29, 2018 at 5:31 PM Ævar Arnfjörð Bjarmason\n> > > > <avarab@gmail.com> wrote:\n> > > > > > #1  refs_resolve_ref_unsafe (refs=0x0,\n> > > > > > refname=refname@entry=0x55e863062253 \"HEAD\",\n> > > > > > resolve_flags=resolve_flags@entry=1, oid=oid@entry=0x7ffdc834b1c0,\n> > > > > > flags=flags@entry=0x7ffdc834b1bc) at refs.c:1493\n> > > >\n> > > > refs is NULL. It looks like somebody fails to get the right submodule\n> > > > ref store (or tries to get it but fails to check if it may return\n> > > > NULL)\n> >\n> > This is spot on.\n> >\n> > Raymond, are you on Git v2.16.0 by any chance?\n> > (and if now which version are you on).\n> >\n> > I suspect 2.16, as that is a version of Git, in which there happens to be\n> > a call into the refs subsystem in submodule--helper.c in line 624.\n> >\n> > Is it possible to upgrade Git (to v2.18.0 or later) or cherry-pick\n> > 74b6bda32f (submodule: check for NULL return of get_submodule_ref_store(),\n> > 2018-03-28) into your copy of Git?\n> >\n> > Thanks,\n> > Stefan\n"}]}