{"thread":{"id":"47728","subject":"Segmentation fault in git cherry-pick","startedAt":"2018-01-31T21:43:28Z","lastAt":"2018-02-03T18:57:04Z","messageCount":3,"participants":["Ayke van Laethem","Elijah Newren"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"337977","messageId":"CAHZoaj41k0AU-S1cPH3p6gU6EzXfYiMasN7=Cv9SRd2xp=1ThA@mail.gmail.com","threadId":"47728","inReplyTo":null,"subject":"Segmentation fault in git cherry-pick","fromName":"Ayke van Laethem","fromEmail":"aykevanlaethem@gmail.com","sentAt":"2018-01-31T21:43:02Z","receivedAt":"2018-01-31T21:43:28Z","isPatch":false,"sender":{"key":"aykevanlaethem@gmail.com","avatar":null},"body":"Hi all,\n\nI've found a segmentation fault in git.\n\nHere, fabsf is a branch that I'm trying to get the topmost commit from.\nAfter the failed cherry-pick, the change is added to the local working\ntree, but the commit isn't applied and .git/index.lock still exists.\n\nVersion: 2.11.0 (Debian stretch)\n\n~/src/micropython/ports/nrf$ valgrind git cherry-pick fabsf\n==23286== Memcheck, a memory error detector\n==23286== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.\n==23286== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info\n==23286== Command: git cherry-pick fabsf\n==23286==\n==23286== Invalid read of size 4\n==23286==    at 0x21A348: add_index_entry_with_check (read-cache.c:1012)\n==23286==    by 0x21A348: add_index_entry (read-cache.c:1061)\n==23286==    by 0x1FAE85: merge_content (merge-recursive.c:1727)\n==23286==    by 0x1FBAAC: process_entry (merge-recursive.c:1885)\n==23286==    by 0x1FBAAC: merge_trees (merge-recursive.c:1948)\n==23286==    by 0x23E2F7: do_recursive_merge (sequencer.c:389)\n==23286==    by 0x23E2F7: do_pick_commit (sequencer.c:757)\n==23286==    by 0x23FB52: single_pick (sequencer.c:1329)\n==23286==    by 0x23FB52: sequencer_pick_revisions (sequencer.c:1378)\n==23286==    by 0x1874CE: run_sequencer (revert.c:178)\n==23286==    by 0x187927: cmd_cherry_pick (revert.c:203)\n==23286==    by 0x11A204: run_builtin (git.c:373)\n==23286==    by 0x11A204: handle_builtin (git.c:572)\n==23286==    by 0x11A5A1: run_argv (git.c:630)\n==23286==    by 0x11A5A1: cmd_main (git.c:707)\n==23286==    by 0x1195D1: main (common-main.c:40)\n==23286==  Address 0x38 is not stack'd, malloc'd or (recently) free'd\n==23286==\n==23286==\n==23286== Process terminating with default action of signal 11 (SIGSEGV)\n==23286==  Access not within mapped region at address 0x38\n==23286==    at 0x21A348: add_index_entry_with_check (read-cache.c:1012)\n==23286==    by 0x21A348: add_index_entry (read-cache.c:1061)\n==23286==    by 0x1FAE85: merge_content (merge-recursive.c:1727)\n==23286==    by 0x1FBAAC: process_entry (merge-recursive.c:1885)\n==23286==    by 0x1FBAAC: merge_trees (merge-recursive.c:1948)\n==23286==    by 0x23E2F7: do_recursive_merge (sequencer.c:389)\n==23286==    by 0x23E2F7: do_pick_commit (sequencer.c:757)\n==23286==    by 0x23FB52: single_pick (sequencer.c:1329)\n==23286==    by 0x23FB52: sequencer_pick_revisions (sequencer.c:1378)\n==23286==    by 0x1874CE: run_sequencer (revert.c:178)\n==23286==    by 0x187927: cmd_cherry_pick (revert.c:203)\n==23286==    by 0x11A204: run_builtin (git.c:373)\n==23286==    by 0x11A204: handle_builtin (git.c:572)\n==23286==    by 0x11A5A1: run_argv (git.c:630)\n==23286==    by 0x11A5A1: cmd_main (git.c:707)\n==23286==    by 0x1195D1: main (common-main.c:40)\n\nNote: I'm not subscribed to this mailing list.\n\n--\nAyke\n"},{"id":"337978","messageId":"CABPp-BErnsyzUbu5dAFCs=Z5m3Z0k8vNkMJQ9=Tc=wWqPDYNFQ@mail.gmail.com","threadId":"47728","inReplyTo":"CAHZoaj41k0AU-S1cPH3p6gU6EzXfYiMasN7=Cv9SRd2xp=1ThA@mail.gmail.com","subject":"Re: Segmentation fault in git cherry-pick","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2018-01-31T22:06:35Z","receivedAt":"2018-01-31T22:06:42Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Wed, Jan 31, 2018 at 1:43 PM, Ayke van Laethem\n<aykevanlaethem@gmail.com> wrote:\n> Hi all,\n>\n> I've found a segmentation fault in git.\n>\n> Here, fabsf is a branch that I'm trying to get the topmost commit from.\n> After the failed cherry-pick, the change is added to the local working\n> tree, but the commit isn't applied and .git/index.lock still exists.\n>\n> Version: 2.11.0 (Debian stretch)\n>\n> ~/src/micropython/ports/nrf$ valgrind git cherry-pick fabsf\n> ==23286== Memcheck, a memory error detector\n> ==23286== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.\n> ==23286== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info\n> ==23286== Command: git cherry-pick fabsf\n> ==23286==\n> ==23286== Invalid read of size 4\n> ==23286==    at 0x21A348: add_index_entry_with_check (read-cache.c:1012)\n> ==23286==    by 0x21A348: add_index_entry (read-cache.c:1061)\n> ==23286==    by 0x1FAE85: merge_content (merge-recursive.c:1727)\n\nThis looks like the stack trace in\nhttps://github.com/git-for-windows/git/issues/952, which was fixed by\nJohannes Schindelin in commit\n55e9f0e5c (\"merge-recursive: handle NULL in add_cacheinfo()\ncorrectly\", 2016-11-26).  Could you retry with a newer version of git?\n\nElijah\n"},{"id":"338149","messageId":"CAHZoaj4cZTAa5+Yuh=at-RDtdxatPY6SChHc7oJaHAep8x=r7Q@mail.gmail.com","threadId":"47728","inReplyTo":"CABPp-BErnsyzUbu5dAFCs=Z5m3Z0k8vNkMJQ9=Tc=wWqPDYNFQ@mail.gmail.com","subject":"Re: Segmentation fault in git cherry-pick","fromName":"Ayke van Laethem","fromEmail":"aykevanlaethem@gmail.com","sentAt":"2018-02-03T18:56:36Z","receivedAt":"2018-02-03T18:57:04Z","isPatch":false,"sender":{"key":"aykevanlaethem@gmail.com","avatar":null},"body":"> This looks like the stack trace in\n> https://github.com/git-for-windows/git/issues/952, which was fixed by\n> Johannes Schindelin in commit\n> 55e9f0e5c (\"merge-recursive: handle NULL in add_cacheinfo()\n> correctly\", 2016-11-26).  Could you retry with a newer version of git?\n\nA newer version (2.14.2 from Debian stretch-backports) fixes the\nissue. I can now do my cherry-pick.\nThank you!\n"}]}