public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Ramsay Jones <ramsay@ramsayjones•plus.com>
To: David Turner <dturner@twopensource•com>,
	Junio C Hamano <gitster@pobox•com>
Cc: git@vger•kernel.org, pclouds@gmail•com
Subject: Re: [PATCH v9 00/19] index-helper/watchman
Date: Tue, 10 May 2016 00:46:50 +0100	[thread overview]
Message-ID: <5731216A.7080808@ramsayjones.plus.com> (raw)
In-Reply-To: <1462835573.24478.53.camel@twopensource.com>



On 10/05/16 00:12, David Turner wrote:
> On Mon, 2016-05-09 at 15:32 -0700, Junio C Hamano wrote:
>> Junio C Hamano <gitster@pobox•com> writes:
>>
>>> David Turner <dturner@twopensource•com> writes:
>>>
>>>> On Mon, 2016-05-09 at 14:40 -0700, Junio C Hamano wrote:
>>>>> Hmmm, I seem to be getting
>>>>>
>>>>>     $ cat t/trash*7900*/err
>>>>>     fatal: Already running
>>>>>
>>>>> after running t7900 and it fails at #5, after applying
>>>>> "index-helper: optionally automatically run"
>>
>> The symptom looks pretty similar to $gmane/293461 reported earlier.
>> Here is how "t7900-index-helper.sh -i -v -x -d" ends.
>>
>>
>> expecting success:
>>         test_when_finished "git index-helper --kill" &&
>>         rm -f .git/index-helper.sock &&
>>         git status &&
>>         test_path_is_missing .git/index-helper.sock &&
>>         test_config indexhelper.autorun true &&
>>         git status &&
>>         test -S .git/index-helper.sock &&
>>         git status 2>err &&
>>         test -S .git/index-helper.sock &&
>>         test_must_be_empty err &&
>>         git index-helper --kill &&
>>         test_config indexhelper.autorun false &&
>>         git status &&
>>         test_path_is_missing .git/index-helper.sock
>>
>> + test_when_finished git index-helper --kill
>> + test 0 = 0
>> + test_cleanup={ git index-helper --kill
>>                 } && (exit "$eval_ret"); eval_ret=$?; :
>> + rm -f .git/index-helper.sock
>> + git status
>> On branch master
>> Untracked files:
>>   (use "git add <file>..." to include in what will be committed)
>>
>>         err
>>
>> nothing added to commit but untracked files present (use "git add" to
>> track)
>> + test_path_is_missing .git/index-helper.sock
>> + test -e .git/index-helper.sock
>> + test_config indexhelper.autorun true
>> + config_dir=
>> + test indexhelper.autorun = -C
>> + test_when_finished test_unconfig  'indexhelper.autorun'
>> + test 0 = 0
>> + test_cleanup={ test_unconfig  'indexhelper.autorun'
>>                 } && (exit "$eval_ret"); eval_ret=$?; { git index
>> -helper --kill
>>                 } && (exit "$eval_ret"); eval_ret=$?; :
>> + git config indexhelper.autorun true
>> + git status
>> error: last command exited with $?=141
> 
> I think that's a SIGPIPE on the first git status.  Weird, since I just
> added sigpipe-avoidance code (in v8).  Does anyone have any idea why
> the sigchain stuff isn't doing what I think it is?

