emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: esh-proc test failures


From: Jim Porter
Subject: Re: esh-proc test failures
Date: Mon, 22 Aug 2022 10:06:36 -0700

On 8/14/2022 11:44 AM, Jim Porter wrote:
On 8/14/2022 11:06 AM, Lars Ingebrigtsen wrote:
Some esh-proc tests seem to be failing here:

https://hydra.nixos.org/build/187349852/nixlog/1

And I've seen the same myself, but intermittently, so it seems like some
of the (new) tests there aren't quite stable.

From Hydra, it seems that the issue is that there's a broken pipe, so there's probably a timing issue with how the external process runs vs Eshell's internal code. I'll try to reproduce this locally and fix it.

Ok, after stepping away for a bit and letting this bubble around in my head, the issue turned out to be pretty simple (I think). Attached is a patch that should fix this.

Here's what's going on. Imagine you have a pipeline like 'lisp-command | external-command'. It could operate in this order:

  * Start external-command
  * Send output of lisp-command to external-command
  * Finish external-command

That's good. However, it could also do this:

  * Start external-command
  * Finish external-command
  * Send output of lisp-command to external-command -> SIGPIPE!

The fix is to make sure that lisp commands also handle SIGPIPE (aka 'eshell-broken-pipe'), just like how external commands do.

This is actually a bug introduced from the patch for bug#54062, but luckily the tests I added for bug#56025 revealed the issue.

Attachment: 0001-Handle-eshell-pipe-broken-when-evaluating-Lisp-forms.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]