GNU bug report logs - #21424
guile-2.0: SIGALRM signal handler does not get called when guile blocks on I/O

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guile; Reported by: Rob Browning <rlb@HIDDEN>; dated Sun, 6 Sep 2015 17:19:02 UTC; Maintainer for guile is bug-guile@HIDDEN.

Message received at 21424 <at> debbugs.gnu.org:


Received: (at 21424) by debbugs.gnu.org; 24 Jun 2016 09:17:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 24 05:17:45 2016
Received: from localhost ([127.0.0.1]:53425 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1bGNFA-0003DN-SW
	for submit <at> debbugs.gnu.org; Fri, 24 Jun 2016 05:17:45 -0400
Received: from pb-sasl2.pobox.com ([64.147.108.67]:56069
 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <wingo@HIDDEN>) id 1bGNF8-0003DE-M1
 for 21424 <at> debbugs.gnu.org; Fri, 24 Jun 2016 05:17:43 -0400
Received: from sasl.smtp.pobox.com (unknown [127.0.0.1])
 by pb-sasl2.pobox.com (Postfix) with ESMTP id 6908B1A155;
 Fri, 24 Jun 2016 05:17:41 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type:content-transfer-encoding; s=sasl; bh=rGPnH2BpzRCp
 kJNwiScRc8m1ya4=; b=jGPDHhONB79wmoGziwtOItxDRO7uBwst5uzMKyb7p58H
 HIyQU8K2HIwhKoLJ+vqYn+VuQ+IOz6rQmibLtnmipb2RR9F4p5Ng+ntI51C5jOHH
 VnSBOVOb3/5XWH1mDTEV/LQx05pXbFAV5DMuTb9Rdy6KX3mh3PddbHjNLIAhkeM=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type:content-transfer-encoding; q=dns; s=sasl; b=YEiIig
 hcP3uAuo1FjaGMiOd4z+4WP18m2XqzxGM646tfA7nihf0MFdRSTxYS5wARV65QVQ
 Nr0ldwd0eLJVg3cdx1X28ig34bzCkh8g1uXh8JsPHbSZOwDi8mRt40srBgWG2LAP
 E63NQ9+ktdttwbNmdcDqnZ5gnXN+7EDO3AIgY=
Received: from pb-sasl2.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-sasl2.pobox.com (Postfix) with ESMTP id 61F011A154;
 Fri, 24 Jun 2016 05:17:41 -0400 (EDT)
Received: from clucks (unknown [88.160.190.192])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by pb-sasl2.pobox.com (Postfix) with ESMTPSA id 820961A152;
 Fri, 24 Jun 2016 05:17:40 -0400 (EDT)
From: Andy Wingo <wingo@HIDDEN>
To: Rob Browning <rlb@HIDDEN>
Subject: Re: bug#21424: Bug#685919: guile-1.6: SIGALRM signal handler does not
 get called when guile blocks on I/O
References: <20120826131404.6959.57720.reportbug@HIDDEN>
 <87vbbnv53g.fsf@HIDDEN>
Date: Fri, 24 Jun 2016 11:17:33 +0200
In-Reply-To: <87vbbnv53g.fsf@HIDDEN> (Rob Browning's message
 of "Sun, 06 Sep 2015 12:18:43 -0500")
Message-ID: <87y45veyj6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Pobox-Relay-ID: 8040BE7C-39EC-11E6-A082-28A6F1301B6D-02397024!pb-sasl2.pobox.com
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: 21424
Cc: 21424 <at> debbugs.gnu.org, Panu Kalliokoski <panu.kalliokoski@HIDDEN>,
 685919@HIDDEN, 685919-forwarded@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.4 (-)

It does seem clear that we have a bug here; evidently signals do not
wake up the reader, neither with readline nor without.

Andy

On Sun 06 Sep 2015 19:18, Rob Browning <rlb@HIDDEN> writes:

> [If possible, please preserve the -forwarded address in any replies.]
>
> Reference: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D765497
>
> Panu Kalliokoski <panu.kalliokoski@HIDDEN> writes:
>
>> While playing with guile on my system, I discovered a weird anomaly
>> which I could not reproduce on other systems running guile.  If I
>> install a signal handler for SIGALRM, it won't get called while guile is
>> making an I/O system call.  To demonstrate:
>>
>> [atehwa@karaihin ~/proj/psyk]$ guile
>> guile> (alarm 2)
>> 0
>> guile> Her=C3=A4tyskello
>> [atehwa@karaihin ~/proj/psyk]$ guile
>> guile> (sigaction SIGALRM (lambda (x) (display "now!") (newline)))
>> (0 . 335544320)
>> guile> (alarm 2)
>> 0
>> guile> now a lot more than two seconds has passed, while I wrote this
>> now!
>> <unnamed port>: In expression now:
>> <unnamed port>: Unbound variable: now
>> ABORT: (unbound-variable)
>> [...]
>>
>> As you can see, the signal handler gets called as soon as guile returns
>> from read(2), already before calling (eval).
>>
>> I can't get to understand what causes this on my system, because another
>> Debian system with exact same versions of guile-1.6, libc6 and
>> libguile-ltdl-1 seems to work fine, and interrupts the read(2) call with
>> the signal handler.
>
> This appears to still be the case with at least Debian's 2.0.11+1-10
> package, and setting the handler to something that doesn't perform IO
> has the same effect (i.e. no alarm until you hit return):
>
>   (sigaction SIGALRM (lambda (x) (exit 1)))
>
> Thanks




Information forwarded to bug-guile@HIDDEN:
bug#21424; Package guile. Full text available.
Changed bug title to 'guile-2.0: SIGALRM signal handler does not get called when guile blocks on I/O' from 'Bug#685919: guile-1.6: SIGALRM signal handler does not get called when guile blocks on I/O' Request was from Rob Browning <rlb@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 21424 <at> debbugs.gnu.org:


Received: (at 21424) by debbugs.gnu.org; 6 Sep 2015 17:49:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 06 13:49:53 2015
Received: from localhost ([127.0.0.1]:50891 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZYe4e-0001io-Tf
	for submit <at> debbugs.gnu.org; Sun, 06 Sep 2015 13:49:53 -0400
Received: from defaultvalue.org ([70.85.129.156]:45306)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <rlb@HIDDEN>)
 id 1ZYe4c-0001ib-AP; Sun, 06 Sep 2015 13:49:50 -0400
Received: from trouble.defaultvalue.org (localhost [127.0.0.1])
 (Authenticated sender: rlb@HIDDEN)
 by defaultvalue.org (Postfix) with ESMTPSA id 4C29B2014F;
 Sun,  6 Sep 2015 12:49:47 -0500 (CDT)
Received: by trouble.defaultvalue.org (Postfix, from userid 1000)
 id ECD3F14E070; Sun,  6 Sep 2015 12:49:46 -0500 (CDT)
From: Rob Browning <rlb@HIDDEN>
To: 21424 <at> debbugs.gnu.org, 765497-forwarded@HIDDEN
Subject: Re: bug#21424: Acknowledgement (Bug#685919: guile-1.6: SIGALRM signal
 handler does not get called when guile blocks on I/O)
