All of lore.kernel.org
 help / color / mirror / Atom feed
From: Derrick Stolee <derrickstolee@github.com>
To: Emily Noneman <emily.noneman@gmail.com>,
	Jeff King <peff@peff.net>, Paul Horn <git@knutwalker.engineer>
Cc: git@vger.kernel.org
Subject: Re: Bugreport: pack-objects died of signal 11
Date: Thu, 4 Aug 2022 16:14:03 -0400	[thread overview]
Message-ID: <87d46db2-8e09-e5a7-b6bb-e94bf05df305@github.com> (raw)
In-Reply-To: <ecb6fa27-b918-4234-8e44-13c2a3e76e07@gmail.com>

On 8/4/2022 2:21 PM, Emily Noneman wrote:
> The stack trace:
> Thread 2 received signal SIGSEGV, Segmentation fault.
> git_config_check_init (repo=0x0) at config.c:2538
> 2538        if (repo->config && repo->config->hash_initialized)
> (gdb) bt
> #0  git_config_check_init (repo=0x0) at config.c:2538
> #1  0x00000001001197a8 in repo_config_get_string (repo=0x0, key=0x1002a3c49 "status.showuntrackedfiles", dest=0x0, dest@entry=0x7ff7bfefc1f0) at config.c:2574
> #2  0x000000010014a85b in new_untracked_cache_flags (istate=0x0) at dir.c:2781
> #3  new_untracked_cache (istate=0x0, flags=-1) at dir.c:2797
> #4  0x00000001001d68f1 in tweak_untracked_cache (istate=0x7ff7bfefc7e0) at read-cache.c:1996

Here is where things are confusing:

* tweak_untracked_cache() takes an 'istate' that is non-NULL here.

* The next spot in the stack is new_untracked_cache() with a NULL 'istate'.

The only way these are connected is by a missing stack frame (probably
optimized out) calling add_untracked_cache(). Still, it should be
passing 'istate' throughout this process.

The repo_config_get_string() call must also be coming from
new_untracked_cache_flags() which is again a missing stack frame,
but is called from new_untracked_cache(). Strangely, it's using
a NULL 'repo' here which should have come from 'istate->repo', so
we should have had a segfault earlier.

Sorry for the drive-by commentary without any solution. This is
just genuinely puzzling to me.

Thanks,
-Stolee


  reply	other threads:[~2022-08-04 20:14 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-12  8:51 Bugreport: pack-objects died of signal 11 Paul Horn
2022-07-14 21:37 ` Jeff King
2022-08-04 18:21   ` Emily Noneman
2022-08-04 20:14     ` Derrick Stolee [this message]
2022-08-04 21:07       ` Ævar Arnfjörð Bjarmason
2022-08-04 22:32         ` Emily Noneman
2022-08-05 14:24           ` [PATCH] revision.c: set-up "index_state.repo", don't segfault in pack-objects Ævar Arnfjörð Bjarmason
2022-08-05 14:48             ` Derrick Stolee
2022-08-05 15:25               ` Jeff King
2022-08-05 16:41                 ` Junio C Hamano
2022-08-08 18:15                   ` Emily Noneman
2022-08-09 12:55                     ` Jeff King
2022-08-09 16:56                       ` Junio C Hamano
2022-08-09 12:54                   ` Jeff King
2022-08-09 16:55                     ` 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=87d46db2-8e09-e5a7-b6bb-e94bf05df305@github.com \
    --to=derrickstolee@github.com \
    --cc=emily.noneman@gmail.com \
    --cc=git@knutwalker.engineer \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.