From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#66186: "make lisp/eshell/esh-proc-tests" fails intermittently since 7e50861ca7ed3f620fe62ac6572f6e88b3600ece Date: Sun, 24 Sep 2023 16:02:03 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="830"; mail-complaints-to="usenet@ciao.gmane.io" To: Jens Schmidt , 66186@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Sep 25 01:03:03 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qkY7z-000Ab4-99 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 25 Sep 2023 01:03:03 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkY7o-0002ru-Sh; Sun, 24 Sep 2023 19:02:52 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qkY7n-0002rX-EG for bug-gnu-emacs@gnu.org; Sun, 24 Sep 2023 19:02:51 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkY7n-0000OC-67 for bug-gnu-emacs@gnu.org; Sun, 24 Sep 2023 19:02:51 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qkY7x-0008Kd-Pm for bug-gnu-emacs@gnu.org; Sun, 24 Sep 2023 19:03:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 24 Sep 2023 23:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66186 X-GNU-PR-Package: emacs Original-Received: via spool by 66186-submit@debbugs.gnu.org id=B66186.169559654431974 (code B ref 66186); Sun, 24 Sep 2023 23:03:01 +0000 Original-Received: (at 66186) by debbugs.gnu.org; 24 Sep 2023 23:02:24 +0000 Original-Received: from localhost ([127.0.0.1]:43743 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkY7M-0008Je-09 for submit@debbugs.gnu.org; Sun, 24 Sep 2023 19:02:24 -0400 Original-Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]:56543) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkY7K-0008JR-Ly for 66186@debbugs.gnu.org; Sun, 24 Sep 2023 19:02:23 -0400 Original-Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1c3d6d88231so34927495ad.0 for <66186@debbugs.gnu.org>; Sun, 24 Sep 2023 16:02:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695596524; x=1696201324; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=5/VFLAEZ5qVMWoSkIcHOWVQl8KYMrhQ9W+qaUj1k7JI=; b=d6HWrlnFa0ARpVV4o+PWebXExUzLm9mXY/57CSarSxa0Umi4XwZmba5ly5INDh4u2T 70bAsDUgGo9y0JA8DnXxSyhZW87l4vbPV31eDMPbz1Z7R+vAfAV3hWJId0UnA+mPU/2D nE02VhoPK3s6NAnMwIpN+TnC4xm1VIsUDfDqFrvxXbBXT3sSlkIpf+j0P8swtHxNbMuL ZSDJiVwwlIZXKsx9s1BKxMNzw3cjJCYcSMVXTtxgKvJ7gUftbSBqMoZCtKi8dF09RSdH d8aoy56839CC1ywSwv0oqvdRF0k4qPoy+b/r/YjmStYV7Rjk74HSPVwjSQdNp45ZRJTF 6FfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695596524; x=1696201324; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5/VFLAEZ5qVMWoSkIcHOWVQl8KYMrhQ9W+qaUj1k7JI=; b=YbAfwAOKuZwI4fnmCtmO3fEwiy0BVuWk4v5h6ZFgSAv1g3TktcTjx+NYsAHD8Nmfqk uC9Wlq6zorQrlPOyWzk+O9BEP9JU+cGhMYJz/FMWWSMdANBl1wE2ohqk6tzCiYRIWmGe MELDkjR5GJ4sAU98qSN+hwMmae6J1rBpLUX7B2YiKfEx9F7Ap1HBFge1L7aigbuNA6ai M+TMwZlQTY5n9OoE3cLLMCgdN2y81kfC8axbNIa8ZTqvo5YK9mzU4/sykOKHMLYUTaFC 8fdcX6WbN/3I9DtrQhrz69UEKCAYsNglYyttXV4xRYmUTq6FMeCFwJpgaIwkkW9Oi+Xl 7IJA== X-Gm-Message-State: AOJu0Ywaan5Usz2k634eFA0htlD9Vn69EHJGa7EeokXU60hZYF0w+b/h 0NUSPbUDB9PDXySHfPVsbfw= X-Google-Smtp-Source: AGHT+IH6Qabi0wt6nI5+Z3ul9p5WuNB+QAg6y0juq0JReCU6X0WuKksmFHq54iQY7QnXS+/GY/PU6g== X-Received: by 2002:a17:90b:4394:b0:276:4d97:7cbb with SMTP id in20-20020a17090b439400b002764d977cbbmr3232225pjb.17.1695596524340; Sun, 24 Sep 2023 16:02:04 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id n20-20020a17090ade9400b0026d214a2b33sm8461651pjv.7.2023.09.24.16.02.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 24 Sep 2023 16:02:03 -0700 (PDT) Content-Language: en-US In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:271282 Archived-At: On 9/24/2023 2:35 PM, Jens Schmidt via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > * Broken Pipe with gdb Stack Trace > > [test]$ HOME=/nonexistent LANG=C EMACS_TEST_DIRECTORY=/home/jschmidt/work/emacs-master/test gdb -q -batch -ex run -ex backtrace --args "../src/emacs" --module-assertions --no-init-file --no-site-file --no-site-lisp -L ":." -l ert -l lisp/eshell/esh-proc-tests.el --batch --eval '(ert-run-tests-batch-and-exit (quote (not (tag :unstable))))' [snip] > passed 8/12 esh-proc-test/pipeline-connection-type/last2 (0.056252 sec) > [Detaching after vfork from child process 7986] > [Detaching after vfork from child process 7987] > > Thread 1 "emacs" received signal SIGPIPE, Broken pipe. > 0x00007ffff57bffef in write () from /lib/x86_64-linux-gnu/libpthread.so.0 > #0 0x00007ffff57bffef in write () at /lib/x86_64-linux-gnu/libpthread.so.0 > #1 0x00005555556f2f08 in emacs_full_write (fd=19, buf=0x5555565918b8 "hi", nbyte=2, interruptible=-1) at sysdep.c:2812 [snip] Thanks. This looks like it's caused when Eshell runs a command something like this: echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; ...' (Note that the pipe above is handled entirely by Eshell, using 'process-send-string' in this case.) I'm guessing that sometimes, the 'sh' process has exited by the time Eshell calls '(process-send-string PROC "hi")'. Presumably, the commit you identified (which just changed some debug logging) altered the timings by just enough to trigger this race condition for you. However, I don't understand why this would cause an abort though; normally, 'process-send-string' should just signal an Elisp error (which Eshell then catches and does the right thing with it). Maybe there's a bug somewhere in process.c where it's not correctly handling the (real) SIGPIPE signal and converting it to an Elisp signal? I'm somewhat familiar with process.c, so I can take a look at this, but it'll probably be a week or two until I have time to really dig in. In the meantime, if anyone else wants to work on a fix, feel free.