In-Reply-To: <handler.21424.B.14415599333771.ack <at> debbugs.gnu.org>
References: <87vbbnv53g.fsf@HIDDEN>
 <handler.21424.B.14415599333771.ack <at> debbugs.gnu.org>
User-Agent: Notmuch/0.20.1 (http://notmuchmail.org) Emacs/24.5.1
 (x86_64-pc-linux-gnu)
Date: Sun, 06 Sep 2015 12:49:46 -0500
Message-ID: <87egibv3np.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -1.0 (-)
X-Debbugs-Envelope-To: 21424
Cc: control <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

retitle 21424 guile-2.0: SIGALRM signal handler does not get called when guile blocks on I/O
thanks

GNU bug Tracking System <help-debbugs@HIDDEN> writes:

> Thank you for filing a new bug report with debbugs.gnu.org.

Note: I used the wrong bug number (the old guile-1.6 clone) in the
original forwarding.

It should have been 765497, and so the Debian forwarded address would be
765497-forwarded@HIDDEN, as in the headers above.

Thanks
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4




Information forwarded to bug-guile@HIDDEN:
bug#21424; Package guile. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 6 Sep 2015 17:18:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 06 13:18:53 2015
Received: from localhost ([127.0.0.1]:50880 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZYdaf-0000yl-3h
	for submit <at> debbugs.gnu.org; Sun, 06 Sep 2015 13:18:53 -0400
Received: from eggs.gnu.org ([208.118.235.92]:49114)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <rlb@HIDDEN>) id 1ZYdad-0000yc-5y
 for submit <at> debbugs.gnu.org; Sun, 06 Sep 2015 13:18:51 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rlb@HIDDEN>) id 1ZYdac-00065o-1j
 for submit <at> debbugs.gnu.org; Sun, 06 Sep 2015 13:18:51 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:41880)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <rlb@HIDDEN>) id 1ZYdab-00065k-VF
 for submit <at> debbugs.gnu.org; Sun, 06 Sep 2015 13:18:49 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:59112)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <rlb@HIDDEN>) id 1ZYdaa-00079z-KQ
 for bug-guile@HIDDEN; Sun, 06 Sep 2015 13:18:49 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rlb@HIDDEN>) id 1ZYdaX-00062v-0i
 for bug-guile@HIDDEN; Sun, 06 Sep 2015 13:18:48 -0400
