Re: Error in `git': free(): invalid pointer (was Re: [PATCH] sequencer: improve config handling)
- From
Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
- Date
- Dec 21, 2017, 15:02 UTC
- Message-ID
- <1513868549.3546.2.camel@gmail.com>
- In-Reply-To
- <18737953.1042351513802399608.JavaMail.defaultUser@defaultHost>
On Thursday 21 December 2017 02:09 AM, phillip.wood@talktalk.net wrote:
Show 6 quoted lines
> > > Hi Kaartic > > I'm replying off list as I've only got access to webmail at the > moment.
No issues brought the CCs including the list to ensure we don't miss things.
> Are you able to do a backtrace with debugging symbols > please, I'm finding it hard to glean anything from the backtrace > here.
That's confusing, I already had the following in my `config.mak` while compiling,
DEVELOPER=1 DEVELOPERS=1 CFLAGS += -g -O2 CFLAGS += -DFLEX_ARRAY=2048
NO_GETTEXT=1 prefix=/home/$(USER)/.local #CFLAGS += -Wno-unused-value
As you can see the `-g` flag is there in CFLAGS.
If this output doesn't give much sense could you be specific about what output you want i.e., by mentioning the command, showing a sample etc., I'm not sure how to go about debugging with "git rebase" as it's a script.
> Also does it definitely bisect to this patch or the merge of > this branch? >
"git bisect" speaking,
28d6daed4f119940ace31e523b3b272d3d153d04 is the first bad commit commit 28d6daed4f119940ace31e523b3b272d3d153d04 Author: Phillip Wood <phillip.wood@dunelm.org.uk> Date: Wed Dec 13 11:46:21 2017 +0000
sequencer: improve config handling
The previous config handling relied on global variables, called
git_default_config() even when the key had already been handled by
git_sequencer_config() and did not initialize the diff configuration
variables. Improve this by: i) loading the default values for message
cleanup and gpg signing of commits into struct replay_opts;
ii) restructuring the code to return immediately once a key is
handled; and iii) calling git_diff_basic_config(). Note that
unfortunately it is not possible to return early if the key is handled
by git_gpg_config() as it does not indicate to the caller if the key
has been handled or not.
The sequencer should probably have been calling
git_diff_basic_config() before as it creates a patch when there are
conflicts. The shell version uses 'diff-tree' to create the patch so
calling git_diff_basic_config() should match that. Although 'git
commit' calls git_diff_ui_config() I don't think the output of
print_commit_summary() is affected by anything that is loaded by that
as print_commit_summary() always turns on rename detection so would
ignore the value in the user's configuration anyway. The other values
loaded by git_diff_ui_config() are about the formatting of patches so
are not relevant to print_commit_summary().
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>:040000 040000 bbd487cc285ae12cefb97a9661de4ff27d182727 9460ac528bf68f331088412f62e5d6a39305854b M builtin :100644 100644 99452a0e89777999418c116386f924be396ed04a 7051b20b76292e3b539875f0dc38108a734d2164 M sequencer.c :100644 100644 77cb174b2aaf3972ebb9e6ec379252be96dedd3d 3a5072c2ab9088c237b83d92deae3c801289e543 M sequencer.h
FWIW, I started the bisection with `v2.11.0` as good (because "git rebase -i HEAD~10 worked there) and the tip of `next` (cfbfd45ee (Sync with master, 2017-12-19)) as bad.
Here's the bisect log for a shorter range of bisection (which was possible after I discovered the bad commit in the previous bisect)
git bisect start # bad: [cfbfd45ee6e49007fdeb00008904064ba98f65e0] Sync with master git bisect bad cfbfd45ee6e49007fdeb00008904064ba98f65e0 # good: [a4212f7ebd7158a1e237d776fb4bbd7a295d0bda] Merge branch 'pw/sequencer-in-process-commit' into next git bisect good a4212f7ebd7158a1e237d776fb4bbd7a295d0bda # good: [bdae4af87053490adad2dc9fb184d6d050d46a4c] Merge branch 'sg/setup-doc-update' git bisect good bdae4af87053490adad2dc9fb184d6d050d46a4c # bad: [6d12e08217360cfc042ec484129771f73ad7b97f] Merge branch 'rs/strbuf-read-once-reset-length' into next git bisect bad 6d12e08217360cfc042ec484129771f73ad7b97f # bad: [1b791d2503742b060f91b8159b85c06335634bd8] Merge branch 'ab/simplify-perl-makefile' into next git bisect bad 1b791d2503742b060f91b8159b85c06335634bd8 # bad: [abfed699db9f0f0e6f03f5ee3e9d137944ba4216] Merge branch 'sb/clone-recursive-submodule-doc' into next git bisect bad abfed699db9f0f0e6f03f5ee3e9d137944ba4216 # bad: [ec4d2b9c843b8b338ffa8906eea70095b3098c1e] Merge branch 'pw/sequencer-in-process-commit' into next git bisect bad ec4d2b9c843b8b338ffa8906eea70095b3098c1e # good: [5279b80103bde3ec5d6108fa8f43de2017668039] Merge branch 'tb/check-crlf-for-safe-crlf' into next git bisect good 5279b80103bde3ec5d6108fa8f43de2017668039 # bad: [28d6daed4f119940ace31e523b3b272d3d153d04] sequencer: improve config handling git bisect bad 28d6daed4f119940ace31e523b3b272d3d153d04 # first bad commit: [28d6daed4f119940ace31e523b3b272d3d153d04] sequencer: improve config handling
-- Kaartic