unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#30522: offloading requires guile-readline on the remote system
@ 2018-02-19 13:48 Marius Bakke
  2018-02-19 15:35 ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Marius Bakke @ 2018-02-19 13:48 UTC (permalink / raw)
  To: 30522

[-- Attachment #1: Type: text/plain, Size: 482 bytes --]

Hello!

After reconfiguring a remote machine on latest 'master' (post recent
core-updates merge), I found that offloading to it would just "hang".

After some debugging I found that `guile --listen` failed to import
(ice-9 readline).  Installing guile-readline for the offload user did
the trick.

It would be great to make Guile fail gracefully and print a message
about readline being unavailable instead of just looping endlessly.  Or
at the very least document the requirement.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#30522: offloading requires guile-readline on the remote system
  2018-02-19 13:48 bug#30522: offloading requires guile-readline on the remote system Marius Bakke
@ 2018-02-19 15:35 ` Ludovic Courtès
  2018-02-19 16:11   ` Marius Bakke
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2018-02-19 15:35 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30522

Hi Marius,

Marius Bakke <mbakke@fastmail.com> skribis:

> After reconfiguring a remote machine on latest 'master' (post recent
> core-updates merge), I found that offloading to it would just "hang".
>
> After some debugging I found that `guile --listen` failed to import
> (ice-9 readline).  Installing guile-readline for the offload user did
> the trick.

Could it be that ~/.guile on that machine imports (ice-9 readline)?
(On GuixSD the default ~/.guile used to import it unconditionally.)

Otherwise I see no reason why things would go wrong.  For instance, this
appears to work fine:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix environment --ad-hoc guile -C -- guile --listen
substitute: updating list of substitutes from 'https://berlin.guixsd.org'... 100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/5y0fr7fbmpvbry09ks7i0fqaqvrl2yjn-profile.drv
   /gnu/store/ffp06ykw5qjlj3c2drys30nf73lgf6h4-info-dir.drv
   /gnu/store/209l6232jpic6cj90ijss2122xz743ia-fonts-dir.drv
   /gnu/store/1hj38jwa8bhkgwxxhrflbaslkql37db5-ca-certificate-bundle.drv
   /gnu/store/3hk4zjhl5g3i94yfdw5mzmbyhfrwqwxx-manual-database.drv
Creating manual page database...
1 entries processed in 0.1 s
GNU Guile 2.2.3
Copyright (C) 1995-2017 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> +
$1 = #<procedure + (#:optional _ _ . _)>
scheme@(guile-user)> -
$2 = #<procedure - (#:optional _ _ . _)>
--8<---------------cut here---------------end--------------->8---

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#30522: offloading requires guile-readline on the remote system
  2018-02-19 15:35 ` Ludovic Courtès
@ 2018-02-19 16:11   ` Marius Bakke
  2018-02-19 20:31     ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Marius Bakke @ 2018-02-19 16:11 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30522-done

[-- Attachment #1: Type: text/plain, Size: 892 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

> Hi Marius,
>
> Marius Bakke <mbakke@fastmail.com> skribis:
>
>> After reconfiguring a remote machine on latest 'master' (post recent
>> core-updates merge), I found that offloading to it would just "hang".
>>
>> After some debugging I found that `guile --listen` failed to import
>> (ice-9 readline).  Installing guile-readline for the offload user did
>> the trick.
>
> Could it be that ~/.guile on that machine imports (ice-9 readline)?
> (On GuixSD the default ~/.guile used to import it unconditionally.)

Ah, good catch!  This was using the default .guile from before
2ba2c98d8aa695cce608313833a36c61b0fb3428.  I have verified that copying
the new .guile from /etc/skel works even without guile-readline
installed.

It would still be good with a better failure mode, but I'll file this
under "pebkac" for now.

Thanks!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#30522: offloading requires guile-readline on the remote system
  2018-02-19 16:11   ` Marius Bakke
@ 2018-02-19 20:31     ` Ludovic Courtès
  2018-02-20 17:33       ` Marius Bakke
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2018-02-19 20:31 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 30522-done

Heya,

Marius Bakke <mbakke@fastmail.com> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hi Marius,
>>
>> Marius Bakke <mbakke@fastmail.com> skribis:
>>
>>> After reconfiguring a remote machine on latest 'master' (post recent
>>> core-updates merge), I found that offloading to it would just "hang".
>>>
>>> After some debugging I found that `guile --listen` failed to import
>>> (ice-9 readline).  Installing guile-readline for the offload user did
>>> the trick.
>>
>> Could it be that ~/.guile on that machine imports (ice-9 readline)?
>> (On GuixSD the default ~/.guile used to import it unconditionally.)
>
> Ah, good catch!  This was using the default .guile from before
> 2ba2c98d8aa695cce608313833a36c61b0fb3428.  I have verified that copying
> the new .guile from /etc/skel works even without guile-readline
> installed.

Good.

> It would still be good with a better failure mode, but I'll file this
> under "pebkac" for now.

Yes, I’m surprised it ended up looping.  Did you try to strace it or
something to see what was going on?  Perhaps guile failed to start
altogether and Guile-SSH kept retrying?

Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#30522: offloading requires guile-readline on the remote system
  2018-02-19 20:31     ` Ludovic Courtès
@ 2018-02-20 17:33       ` Marius Bakke
  2018-02-21 22:07         ` bug#30522: Guile-SSH retries upon “guile --listen” failure to start Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Marius Bakke @ 2018-02-20 17:33 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30522-done

[-- Attachment #1: Type: text/plain, Size: 410 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

>> It would still be good with a better failure mode, but I'll file this
>> under "pebkac" for now.
>
> Yes, I’m surprised it ended up looping.  Did you try to strace it or
> something to see what was going on?  Perhaps guile failed to start
> altogether and Guile-SSH kept retrying?

Indeed.  Guile-SSH kept trying to start `guile --listen` over and over.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#30522: Guile-SSH retries upon “guile --listen” failure to start
  2018-02-20 17:33       ` Marius Bakke
@ 2018-02-21 22:07         ` Ludovic Courtès
  2018-02-24 10:52           ` Artyom Poptsov
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2018-02-21 22:07 UTC (permalink / raw)
  To: Marius Bakke, Artyom Poptsov; +Cc: 30522-done

Hello Artyom & Marius,

Marius Bakke <mbakke@fastmail.com> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>>> It would still be good with a better failure mode, but I'll file this
>>> under "pebkac" for now.
>>
>> Yes, I’m surprised it ended up looping.  Did you try to strace it or
>> something to see what was going on?  Perhaps guile failed to start
>> altogether and Guile-SSH kept retrying?
>
> Indeed.  Guile-SSH kept trying to start `guile --listen` over and over.

Artyom, do you think we could arrange for Guile-SSH to properly detect
failure to start ‘guile --listen’ and report it instead of retrying?

Perhaps it could check the exit code of ‘guile --listen’ and distinguish
127 (“command not found”) from other exit codes?

(For more context, see <https://bugs.gnu.org/30522>.)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#30522: Guile-SSH retries upon “guile --listen” failure to start
  2018-02-21 22:07         ` bug#30522: Guile-SSH retries upon “guile --listen” failure to start Ludovic Courtès
@ 2018-02-24 10:52           ` Artyom Poptsov
  2018-03-05  2:15             ` Artyom Poptsov
  0 siblings, 1 reply; 9+ messages in thread
From: Artyom Poptsov @ 2018-02-24 10:52 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30522-done

[-- Attachment #1: Type: text/plain, Size: 587 bytes --]

Hello Ludovic and other Guilers,

> Artyom, do you think we could arrange for Guile-SSH to properly detect
> failure to start ‘guile --listen’ and report it instead of retrying?

sure, I'll investigate the problem in a week or so.  Currently busy with
my day job and personal hacktivities.

Added the task to my TODO list.

Thanks for reporting the bug!

- Artyom

-- 
Artyom V. Poptsov <poptsov.artyom@gmail.com>
Home page: http://poptsov-artyom.narod.ru/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#30522: Guile-SSH retries upon “guile --listen” failure to start
  2018-02-24 10:52           ` Artyom Poptsov
@ 2018-03-05  2:15             ` Artyom Poptsov
  2018-03-05 10:11               ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Artyom Poptsov @ 2018-03-05  2:15 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 30522-done

[-- Attachment #1: Type: text/plain, Size: 454 bytes --]

Hello Ludovic and Marius,

I implemented a fix for the looping problem; could you please check if
the patch works for you?

The changes are committed in e24401f1ef56b1f3d7ef847c54fb0c2fe9cf3cf8 on
the 'master' branch.

Thanks!

- Artyom

-- 
Artyom V. Poptsov <poptsov.artyom@gmail.com>
Home page: http://poptsov-artyom.narod.ru/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#30522: Guile-SSH retries upon “guile --listen” failure to start
  2018-03-05  2:15             ` Artyom Poptsov
@ 2018-03-05 10:11               ` Ludovic Courtès
  0 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2018-03-05 10:11 UTC (permalink / raw)
  To: Artyom Poptsov; +Cc: 30522-done

Hi Artyom,

Artyom Poptsov <poptsov.artyom@gmail.com> skribis:

> I implemented a fix for the looping problem; could you please check if
> the patch works for you?
>
> The changes are committed in e24401f1ef56b1f3d7ef847c54fb0c2fe9cf3cf8 on
> the 'master' branch.

I’d rather let someone else test it :-), but the patch LGTM.

Thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-03-05 10:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-19 13:48 bug#30522: offloading requires guile-readline on the remote system Marius Bakke
2018-02-19 15:35 ` Ludovic Courtès
2018-02-19 16:11   ` Marius Bakke
2018-02-19 20:31     ` Ludovic Courtès
2018-02-20 17:33       ` Marius Bakke
2018-02-21 22:07         ` bug#30522: Guile-SSH retries upon “guile --listen” failure to start Ludovic Courtès
2018-02-24 10:52           ` Artyom Poptsov
2018-03-05  2:15             ` Artyom Poptsov
2018-03-05 10:11               ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).