Sorry for a late report (I've been a bit busy last couple of days), but
I've been seeing exactly the same on v8 of this series.

Note that the above 'git status' is actually the second git-status in the
test.

I haven't been able to debug it too much, but I can tell you that it is
not failing at exactly the same place every time (so it may be time
sensitive). However, it often fails in poke_and_wait_for_reply() at the
first packet_flush() (which in turn calls write_or_die()  which calls
check_pipe() with an EPIPE(32)). At other times it fails when issuing
a flush after a refresh packet. For example, on one run with packet
tracing enabled, I got this for the trace:

  trace: built-in: git 'status'
  packet:          git> poke 3221 
  packet:          git> 0000
  packet:          git< OK
  packet:          git> refresh
  packet:          git> 0000

So, its getting the EPIPE for the refresh in this case, even though
the index-helper is still running, the unix socket is in .git/
(and so is a shm-* file BTW).

I didn't get any further than that I'm afraid.

ATB,
Ramsay Jones

  reply	other threads:[~2016-05-09 23:47 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-09 20:48 [PATCH v9 00/19] index-helper/watchman David Turner
2016-05-09 20:48 ` [PATCH v9 01/19] read-cache.c: fix constness of verify_hdr() David Turner
2016-05-09 20:48 ` [PATCH v9 02/19] read-cache: allow to keep mmap'd memory after reading David Turner
2016-05-09 20:48 ` [PATCH v9 03/19] index-helper: new daemon for caching index and related stuff David Turner
2016-05-10 10:13   ` SZEDER Gábor
2016-05-10 10:31     ` Duy Nguyen
2016-05-10 11:12       ` SZEDER Gábor
2016-05-10 11:31         ` Duy Nguyen
2016-05-10 17:19     ` David Turner
2016-05-09 20:48 ` [PATCH v9 04/19] index-helper: add --strict David Turner
2016-05-09 20:48 ` [PATCH v9 05/19] index-helper: log warnings David Turner
2016-05-09 20:48 ` [PATCH v9 06/19] daemonize(): set a flag before exiting the main process David Turner
2016-05-09 20:48 ` [PATCH v9 07/19] index-helper: add --detach David Turner
2016-05-09 20:48 ` [PATCH v9 08/19] read-cache: add watchman 'WAMA' extension David Turner
2016-05-09 20:48 ` [PATCH v9 09/19] watchman: support watchman to reduce index refresh cost David Turner
2016-05-09 20:48 ` [PATCH v9 10/19] index-helper: use watchman to avoid refreshing index with lstat() David Turner
2016-05-09 20:48 ` [PATCH v9 11/19] update-index: enable/disable watchman support David Turner
2016-05-09 20:48 ` [PATCH v9 12/19] unpack-trees: preserve index extensions David Turner
2016-05-09 20:48 ` [PATCH v9 13/19] watchman: add a config option to enable the extension David Turner
2016-05-09 20:48 ` [PATCH v9 14/19] index-helper: kill mode David Turner
2016-05-09 20:48 ` [PATCH v9 15/19] index-helper: don't run if already running David Turner
2016-05-09 20:48 ` [PATCH v9 16/19] index-helper: autorun mode David Turner
2016-05-09 20:48 ` [PATCH v9 17/19] index-helper: optionally automatically run David Turner
2016-05-09 20:48 ` [PATCH v9 18/19] trace: measure where the time is spent in the index-heavy operations David Turner
2016-05-09 20:48 ` [PATCH v9 19/19] untracked-cache: config option David Turner
2016-05-09 21:40 ` [PATCH v9 00/19] index-helper/watchman Junio C Hamano
2016-05-09 22:15   ` David Turner
2016-05-09 22:22     ` Junio C Hamano
2016-05-09 22:32       ` Junio C Hamano
2016-05-09 23:12         ` David Turner
2016-05-09 23:46           ` Ramsay Jones [this message]
2016-05-10 12:45           ` Duy Nguyen
2016-05-10 12:57             ` Duy Nguyen
2016-05-10 17:28         ` Dennis Kaarsemaker
2016-05-10 17:44           ` Dennis Kaarsemaker
2016-05-10 11:52       ` Dennis Kaarsemaker
2016-05-10 15:35         ` Ramsay Jones
2016-05-10 20:30           ` Junio C Hamano
2016-05-10 22:09             ` Ramsay Jones

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=5731216A.7080808@ramsayjones.plus.com \
    --to=ramsay@ramsayjones$(echo .)plus.com \
    --cc=dturner@twopensource$(echo .)com \
    --cc=git@vger$(echo .)kernel.org \
    --cc=gitster@pobox$(echo .)com \
    --cc=pclouds@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox