git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Segfault in the attr stack

From
Stefan Beller <sbeller@google.com>
Date
Jun 2, 2016, 16:56 UTC
Message-ID
<CAGZ79ka7sXKwOdY4_WK15c3HHOp2pRtcUgeZ6rDAt8hSvcx1=Q@mail.gmail.com>
In-Reply-To
<xmqqshwvvaxq.fsf@gitster.mtv.corp.google.com>
On Thu, Jun 2, 2016 at 8:59 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 11 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
>>>> Gaah, of course.
>>>>
>>>> This is coming from the cache preload codepath, where multiple threads
>>>> try to run ce_path_match().
>>>> It used to be OK because pathspec magic never looked at attributes,
>>>> but now it does, and attribute system is not thread-safe.
>
> I'll look into teaching a threadble interface to the attribute
> subsystem, but for now, this should get you unstuck, I think.

Thanks for looking into this! (I was about to do that if you would not have stepped up, as the bug only surfaces when using the pathspec labels.)

>
> +       /* Do not preload when pathspec uses non-threadable subsystems */
> +       if (pathspec && pathspec_is_non_threadable(pathspec))
> +               return; /* for now ... */
This fixes the problem for now; I'll look into the comma escaping then.

Thanks, Stefan

Previous: Junio C HamanoNext: Duy Nguyen
Message 10 of 12 in “Segfault in the attr stack”
  1. Stefan BellerJun 1, 2016
  2. Junio C HamanoJun 1, 2016
  3. Stefan BellerJun 1, 2016
  4. Junio C HamanoJun 1, 2016
  5. Stefan BellerJun 1, 2016
  6. Junio C HamanoJun 1, 2016
  7. Junio C HamanoJun 1, 2016
  8. Junio C HamanoJun 2, 2016
  9. Junio C HamanoJun 2, 2016
  10. Stefan BellerJun 2, 2016
  11. Duy NguyenJun 2, 2016
  12. Duy NguyenJun 2, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.