{"thread":{"id":"41389","subject":"assert failed in pathspec.c","startedAt":"2016-02-11T03:59:16Z","lastAt":"2016-02-11T16:13:21Z","messageCount":4,"participants":["Dingyuan Wang","Torsten Bögershausen","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"277906","messageId":"56BC0714.1010007@gmail.com","threadId":"41389","inReplyTo":null,"subject":"assert failed in pathspec.c","fromName":"Dingyuan Wang","fromEmail":"abcdoyle888@gmail.com","sentAt":"2016-02-11T03:59:16Z","receivedAt":"2016-02-11T03:59:16Z","isPatch":false,"sender":{"key":"abcdoyle888@gmail.com","avatar":null},"body":"Hi all,\n\nI've got an assertion error when `git add .`\n\ngit: pathspec.c:317: prefix_pathspec: Assertion `item->nowildcard_len <=\nitem->len && item->prefix <= item->len' failed.\nAborted (core dumped)\n\nI think the repo doesn't have anything interesting.\nNo submodules or subrepos. It's like:\n\nrepo/\n .gitignore\n .git/\n scripts/\n  .gitignore\n  foo.py\n  bar.json\n something/\n someanother/\n other/         (gitignored)\n  scripts.git/  (original .git for scripts/)\n  foo.txt\n\nWith\n\nmodified:   ../something/a.txt\nmodified:   ../someanother/b.txt\n...\n\nWorking directory is repo/scripts.\n\nI think the bug is related to this post: [assert failed in submodule\nedge case](https://marc.info/?l=git&m=142894416621088&w=2).\n\n(gdb) r\nStarting program: /home/gumble/software/git-master/git-add .\n[Thread debugging using libthread_db enabled]\nUsing host libthread_db library \"/lib/x86_64-linux-gnu/libthread_db.so.1\".\ngit-add: pathspec.c:317: prefix_pathspec: Assertion\n`item->nowildcard_len <= item->len && item->prefix <= item->len' failed.\n\nProgram received signal SIGABRT, Aborted.\n0x00007ffff6fc8507 in __GI_raise (sig=sig@entry=6) at\n../sysdeps/unix/sysv/linux/raise.c:55\n55\t../sysdeps/unix/sysv/linux/raise.c: No such file or directory.\n(gdb) bt\n#0  0x00007ffff6fc8507 in __GI_raise (sig=sig@entry=6) at\n../sysdeps/unix/sysv/linux/raise.c:55\n#1  0x00007ffff6fc98da in __GI_abort () at abort.c:89\n#2  0x00007ffff6fc159d in __assert_fail_base (fmt=0x7ffff70fe6b8\n\"%s%s%s:%u: %s%sAssertion `%s' failed.\\n%n\",\n    assertion=assertion@entry=0x56ffe0 \"item->nowildcard_len <=\nitem->len && item->prefix <= item->len\", file=file@entry=0x5701a6\n\"pathspec.c\", line=line@entry=317,\n    function=function@entry=0x5701d0 <__PRETTY_FUNCTION__.22386>\n\"prefix_pathspec\") at assert.c:92\n#3  0x00007ffff6fc1652 in __GI___assert_fail\n(assertion=assertion@entry=0x56ffe0 \"item->nowildcard_len <= item->len\n&& item->prefix <= item->len\", file=file@entry=0x5701a6 \"pathspec.c\",\n    line=line@entry=317, function=function@entry=0x5701d0\n<__PRETTY_FUNCTION__.22386> \"prefix_pathspec\") at assert.c:101\n#4  0x00000000004deb3e in prefix_pathspec (elt=0x7fffffffe3f5 \".\",\nprefixlen=8, prefix=0x7e71f3 \"scripts/\", flags=50, raw=0x7fffffffe0a0,\np_short_magic=<synthetic pointer>, item=<optimized out>)\n    at pathspec.c:316\n#5  parse_pathspec (pathspec=pathspec@entry=0x7fffffffd530,\nmagic_mask=magic_mask@entry=0, flags=flags@entry=50,\nprefix=prefix@entry=0x7e71f3 \"scripts/\", argv=argv@entry=0x7fffffffe0a0)\nat pathspec.c:417\n#6  0x0000000000406423 in cmd_add (argc=<optimized out>,\nargv=0x7fffffffe0a0, prefix=0x7e71f3 \"scripts/\") at builtin/add.c:364\n#7  0x0000000000405cc8 in run_builtin (argv=0x7fffffffe098, argc=2,\np=0x7b2520 <commands>) at git.c:352\n#8  handle_builtin (argc=2, argv=0x7fffffffe098) at git.c:542\n#9  0x0000000000404e7a in main (argc=2, av=<optimized out>) at git.c:665\n\n\n--\nDingyuan Wang\n"},{"id":"277909","messageId":"56BC4535.6070301@web.de","threadId":"41389","inReplyTo":"56BC0714.1010007@gmail.com","subject":"Re: assert failed in pathspec.c","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2016-02-11T08:24:21Z","receivedAt":"2016-02-11T08:24:21Z","isPatch":false,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"On 02/11/2016 04:59 AM, Dingyuan Wang wrote:\n[]\n\nThanks for the bug report.\n\nWhat does\ngit --version\ngive you ?\n\nAnd what happens, if you run the latest version of Git ?\n"},{"id":"277913","messageId":"56BC4CC0.1090209@gmail.com","threadId":"41389","inReplyTo":"56BC4535.6070301@web.de","subject":"Re: assert failed in pathspec.c","fromName":"Dingyuan Wang","fromEmail":"abcdoyle888@gmail.com","sentAt":"2016-02-11T08:56:32Z","receivedAt":"2016-02-11T08:56:32Z","isPatch":false,"sender":{"key":"abcdoyle888@gmail.com","avatar":null},"body":"git version 2.7.0.GIT (latest git master)\n\nSorry, I have found out that this problem is exactly the same as the\nprevious post I mentioned.\n\nWhen I created the repo, scripts/ was a subrepo, and then I moved\nscripts/.git out. If I add files in the scripts/ dir, SIGABRT.\n\n在 2016年02月11日 16:24, Torsten Bögershausen 写道:\n> On 02/11/2016 04:59 AM, Dingyuan Wang wrote:\n> []\n> \n> Thanks for the bug report.\n> \n> What does\n> git --version\n> give you ?\n> \n> And what happens, if you run the latest version of Git ?\n> \n\n-- \nDingyuan Wang\n"},{"id":"277943","messageId":"xmqq7fibxm1q.fsf@gitster.mtv.corp.google.com","threadId":"41389","inReplyTo":"56BC0714.1010007@gmail.com","subject":"Re: assert failed in pathspec.c","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-02-11T16:13:21Z","receivedAt":"2016-02-11T16:13:21Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Dingyuan Wang <abcdoyle888@gmail.com> writes:\n\n> Hi all,\n>\n> I've got an assertion error when `git add .`\n>\n> git: pathspec.c:317: prefix_pathspec: Assertion `item->nowildcard_len <=\n> item->len && item->prefix <= item->len' failed.\n> Aborted (core dumped)\n\nSounds like http://article.gmane.org/gmane.comp.version-control.git/283549\n\n>\n> I think the repo doesn't have anything interesting.\n> No submodules or subrepos. It's like:\n>\n> repo/\n>  .gitignore\n>  .git/\n>  scripts/\n>   .gitignore\n>   foo.py\n>   bar.json\n>  something/\n>  someanother/\n>  other/         (gitignored)\n>   scripts.git/  (original .git for scripts/)\n>   foo.txt\n>\n> With\n>\n> modified:   ../something/a.txt\n> modified:   ../someanother/b.txt\n> ...\n>\n> Working directory is repo/scripts.\n>\n> I think the bug is related to this post: [assert failed in submodule\n> edge case](https://marc.info/?l=git&m=142894416621088&w=2).\n>\n> (gdb) r\n> Starting program: /home/gumble/software/git-master/git-add .\n> [Thread debugging using libthread_db enabled]\n> Using host libthread_db library \"/lib/x86_64-linux-gnu/libthread_db.so.1\".\n> git-add: pathspec.c:317: prefix_pathspec: Assertion\n> `item->nowildcard_len <= item->len && item->prefix <= item->len' failed.\n>\n> Program received signal SIGABRT, Aborted.\n> 0x00007ffff6fc8507 in __GI_raise (sig=sig@entry=6) at\n> ../sysdeps/unix/sysv/linux/raise.c:55\n> 55\t../sysdeps/unix/sysv/linux/raise.c: No such file or directory.\n> (gdb) bt\n> #0  0x00007ffff6fc8507 in __GI_raise (sig=sig@entry=6) at\n> ../sysdeps/unix/sysv/linux/raise.c:55\n> #1  0x00007ffff6fc98da in __GI_abort () at abort.c:89\n> #2  0x00007ffff6fc159d in __assert_fail_base (fmt=0x7ffff70fe6b8\n> \"%s%s%s:%u: %s%sAssertion `%s' failed.\\n%n\",\n>     assertion=assertion@entry=0x56ffe0 \"item->nowildcard_len <=\n> item->len && item->prefix <= item->len\", file=file@entry=0x5701a6\n> \"pathspec.c\", line=line@entry=317,\n>     function=function@entry=0x5701d0 <__PRETTY_FUNCTION__.22386>\n> \"prefix_pathspec\") at assert.c:92\n> #3  0x00007ffff6fc1652 in __GI___assert_fail\n> (assertion=assertion@entry=0x56ffe0 \"item->nowildcard_len <= item->len\n> && item->prefix <= item->len\", file=file@entry=0x5701a6 \"pathspec.c\",\n>     line=line@entry=317, function=function@entry=0x5701d0\n> <__PRETTY_FUNCTION__.22386> \"prefix_pathspec\") at assert.c:101\n> #4  0x00000000004deb3e in prefix_pathspec (elt=0x7fffffffe3f5 \".\",\n> prefixlen=8, prefix=0x7e71f3 \"scripts/\", flags=50, raw=0x7fffffffe0a0,\n> p_short_magic=<synthetic pointer>, item=<optimized out>)\n>     at pathspec.c:316\n> #5  parse_pathspec (pathspec=pathspec@entry=0x7fffffffd530,\n> magic_mask=magic_mask@entry=0, flags=flags@entry=50,\n> prefix=prefix@entry=0x7e71f3 \"scripts/\", argv=argv@entry=0x7fffffffe0a0)\n> at pathspec.c:417\n> #6  0x0000000000406423 in cmd_add (argc=<optimized out>,\n> argv=0x7fffffffe0a0, prefix=0x7e71f3 \"scripts/\") at builtin/add.c:364\n> #7  0x0000000000405cc8 in run_builtin (argv=0x7fffffffe098, argc=2,\n> p=0x7b2520 <commands>) at git.c:352\n> #8  handle_builtin (argc=2, argv=0x7fffffffe098) at git.c:542\n> #9  0x0000000000404e7a in main (argc=2, av=<optimized out>) at git.c:665\n>\n>\n> --\n> Dingyuan Wang\n"}]}