Received: from defaultvalue.org ([70.85.129.156]:45972)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <rlb@HIDDEN>) id 1ZYdaW-00062Z-Rq
 for bug-guile@HIDDEN; Sun, 06 Sep 2015 13:18:44 -0400
Received: from trouble.defaultvalue.org (localhost [127.0.0.1])
 (Authenticated sender: rlb@HIDDEN)
 by defaultvalue.org (Postfix) with ESMTPSA id D8D1A2014F;
 Sun,  6 Sep 2015 12:18:43 -0500 (CDT)
Received: by trouble.defaultvalue.org (Postfix, from userid 1000)
 id 6EA1514E070; Sun,  6 Sep 2015 12:18:43 -0500 (CDT)
From: Rob Browning <rlb@HIDDEN>
To: bug-guile@HIDDEN
Subject: Re: Bug#685919: guile-1.6: SIGALRM signal handler does not get called
 when guile blocks on I/O
In-Reply-To: <20120826131404.6959.57720.reportbug@HIDDEN>
References: <20120826131404.6959.57720.reportbug@HIDDEN>
User-Agent: Notmuch/0.20.1 (http://notmuchmail.org) Emacs/24.5.1
 (x86_64-pc-linux-gnu)
Date: Sun, 06 Sep 2015 12:18:43 -0500
Message-ID: <87vbbnv53g.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
Cc: Panu Kalliokoski <panu.kalliokoski@HIDDEN>, 685919@HIDDEN,
 685919-forwarded@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)


[If possible, please preserve the -forwarded address in any replies.]

Reference: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D765497

Panu Kalliokoski <panu.kalliokoski@HIDDEN> writes:

> While playing with guile on my system, I discovered a weird anomaly
> which I could not reproduce on other systems running guile.  If I
> install a signal handler for SIGALRM, it won't get called while guile is
> making an I/O system call.  To demonstrate:
>
> [atehwa@karaihin ~/proj/psyk]$ guile
> guile> (alarm 2)
> 0
> guile> Her=C3=A4tyskello
> [atehwa@karaihin ~/proj/psyk]$ guile
> guile> (sigaction SIGALRM (lambda (x) (display "now!") (newline)))
> (0 . 335544320)
> guile> (alarm 2)
> 0
> guile> now a lot more than two seconds has passed, while I wrote this
> now!
> <unnamed port>: In expression now:
> <unnamed port>: Unbound variable: now
> ABORT: (unbound-variable)
> [...]
>
> As you can see, the signal handler gets called as soon as guile returns
> from read(2), already before calling (eval).
>
> I can't get to understand what causes this on my system, because another
> Debian system with exact same versions of guile-1.6, libc6 and
> libguile-ltdl-1 seems to work fine, and interrupts the read(2) call with
> the signal handler.

This appears to still be the case with at least Debian's 2.0.11+1-10
package, and setting the handler to something that doesn't perform IO
has the same effect (i.e. no alarm until you hit return):

  (sigaction SIGALRM (lambda (x) (exit 1)))

Thanks
--=20
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4




Acknowledgement sent to Rob Browning <rlb@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guile@HIDDEN. Full text available.
Report forwarded to bug-guile@HIDDEN:
bug#21424; Package guile. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.