GNU bug report logs - #25481
`guile --listen' broken on guile master

Previous Next

Package: guile;

Reported by: Christopher Allan Webber <cwebber <at> dustycloud.org>

Date: Thu, 19 Jan 2017 00:48:01 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 25481 in the body.
You can then email your comments to 25481 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#25481; Package guile. (Thu, 19 Jan 2017 00:48:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Christopher Allan Webber <cwebber <at> dustycloud.org>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Thu, 19 Jan 2017 00:48:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Christopher Allan Webber <cwebber <at> dustycloud.org>
To: bug-guile <at> gnu.org
Subject: `guile --listen' broken on guile master
Date: Wed, 18 Jan 2017 18:47:19 -0600
(originally accidentally sent to guile-devel instead of here, sorry for
xpost!)

If you use the latest Guile, you'll find that "guile --listen" has
broken.  If you try:
  ./meta/guile --listen=/tmp/guile-socket

then you'll find that you have a very short window in which you can do:
  M-x geiser-connect-local <RET> guile <RET> /tmp/guile-socket <RET>

but then the main repl, the one you launched in the shell, hangs.
And if you wait too long or disconnect then reconnect, you won't be
able to connect again.

What you'll see in the guile process is this:

  scheme@(guile-user)> In thread:
  ERROR: In procedure select: Interrupted system call

Here's the commit that introduces the bug:
206dced87f425af7eed628530313067a45bee2c2

I've verified that it works right before that commit.

The commit does some things involving changing the code involving the
"select" and etc in the repl code, so maybe that's related.




Reply sent to Andy Wingo <wingo <at> pobox.com>:
You have taken responsibility. (Wed, 01 Mar 2017 16:31:02 GMT) Full text and rfc822 format available.

Notification sent to Christopher Allan Webber <cwebber <at> dustycloud.org>:
bug acknowledged by developer. (Wed, 01 Mar 2017 16:31:02 GMT) Full text and rfc822 format available.

Message #10 received at 25481-done <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> pobox.com>
To: Christopher Allan Webber <cwebber <at> dustycloud.org>
Cc: 25481-done <at> debbugs.gnu.org
Subject: Re: bug#25481: `guile --listen' broken on guile master
Date: Wed, 01 Mar 2017 17:30:11 +0100
On Thu 19 Jan 2017 01:47, Christopher Allan Webber <cwebber <at> dustycloud.org> writes:

> (originally accidentally sent to guile-devel instead of here, sorry for
> xpost!)
>
> If you use the latest Guile, you'll find that "guile --listen" has
> broken.  If you try:
>   ./meta/guile --listen=/tmp/guile-socket
>
> then you'll find that you have a very short window in which you can do:
>   M-x geiser-connect-local <RET> guile <RET> /tmp/guile-socket <RET>
>
> but then the main repl, the one you launched in the shell, hangs.
> And if you wait too long or disconnect then reconnect, you won't be
> able to connect again.
>
> What you'll see in the guile process is this:
>
>   scheme@(guile-user)> In thread:
>   ERROR: In procedure select: Interrupted system call

select really shouldn't be throwing exceptions on EINTR; it should be
called in a loop anyway, so calling scheme can run interrupts then.
Changed select to just return when async interrupts are pending
(e.g. the post-GC hooks), which seems to fix this bug.

Andy




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 30 Mar 2017 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 162 days ago.

Previous Next


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