On Fri, Mar 29, 2019 at 5:03 PM Michael Albinus <michael.albinus@gmx.de> wrote:
Daniel Pittman <slippycheeze@google.com> writes:
> The most interesting part is at the very start, where my `revert-file
> ` operation on a remote file triggers a `vc-refresh-state`, which ends
> up causing `tramp-send-string` to run `process-send-string`, and then
> a timer fires that drives the "deferred" third party library [1] to
> move on to running a background command, using the timeout(1) and p4
> (1) binaries to grab some state information.

Yes. Tramp fights indeed with timers, and so I have disabled timers in
tramp-accept-process-output already. Maybe we shall do the same in
tramp-send-string? Would the following patch help?

In brief testing – 100 percent reproducible error, but only one instance – this patch did fix the problem.  I haven't tried to provoke a non-local exit from anything contained within, or anything like that, since you obviously omitted the code for that in this test patch.

So, yeah, I think that is sufficient.