all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
@ 2024-09-11 15:40 Ludovic Courtès
  2024-09-11 17:08 ` Ludovic Courtès
  0 siblings, 1 reply; 16+ messages in thread
From: Ludovic Courtès @ 2024-09-11 15:40 UTC (permalink / raw)
  To: 73181

As reported by yelninei on IRC, Guix on the Hurd is in half-broken state
following the recent ‘core-updates’ merge.

Specifically, sending store items over SSH (and thus breaks offloading
too):

--8<---------------cut here---------------start------------->8---
$ guix copy --to=localhost:10022 idutils
guix copy: sending 1 store item (1 MiB) to 'localhost'...
guix copy: error: unknown error while sending files over SSH
--8<---------------cut here---------------end--------------->8---

(Here localhost:10022 is a childhurd.)

Inside the childhurd, we get:

--8<---------------cut here---------------start------------->8---
root@childhurd ~# tail -1 /var/log/guix-daemon.log 
2024-09-09 21:09:03 unexpected build daemon error: stoi
--8<---------------cut here---------------end--------------->8---

Last time we got that error was in commit
21deb89e287b5821975544118bf137562a91d4e1: guix-daemon was running with
incorrect locale data, and thus ‘std::stoi’ would throw (‘std::stoi’ in
guix-daemon is used for the communication with the ‘guix authenticate’
process, see ‘readAuthenticateReply’).

When running guix-daemon by hand instead of via the Shepherd service,
with the same environment variables, everything works, unless we set one
of the LC_* variables.

Ludo’.




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-09-11 15:40 bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd Ludovic Courtès
@ 2024-09-11 17:08 ` Ludovic Courtès
  2024-10-31 19:14   ` janneke
  0 siblings, 1 reply; 16+ messages in thread
From: Ludovic Courtès @ 2024-09-11 17:08 UTC (permalink / raw)
  To: 73181

Ludovic Courtès <ludovic.courtes@inria.fr> skribis:

> Inside the childhurd, we get:
>
> root@childhurd ~# tail -1 /var/log/guix-daemon.log 
> 2024-09-09 21:09:03 unexpected build daemon error: stoi
>
> Last time we got that error was in commit
> 21deb89e287b5821975544118bf137562a91d4e1: guix-daemon was running with
> incorrect locale data, and thus ‘std::stoi’ would throw (‘std::stoi’ in
> guix-daemon is used for the communication with the ‘guix authenticate’
> process, see ‘readAuthenticateReply’).

I wanted to ‘rpctrace’ to see what ‘guix authenticate’ and ‘guix-daemon’
are telling each other.  The problem is that ‘rpctrace’ is kinda broken,
or at least it wrecks havoc when trying to follow forks or something.

But I found a trick that allowed me to trace just ‘guix authenticate’:

--8<---------------cut here---------------start------------->8---
root@childhurd ~# cat intercept-guix.sh 
#!/bin/sh
/usr/bin/env > /tmp/env.log
echo >> /tmp/env.log
echo "$@" >> /tmp/env.log
exec rpctrace -o /tmp/rpctrace.log -s 200 /gnu/store/cg64w7mv1v2r188rzcgksdva9cvj8vir-guix-1.4.0-24.9a2ddcc/bin/guix "$@"
root@childhurd ~# LC_ALL=fr_FR.utf8 GUIX=$PWD/intercept-guix.sh  /gnu/store/cg64w7mv1v2r188rzcgksdva9cvj8vir-guix-1.4.0-24.9a2ddcc/bin/guix-daemon --build-users-group guixbuild --max-silent-time 3600 --timeout 86400 --log-compression gzip --discover=no --disable-chroot --disable-deduplication
--8<---------------cut here---------------end--------------->8---

(Here “LC_ALL=fr_FR.utf8” allows me to reproduce the stoi bug.)

We get this:

--8<---------------cut here---------------start------------->8---
root@childhurd ~# tail /tmp/rpctrace.log 
  5<--35(pid166)->dir_lookup ("gnu/store/9ghq6s4mq5sff9cwqrmn26ivycn3p8ql-guile-3.0.9/lib/guile/3.0/ccache/system/foreign-library.go" 4194305 0) = 0 1 ""    67<--70(pid166)
  67<--70(pid166)->io_seek_request (0 2) = 0 98141
  67<--70(pid166)->io_map_request () = 0    69<--66(pid166)  (null)
task30(pid166)-> 2089 (0 98141 0 1    69<--66(pid166) 0 1 1 7 1) = 0 61452288
task30(pid166)-> 3206 (pn{ 28}) = 0 
task30(pid166)-> 3206 (pn{ 27}) = 0 
task30(pid166)-> 2024 (61517824 18824 0 3) = 0 
  14<--31(pid166)->io_write_request ("GC Warning: Repeated allocation of very large block (appr. size 112 KiB):\n\tMay lead to memory leak and poor performance\n" -1) = 0 120
task30(pid166)-> 2012 (1 22) = 0 {0 25 195772416 15151104 0 0 0 0 1726072790 570000 0 0 0 0 0 0 0 0 1726072790 0 570000000 0}
task30(pid166)-> 2012 (3 12) = 0 {0 30000 0 20000 0 0 30000000 0 0 0 20000000 0}
--8<---------------cut here---------------end--------------->8---

That warning comes from libgc and there’s no such warning when LC_ALL is
left unset, which is why it works in that case.

The warning goes to stderr, but that’s what guix-daemon ends up reading,
hence the ‘stoi’ error.  One can reproduce that by printing something on
(current-error-port) from ‘guix authenticate’ and running, say, “make
check TESTS=tests/store.scm”: a bunch of tests fail.

It’s not clear to me why libgc keeps printing that warning on i586-gnu
(I think it’s fine on i686-linux so there might be a portability issue),
and it’s not clear either why changing the locale triggers the warning
(it might have to do with the so-called GC “black lists”, since loading
a locale effectively changes the address space layout somewhat).

I see several possible things to do:

  1. Disable GC warnings altogether in Guix by setting ‘GC_warn_proc’.

  2. Make sure guix-daemon discards stderr from agents such as ‘guix
     authenticate’.

  3. Figure out why those “Repeated allocation” messages are so frequent
     on i586-gnu and Do Something About It™.

Thoughts?

Ludo’.




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-09-11 17:08 ` Ludovic Courtès
@ 2024-10-31 19:14   ` janneke
  2024-11-04  8:21     ` Ludovic Courtès
  0 siblings, 1 reply; 16+ messages in thread
From: janneke @ 2024-10-31 19:14 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 73181

Ludovic Courtès writes:

Hi!

> Ludovic Courtès <ludovic.courtes@inria.fr> skribis:
>
>> Inside the childhurd, we get:
>>
>> root@childhurd ~# tail -1 /var/log/guix-daemon.log 
>> 2024-09-09 21:09:03 unexpected build daemon error: stoi
>>
>> Last time we got that error was in commit
>> 21deb89e287b5821975544118bf137562a91d4e1: guix-daemon was running with
>> incorrect locale data, and thus ‘std::stoi’ would throw (‘std::stoi’ in
>> guix-daemon is used for the communication with the ‘guix authenticate’
>> process, see ‘readAuthenticateReply’).

[snip some great debugging, phew!]

> That warning comes from libgc and there’s no such warning when LC_ALL is
> left unset, which is why it works in that case.

How about

   0. Unsetting LC_ALL on the Hurd

would that work?

> I see several possible things to do:
>
>   1. Disable GC warnings altogether in Guix by setting ‘GC_warn_proc’.
>
>   2. Make sure guix-daemon discards stderr from agents such as ‘guix
>      authenticate’.
>
>   3. Figure out why those “Repeated allocation” messages are so frequent
>      on i586-gnu and Do Something About It™.
>
> Thoughts?

If 0., which seems easiest, does not work then Obviously(?) 3. is nicer
but (much?) harder than 2., which is nicer than 1.  However, 1. is much
nicer than our current situation of not having offloading to our
childhurds and not having up-to-date substitutes.  How about doing
1. right now but only for the Hurd, until we get 2. or 3.?

Greeting,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-10-31 19:14   ` janneke
@ 2024-11-04  8:21     ` Ludovic Courtès
  2024-11-05 11:26       ` janneke
  0 siblings, 1 reply; 16+ messages in thread
From: Ludovic Courtès @ 2024-11-04  8:21 UTC (permalink / raw)
  To: janneke; +Cc: 73181

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

Hello,

<janneke@gnu.org> skribis:

> Ludovic Courtès writes:

[...]

>> That warning comes from libgc and there’s no such warning when LC_ALL is
>> left unset, which is why it works in that case.
>
> How about
>
>    0. Unsetting LC_ALL on the Hurd
>
> would that work?

I’m not sure, but if it does, it’s only “by chance”.

>> I see several possible things to do:
>>
>>   1. Disable GC warnings altogether in Guix by setting ‘GC_warn_proc’.
>>
>>   2. Make sure guix-daemon discards stderr from agents such as ‘guix
>>      authenticate’.
>>
>>   3. Figure out why those “Repeated allocation” messages are so frequent
>>      on i586-gnu and Do Something About It™.
>>
>> Thoughts?
>
> If 0., which seems easiest, does not work then Obviously(?) 3. is nicer
> but (much?) harder than 2., which is nicer than 1.  However, 1. is much
> nicer than our current situation of not having offloading to our
> childhurds and not having up-to-date substitutes.  How about doing
> 1. right now but only for the Hurd, until we get 2. or 3.?

Yeah, let’s start with (1), maybe with the patch below (untested)?

(2) and (3) would be nice, but it goes with increasing difficulty.

Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 862 bytes --]

diff --git a/gnu/packages/aux-files/guile-launcher.c b/gnu/packages/aux-files/guile-launcher.c
index ad0094bff5..6a59905a28 100644
--- a/gnu/packages/aux-files/guile-launcher.c
+++ b/gnu/packages/aux-files/guile-launcher.c
@@ -73,6 +73,15 @@ main (int argc, char **argv)
        which is always preferable over the C locale.  */
     setlocale (LC_ALL, "en_US.utf8");
 
+#if defined __GNU__
+  /* XXX: On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
+     warnings that are annoying and interfere with communications between
+     'guix-daemon' and 'guix authenticate':
+     <https://issues.guix.gnu.org/73181>.  Silence them.  */
+  static void no_warnings (char *message, GC_word arg) { };
+  GC_set_warn_proc (no_warnings);
+#endif
+
   const char *str;
   str = getenv ("GUILE_LOAD_PATH");
   load_path = str != NULL ? strdup (str) : NULL;

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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-11-04  8:21     ` Ludovic Courtès
@ 2024-11-05 11:26       ` janneke
  2024-11-05 14:03         ` Ludovic Courtès
  0 siblings, 1 reply; 16+ messages in thread
From: janneke @ 2024-11-05 11:26 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 73181

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

Ludovic Courtès writes:

Hello,

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

[..]

>>> I see several possible things to do:
>>>
>>>   1. Disable GC warnings altogether in Guix by setting ‘GC_warn_proc’.
>>>
>>>   2. Make sure guix-daemon discards stderr from agents such as ‘guix
>>>      authenticate’.
>>>
>>>   3. Figure out why those “Repeated allocation” messages are so frequent
>>>      on i586-gnu and Do Something About It™.

[..]

> Yeah, let’s start with (1), maybe with the patch below (untested)?
>
> (2) and (3) would be nice, but it goes with increasing difficulty.

So...find two patches attached.  A tested version of (untested) which
was very helpful but did not compile.  I should have tested with #if 1,
and use #:tests? #f with guix right away... ;)

Anyway, using this patch 0001 it seems that suppressing the warnings
works, I no longer get

--8<---------------cut here---------------start------------->8---
"GC Warning: Repeated allocation of very large block (appr. size 112 KiB):\n\tMay lead to memory leak and poor performance\n"
--8<---------------cut here---------------end--------------->8---

but still get

--8<---------------cut here---------------start------------->8---
unexpected build daemon error: stoi
--8<---------------cut here---------------end--------------->8---

and the copy (and offload) still fails.  Then I tried resetting LC_ALL

>> How about
>>
>>    0. Unsetting LC_ALL on the Hurd
>>
>> would that work?
>
> I’m not sure, but if it does, it’s only “by chance”.

(option 0.) anyway in a followup patch.  Adding this patch 0003 (patch
0002 was just the guix package update), also the "stoi" warning is gone,
and offloading works.

So it seems that we have a workaround that "works by chance", WDYT?

Greetings,
Janneke


[-- Attachment #2: 0001-guile-Silence-GC-warnings-on-the-Hurd.patch --]
[-- Type: text/x-patch, Size: 2701 bytes --]

From 3d399e51104171ad328bea66ebdc1d6b0ac99685 Mon Sep 17 00:00:00 2001
Message-ID: <3d399e51104171ad328bea66ebdc1d6b0ac99685.1730803153.git.janneke@gnu.org>
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Mon, 4 Nov 2024 14:54:55 +0100
Subject: [PATCH 1/3] guile: Silence GC warnings on the Hurd.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8

This should work around <https://issues.guix.gnu.org/73181>, resurrecting
offloading to the Hurd.

* gnu/packages/aux-files/guile-launcher.c (no_warnings)[__GNU__]: New
function.
(main)[__GNU__]: Use it to silence libgc warnings.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>.
Change-Id: I8f30732d192ce46144da4a1a081813a104a5f376
---
 gnu/packages/aux-files/guile-launcher.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/aux-files/guile-launcher.c b/gnu/packages/aux-files/guile-launcher.c
index ad0094bff5..bc7fa21b63 100644
--- a/gnu/packages/aux-files/guile-launcher.c
+++ b/gnu/packages/aux-files/guile-launcher.c
@@ -1,7 +1,8 @@
 /* GNU Guix --- Functional package management for GNU
    Copyright 1996-1997,2000-2001,2006,2008,2011,2013,2018,2020,2021
       Free Software Foundation, Inc.
-   Copyright (C) 2020 Ludovic Courtès <ludo@gnu.org>
+   Copyright (C) 2020, 2024 Ludovic Courtès <ludo@gnu.org>
+   Copyright (C) 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
 
    This file is part of GNU Guix.
 
@@ -28,6 +29,14 @@
 #include <locale.h>
 #include <libguile.h>
 
+#if defined __GNU__
+#include <gc.h>
+static void
+no_warnings (char *message, GC_word arg)
+{
+}
+#endif
+
 /* Saved values of GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH.  */
 static const char *load_path, *load_compiled_path;
 
@@ -73,6 +82,14 @@ main (int argc, char **argv)
        which is always preferable over the C locale.  */
     setlocale (LC_ALL, "en_US.utf8");
 
+#if defined __GNU__
+  /* XXX: On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
+     warnings that are annoying and interfere with communications between
+     'guix-daemon' and 'guix authenticate':
+     <https://issues.guix.gnu.org/73181>.  Silence them.  */
+  GC_set_warn_proc (no_warnings);
+#endif
+
   const char *str;
   str = getenv ("GUILE_LOAD_PATH");
   load_path = str != NULL ? strdup (str) : NULL;

base-commit: 20c7b8dd04e421a139a02438cf1ddfdfe544a446
-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com


[-- Attachment #3: 0003-squash-guile-Silence-GC-warnings-on-the-Hurd.patch --]
[-- Type: text/x-patch, Size: 2441 bytes --]

From b62d59cf5cc9f968bedd8126f587bc8e14f7964c Mon Sep 17 00:00:00 2001
Message-ID: <b62d59cf5cc9f968bedd8126f587bc8e14f7964c.1730803153.git.janneke@gnu.org>
In-Reply-To: <3d399e51104171ad328bea66ebdc1d6b0ac99685.1730803153.git.janneke@gnu.org>
References: <3d399e51104171ad328bea66ebdc1d6b0ac99685.1730803153.git.janneke@gnu.org>
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Mon, 4 Nov 2024 17:38:46 +0100
Subject: [PATCH 3/3] squash! guile: Silence GC warnings on the Hurd.
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8

Change-Id: Ia720221ed285d3e56938cfa37989d2c7c07b00e3
---
 gnu/packages/aux-files/guile-launcher.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/aux-files/guile-launcher.c b/gnu/packages/aux-files/guile-launcher.c
index bc7fa21b63..ee6da76cc4 100644
--- a/gnu/packages/aux-files/guile-launcher.c
+++ b/gnu/packages/aux-files/guile-launcher.c
@@ -75,19 +75,22 @@ inner_main (void *unused, int argc, char **argv)
 int
 main (int argc, char **argv)
 {
-  /* Try to install the current locale; remain silent if it fails.  */
-  if (setlocale (LC_ALL, "") == NULL)
-    /* The 'guix pull'-provided 'guix' includes at least en_US.utf8 so use
-       that.  That gives us UTF-8 support for 'scm_to_locale_string', etc.,
-       which is always preferable over the C locale.  */
-    setlocale (LC_ALL, "en_US.utf8");
-
 #if defined __GNU__
+  /* Try to install the C locale; remain silent if it fails.  */
+  setlocale (LC_ALL, "C");
+
   /* XXX: On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
      warnings that are annoying and interfere with communications between
      'guix-daemon' and 'guix authenticate':
      <https://issues.guix.gnu.org/73181>.  Silence them.  */
   GC_set_warn_proc (no_warnings);
+#else
+  /* Try to install the current locale; remain silent if it fails.  */
+  if (setlocale (LC_ALL, "") == NULL)
+    /* The 'guix pull'-provided 'guix' includes at least en_US.utf8 so use
+       that.  That gives us UTF-8 support for 'scm_to_locale_string', etc.,
+       which is always preferable over the C locale.  */
+    setlocale (LC_ALL, "en_US.utf8");
 #endif
 
   const char *str;
-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com


[-- Attachment #4: Type: text/plain, Size: 164 bytes --]


-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-11-05 11:26       ` janneke
@ 2024-11-05 14:03         ` Ludovic Courtès
  2024-11-05 15:41           ` janneke
                             ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Ludovic Courtès @ 2024-11-05 14:03 UTC (permalink / raw)
  To: janneke; +Cc: 73181

Hello!

<janneke@gnu.org> skribis:

> Anyway, using this patch 0001 it seems that suppressing the warnings
> works, I no longer get
>
> "GC Warning: Repeated allocation of very large block (appr. size 112 KiB):\n\tMay lead to memory leak and poor performance\n"
>
>
> but still get
>
> unexpected build daemon error: stoi

Damnit.  Could you check with rpctrace what the daemon receives?

I wonder if I misunderstood what the root cause is.

> From 3d399e51104171ad328bea66ebdc1d6b0ac99685 Mon Sep 17 00:00:00 2001
> Message-ID: <3d399e51104171ad328bea66ebdc1d6b0ac99685.1730803153.git.janneke@gnu.org>
> From: Janneke Nieuwenhuizen <janneke@gnu.org>
> Date: Mon, 4 Nov 2024 14:54:55 +0100
> Subject: [PATCH 1/3] guile: Silence GC warnings on the Hurd.
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> Content-Transfer-Encoding: 8bit
> Content-Type: text/plain; charset=UTF-8
>
> This should work around <https://issues.guix.gnu.org/73181>, resurrecting
> offloading to the Hurd.
>
> * gnu/packages/aux-files/guile-launcher.c (no_warnings)[__GNU__]: New
> function.
> (main)[__GNU__]: Use it to silence libgc warnings.
>
> Co-authored-by: Ludovic Courtès <ludo@gnu.org>.
> Change-Id: I8f30732d192ce46144da4a1a081813a104a5f376

LGTM.

>  #if defined __GNU__
> +  /* Try to install the C locale; remain silent if it fails.  */
> +  setlocale (LC_ALL, "C");

This I’d rather avoid, unless we have a good understanding of why this
would help.

Thanks for working on it!

Ludo’.




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-11-05 14:03         ` Ludovic Courtès
@ 2024-11-05 15:41           ` janneke
  2024-11-10 11:54             ` Ludovic Courtès
  2024-11-18  8:41           ` janneke
  2024-12-06 18:49           ` Janneke Nieuwenhuizen
  2 siblings, 1 reply; 16+ messages in thread
From: janneke @ 2024-11-05 15:41 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 73181

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

Ludovic Courtès writes:

Hi!

> <janneke@gnu.org> skribis:
>
>> Anyway, using this patch 0001 it seems that suppressing the warnings
>> works, I no longer get
>>
>> "GC Warning: Repeated allocation of very large block (appr. size 112
>> KiB):\n\tMay lead to memory leak and poor performance\n"
>>
>>
>> but still get
>>
>> unexpected build daemon error: stoi
>
> Damnit.  Could you check with rpctrace what the daemon receives?
>
> I wonder if I misunderstood what the root cause is.

Yes :-(  I captured a `guix offload test' run, see attached.

>> From 3d399e51104171ad328bea66ebdc1d6b0ac99685 Mon Sep 17 00:00:00 2001
>> Message-ID: <3d399e51104171ad328bea66ebdc1d6b0ac99685.1730803153.git.janneke@gnu.org>
>> From: Janneke Nieuwenhuizen <janneke@gnu.org>
>> Date: Mon, 4 Nov 2024 14:54:55 +0100
>> Subject: [PATCH 1/3] guile: Silence GC warnings on the Hurd.
>> * gnu/packages/aux-files/guile-launcher.c (no_warnings)[__GNU__]: New
>> function.
>> (main)[__GNU__]: Use it to silence libgc warnings.
>>
>> Co-authored-by: Ludovic Courtès <ludo@gnu.org>.
>> Change-Id: I8f30732d192ce46144da4a1a081813a104a5f376
>
> LGTM.

Do we want to push this...as it doesn't really

>> This should work around <https://issues.guix.gnu.org/73181>, resurrecting
>> offloading to the Hurd.

just yet.

>>  #if defined __GNU__
>> +  /* Try to install the C locale; remain silent if it fails.  */
>> +  setlocale (LC_ALL, "C");
>
> This I’d rather avoid, unless we have a good understanding of why this
> would help.

Yes, that was clear to me; just wanted to have this data point :)

> Thanks for working on it!

Yeat it's not much work, it just takes such a long wait each time.

Greetings,
Janneke


[-- Attachment #2: rpctrace-1.4.0-27.3d399e5.log --]
[-- Type: application/octet-stream, Size: 32095 bytes --]

task31(pid198)-> 2089 (0 4096 0 0  (null) 0 1 0 0 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2058 (4) = 0    22<--9(pid198)
  22<--9(pid198)->exec_startup_get_info () = 0 134517280 134512692 352 237568 16777216 0 "/gnu/store/7wgwfsbvq8m9zkz03d27ij53jciliz9n-guix-1.4.0-27.3d399e5/libexec/guix/guile\0\\0/run/current-system/profile/bin/guix\0authenticate\0" "SHELL=/gnu/store/dm5shwb20i38wqdkmyqvhqfi0hmq1lr1-bash-5.1.16/bin/bash\0XDG_CONFIG_DIRS=/root/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg\0PKG_CONFIG_PATH=/run/current-system/profile/lib/p" {  16<--25(pid198)   13<--27(pid198)   13<--27(pid198)   4<--32(pid198)   12<--33(pid198)} {  11<--34(pid198)   6<--35(pid198)   2<--36(pid198)   26<--38(pid198) (null) (null)} {18 0 0 0 0}
task31(pid198)-> 3206 (pn{  4}) = 0 
task31(pid198)-> 2089 (0 8192 0 1  (null) 0 0 3 7 1) = 0 17035264
  6<--35(pid198)->dir_lookup ("gnu/store/j7j3pcv94ds3kgjbpqvmbmc7qydgx5ff-guile-3.0.9/lib/libguile-3.0.so.1" 1 0) = 0 1 ""    22<--40(pid198)
  22<--40(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0\xe8l\x15\0\0\0\0\04\0 \0\t\0(\0\x1e\0\x1d\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xd0\x19\x02\0\xd0\x19\x02\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0 \x02\0\0 \x02\0\0 \x02\0\xe5\xf6\v\0\xe5\xf6\v\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0 \x0e\0\0 \x0e\0\0 \x0e\0\xd4\t\a\0\xd4\t\a\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\x900\x15\0\x900\x15\0\x900\x15\00;\0\0\xf8t\0\0\x06\0\0\0\0\x10\0\0\x02\0\0\0x<\x15\0x<\x15\0x<\x15\08\x01\0\0"
  22<--40(pid198)->io_stat_request () = 0 {23 7 0 25445 0 1730805093 0 33133 1 0 0 1405336 0 1730805036 510000000 1 0 1730805033 440000000 8192 2760 0 0 0 0 0 0 0 0 0 0 0}
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (0 1418632 0 1    42<--9(pid198) 0 32 1 7 1) = 0 17043456
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (17182720 786432 0 0    42<--44(pid198) 139264 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (17182720 786432) = 0 
task31(pid198)-> 2089 (17182720 786432 0 0    42<--44(pid198) 139264 32 5 7 1) = 0 17182720
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (17969152 462848 0 0    42<--9(pid198) 925696 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (17969152 462848) = 0 
task31(pid198)-> 2089 (17969152 462848 0 0    42<--9(pid198) 925696 32 1 7 1) = 0 17969152
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (18432000 16384 0 0    42<--44(pid198) 1388544 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18432000 16384) = 0 
task31(pid198)-> 2089 (18432000 16384 0 0    42<--44(pid198) 1388544 32 3 7 1) = 0 18432000
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 2089 (18448384 13704 0 0  (null) 0 0 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18448384 13704) = 0 
task31(pid198)-> 2089 (18448384 13704 0 0  (null) 0 0 3 7 1) = 0 18448384
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/j7j3pcv94ds3kgjbpqvmbmc7qydgx5ff-guile-3.0.9/lib/libgc.so.1" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libgc.so.1" 1 0) = 0 1 ""    22<--9(pid198)
  22<--9(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0\xb0\xbb\x02\0\0\0\0\04\0 \0\a\0(\0\x1c\0\x1b\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xc4P\0\0\xc4P\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0`\0\0\0`\0\0\0`\0\0\x85\x96\x01\0\x85\x96\x01\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0\0\x02\0\0\0\x02\0\0\0\x02\0h\xb4\0\0h\xb4\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0h\xb4\x02\0h\xc4\x02\0h\xc4\x02\08\x06\0\0\xd8z\x02\0\x06\0\0\0\0\x10\0\0\x02\0\0\0\xb0\xb4\x02\0\xb0\xc4\x02\0\xb0\xc4\x02\0\xf8\0\0\0"
  22<--9(pid198)->io_stat_request () = 0 {23 7 0 40594 0 1730805097 0 33133 1 0 0 180240 0 1730805036 510000000 1 0 1730805033 450000000 8192 368 0 0 0 0 0 0 0 0 0 0 0}
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (0 343872 0 1    42<--40(pid198) 0 32 1 7 1) = 0 18464768
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (18489344 106496 0 0    42<--44(pid198) 24576 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18489344 106496) = 0 
task31(pid198)-> 2089 (18489344 106496 0 0    42<--44(pid198) 24576 32 5 7 1) = 0 18489344
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (18595840 49152 0 0    42<--40(pid198) 131072 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18595840 49152) = 0 
task31(pid198)-> 2089 (18595840 49152 0 0    42<--40(pid198) 131072 32 1 7 1) = 0 18595840
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (18644992 4096 0 0    42<--44(pid198) 176128 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18644992 4096) = 0 
task31(pid198)-> 2089 (18644992 4096 0 0    42<--44(pid198) 176128 32 3 7 1) = 0 18644992
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 2089 (18649088 159552 0 0  (null) 0 0 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18649088 159552) = 0 
task31(pid198)-> 2089 (18649088 159552 0 0  (null) 0 0 3 7 1) = 0 18649088
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/j7j3pcv94ds3kgjbpqvmbmc7qydgx5ff-guile-3.0.9/lib/libpthread.so.0.3" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libpthread.so.0.3" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/lib/libpthread.so.0.3" 1 0) = 0 1 ""    22<--40(pid198)
  22<--40(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0\xa4\n\x05\0\0\0\0\04\0 \0\n\0(\03\02\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(E\0\0(E\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0P\0\0\0P\0\0\0P\0\0\x15\x8f\0\0\x15\x8f\0\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0\xe0\0\0\0\xe0\0\0\0\xe0\0\0\M\0\0\M\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\xcc-\x01\0\xcc=\x01\0\xcc=\x01\0\xc0\x03\0\0|\a\0\0\x06\0\0\0\0\x10\0\0\x02\0\0\0`.\x01\0`>\x01\0`>\x01\00\x01\0\0"
  22<--40(pid198)->io_stat_request () = 0 {23 0 0 17630 0 1730805058 0 33133 1 0 0 332444 0 1730805035 10000000 1 0 1730805033 140000000 8192 664 0 0 0 0 0 0 0 0 0 0 0}
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (0 83272 0 1    42<--9(pid198) 0 32 1 7 1) = 0 18808832
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (18829312 36864 0 0    42<--44(pid198) 20480 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18829312 36864) = 0 
task31(pid198)-> 2089 (18829312 36864 0 0    42<--44(pid198) 20480 32 5 7 1) = 0 18829312
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (18866176 20480 0 0    42<--9(pid198) 57344 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18866176 20480) = 0 
task31(pid198)-> 2089 (18866176 20480 0 0    42<--9(pid198) 57344 32 1 7 1) = 0 18866176
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (18886656 8192 0 0    42<--44(pid198) 73728 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18886656 8192) = 0 
task31(pid198)-> 2089 (18886656 8192 0 0    42<--44(pid198) 73728 32 3 7 1) = 0 18886656
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 2024 (237568 16777216 0 7) = 0 
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/j7j3pcv94ds3kgjbpqvmbmc7qydgx5ff-guile-3.0.9/lib/libgcc_s.so.1" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libgcc_s.so.1" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/lib/libgcc_s.so.1" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/18gsrlhgk7k2a2g7prrk8d0i657l2jcn-gcc-cross-i586-pc-gnu-11.4.0-lib/i586-pc-gnu/lib/libgcc_s.so.1" 1 0) = 0 1 ""    22<--9(pid198)
  22<--9(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0(A\x04\0\0\0\0\04\0 \0\a\0(\0&\0%\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94"\0\0\x94"\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\00\0\0\00\0\0\00\0\0Ef\x01\0Ef\x01\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0\xa0\x01\0\0\xa0\x01\0\0\xa0\x01\0@=\0\0@=\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0\xe0\x01\0\0\xe0\x01\0\0\xe0\x01\0\0\x02\0\0\xa0\x03\0\0\x06\0\0\0\0\x10\0\0\x02\0\0\0\x14\xe0\x01\0\x14\xe0\x01\0\x14\xe0\x01\0\b\x01\0\0"
  22<--9(pid198)->io_stat_request () = 0 {23 0 0 744 0 1730805050 0 33060 1 0 0 280344 0 1730805033 150000000 1 0 1730805032 530000000 8192 560 0 0 0 0 0 0 0 0 0 0 0}
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (0 123808 0 1    42<--40(pid198) 0 32 1 7 1) = 0 18894848
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (18907136 94208 0 0    42<--44(pid198) 12288 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (18907136 94208) = 0 
task31(pid198)-> 2089 (18907136 94208 0 0    42<--44(pid198) 12288 32 5 7 1) = 0 18907136
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (19001344 16384 0 0    42<--40(pid198) 106496 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (19001344 16384) = 0 
task31(pid198)-> 2089 (19001344 16384 0 0    42<--40(pid198) 106496 32 1 7 1) = 0 19001344
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (19017728 4096 0 0    42<--44(pid198) 122880 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (19017728 4096) = 0 
task31(pid198)-> 2089 (19017728 4096 0 0    42<--44(pid198) 122880 32 3 7 1) = 0 19017728
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/j7j3pcv94ds3kgjbpqvmbmc7qydgx5ff-guile-3.0.9/lib/libc.so.0.3" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libc.so.0.3" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/lib/libc.so.0.3" 1 0) = 0 1 ""    22<--40(pid198)
  22<--40(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\x03\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0 Y\x05\04\0\0\0\xe8\xc5h\0\0\0\0\04\0 \0\r\0(\0r\0q\0\x06\0\0\04\0\0\04\0\0\04\0\0\0\xa0\x01\0\0\xa0\x01\0\0\x04\0\0\0\x04\0\0\0\x03\0\0\0\xa0\xa4\x1e\0\xa0\xa4\x1e\0\xa0\xa4\x1e\0U\0\0\0U\0\0\0\x04\0\0\0 \0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x94\xf6\x01\0\x94\xf6\x01\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0\0\x02\0\0\0\x02\0\0\0\x02\0\xb7A\x1a\0\xb7A\x1a\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0P\x1c\0\0P\x1c\0\0P\x1c\0\xa4\xf4\t\0"
  22<--40(pid198)->io_stat_request () = 0 {23 0 0 17606 0 1730805051 0 33133 1 0 0 6870968 0 1730805033 150000000 1 0 1730805032 530000000 8192 13448 0 0 0 0 0 0 0 0 0 0 0}
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (0 2544772 0 1    42<--9(pid198) 0 32 1 7 1) = 0 19021824
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (19152896 1724416 0 0    42<--44(pid198) 131072 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (19152896 1724416) = 0 
task31(pid198)-> 2089 (19152896 1724416 0 0    42<--44(pid198) 131072 32 5 7 1) = 0 19152896
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (20877312 655360 0 0    42<--9(pid198) 1855488 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (20877312 655360) = 0 
task31(pid198)-> 2089 (20877312 655360 0 0    42<--9(pid198) 1855488 32 1 7 1) = 0 20877312
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (21532672 16384 0 0    42<--44(pid198) 2510848 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21532672 16384) = 0 
task31(pid198)-> 2089 (21532672 16384 0 0    42<--44(pid198) 2510848 32 3 7 1) = 0 21532672
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 2089 (21549056 17540 0 0  (null) 0 0 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21549056 17540) = 0 
task31(pid198)-> 2089 (21549056 17540 0 0  (null) 0 0 3 7 1) = 0 21549056
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/j7j3pcv94ds3kgjbpqvmbmc7qydgx5ff-guile-3.0.9/lib/libmachuser.so.1" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libmachuser.so.1" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/lib/libmachuser.so.1" 1 0) = 0 1 ""    22<--9(pid198)
  22<--9(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0\x14\xff\x02\0\0\0\0\04\0 \0\n\0(\0&\0%\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe0H\0\0\xe0H\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0P\0\0\0P\0\0\0P\0\0%\xc8\0\0%\xc8\0\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0 \x01\0\0 \x01\0\0 \x01\0hQ\0\0hQ\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\xe8~\x01\0\xe8\x8e\x01\0\xe8\x8e\x01\0D\x01\0\0L\x01\0\0\x06\0\0\0\0\x10\0\0\x02\0\0\0\xf8~\x01\0\xf8\x8e\x01\0\xf8\x8e\x01\0\xe8\0\0\0"
  22<--9(pid198)->io_stat_request () = 0 {23 0 0 17617 0 1730805052 0 33133 1 0 0 197892 0 1730805033 150000000 1 0 1730805032 540000000 8192 400 0 0 0 0 0 0 0 0 0 0 0}
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (0 102452 0 1    42<--40(pid198) 0 32 1 7 1) = 0 21569536
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (21590016 53248 0 0    42<--44(pid198) 20480 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21590016 53248) = 0 
task31(pid198)-> 2089 (21590016 53248 0 0    42<--44(pid198) 20480 32 5 7 1) = 0 21590016
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (21643264 24576 0 0    42<--40(pid198) 73728 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21643264 24576) = 0 
task31(pid198)-> 2089 (21643264 24576 0 0    42<--40(pid198) 73728 32 1 7 1) = 0 21643264
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (21667840 8192 0 0    42<--44(pid198) 94208 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21667840 8192) = 0 
task31(pid198)-> 2089 (21667840 8192 0 0    42<--44(pid198) 94208 32 3 7 1) = 0 21667840
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/j7j3pcv94ds3kgjbpqvmbmc7qydgx5ff-guile-3.0.9/lib/libhurduser.so.0.3" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libhurduser.so.0.3" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/lib/libhurduser.so.0.3" 1 0) = 0 1 ""    22<--40(pid198)
  22<--40(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0\xdc \a\0\0\0\0\04\0 \0\n\0(\0&\0%\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0,\x95\0\0,\x95\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0\xa0\0\0\0\xa0\0\0\0\xa0\0\0\xf5\xe4\x01\0\xf5\xe4\x01\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0\x90\x02\0\0\x90\x02\0\0\x90\x02\0\xdc\xc2\0\0\xdc\xc2\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\xe4^\x03\0\xe4n\x03\0\xe4n\x03\0D\x02\0\0L\x02\0\0\x06\0\0\0\0\x10\0\0\x02\0\0\0\xf4^\x03\0\xf4n\x03\0\xf4n\x03\0\xe8\0\0\0"
  22<--40(pid198)->io_stat_request () = 0 {23 0 0 17613 0 1730805053 0 33133 1 0 0 468684 0 1730805033 150000000 1 0 1730805032 550000000 8192 928 0 0 0 0 0 0 0 0 0 0 0}
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (0 225584 0 1    42<--9(pid198) 0 32 1 7 1) = 0 21676032
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (21716992 126976 0 0    42<--44(pid198) 40960 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21716992 126976) = 0 
task31(pid198)-> 2089 (21716992 126976 0 0    42<--44(pid198) 40960 32 5 7 1) = 0 21716992
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (21843968 53248 0 0    42<--9(pid198) 167936 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21843968 53248) = 0 
task31(pid198)-> 2089 (21843968 53248 0 0    42<--9(pid198) 167936 32 1 7 1) = 0 21843968
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (21897216 8192 0 0    42<--44(pid198) 217088 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21897216 8192) = 0 
task31(pid198)-> 2089 (21897216 8192 0 0    42<--44(pid198) 217088 32 3 7 1) = 0 21897216
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libffi.so.8" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/69p42kq5drmk5hcwlxik6yvcii6vf356-libffi-3.4.4/lib/libffi.so.8" 1 0) = 0 1 ""    22<--9(pid198)
  22<--9(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0\xe4O\0\0\0\0\0\04\0 \0\a\0(\0\x1d\0\x1c\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0<\r\0\0<\r\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x10\0\0u \0\0u \0\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0@\0\0\0@\0\0\0@\0\08\r\0\08\r\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\08M\0\08]\0\08]\0\0\x8c\x01\0\0\x94\x01\0\0\x06\0\0\0\0\x10\0\0\x02\0\0\0lM\0\0l]\0\0l]\0\0\0\x01\0\0"
  22<--9(pid198)->io_stat_request () = 0 {23 7 0 8700 0 1730805105 0 33133 1 0 0 21612 0 1730805036 510000000 1 0 1730805033 460000000 8192 48 0 0 0 0 0 0 0 0 0 0 0}
task31(pid198)-> 2089 (0 8192 0 1  (null) 0 0 3 7 1) = 0 21905408
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (0 24268 0 1    42<--40(pid198) 0 32 1 7 1) = 0 21913600
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (21917696 12288 0 0    42<--44(pid198) 4096 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21917696 12288) = 0 
task31(pid198)-> 2089 (21917696 12288 0 0    42<--44(pid198) 4096 32 5 7 1) = 0 21917696
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (21929984 4096 0 0    42<--40(pid198) 16384 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21929984 4096) = 0 
task31(pid198)-> 2089 (21929984 4096 0 0    42<--40(pid198) 16384 32 1 7 1) = 0 21929984
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (21934080 4096 0 0    42<--44(pid198) 16384 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21934080 4096) = 0 
task31(pid198)-> 2089 (21934080 4096 0 0    42<--44(pid198) 16384 32 3 7 1) = 0 21934080
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libunistring.so.5" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/69p42kq5drmk5hcwlxik6yvcii6vf356-libffi-3.4.4/lib/libunistring.so.5" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/grnddd0hjjm6brp3vf8qnirmkmirjp57-libunistring-1.1/lib/libunistring.so.5" 1 0) = 0 1 ""    22<--40(pid198)
  22<--40(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0\b6\x1b\0\0\0\0\04\0 \0\a\0(\0\x1b\0\x1a\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\xc5\0\0\\xc5\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0\xd0\0\0\0\xd0\0\0\0\xd0\0\0\x05\xbf\x03\0\x05\xbf\x03\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0\x90\x04\0\0\x90\x04\0\0\x90\x04\0\x1c\x83\x16\0\x1c\x83\x16\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\x1c\x13\x1b\0\x1c#\x1b\0\x1c#\x1b\0\b"\0\0h&\0\0\x06\0\0\0\0\x10\0\0\x02\0\0\0x-\x1b\0x=\x1b\0x=\x1b\0\xf0\0\0\0"
  22<--40(pid198)->io_stat_request () = 0 {23 7 0 22964 0 1730805107 0 33133 1 0 0 1784384 0 1730805036 510000000 1 0 1730805033 470000000 8192 3496 0 0 0 0 0 0 0 0 0 0 0}
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (0 1788292 0 1    42<--9(pid198) 0 32 1 7 1) = 0 21938176
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (21991424 245760 0 0    42<--44(pid198) 53248 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (21991424 245760) = 0 
task31(pid198)-> 2089 (21991424 245760 0 0    42<--44(pid198) 53248 32 5 7 1) = 0 21991424
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (22237184 1478656 0 0    42<--9(pid198) 299008 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (22237184 1478656) = 0 
task31(pid198)-> 2089 (22237184 1478656 0 0    42<--9(pid198) 299008 32 1 7 1) = 0 22237184
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (23715840 12288 0 0    42<--44(pid198) 1773568 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (23715840 12288) = 0 
task31(pid198)-> 2089 (23715840 12288 0 0    42<--44(pid198) 1773568 32 3 7 1) = 0 23715840
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libcrypt.so.1" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/69p42kq5drmk5hcwlxik6yvcii6vf356-libffi-3.4.4/lib/libcrypt.so.1" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/grnddd0hjjm6brp3vf8qnirmkmirjp57-libunistring-1.1/lib/libcrypt.so.1" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/58fda34kb44awb1rpj68ga59pg7szims-libxcrypt-4.4.36/lib/libcrypt.so.1" 1 0) = 0 1 ""    22<--9(pid198)
  22<--9(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0\xe8\x80\x03\0\0\0\0\04\0 \0\b\0(\0\x1a\0\x19\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe8\x0e\0\0\xe8\x0e\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0\x10\0\0\0\x10\0\0\0\x10\0\0\x05\xa7\x01\0\x05\xa7\x01\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0\xc0\x01\0\0\xc0\x01\0\0\xc0\x01\0T\xb4\x01\0T\xb4\x01\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\x10}\x03\0\x10\x8d\x03\0\x10\x8d\x03\0\xf4\x02\0\0\x94\x85\0\0\x06\0\0\0\0\x10\0\0\x02\0\0\0\x94~\x03\0\x94\x8e\x03\0\x94\x8e\x03\0\xf8\0\0\0"
  22<--9(pid198)->io_stat_request () = 0 {23 7 0 5041 0 1730805109 0 33133 1 0 0 230648 0 1730805036 510000000 1 0 1730805033 470000000 8192 464 0 0 0 0 0 0 0 0 0 0 0}
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (0 266916 0 1    42<--40(pid198) 0 32 1 7 1) = 0 23728128
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (23732224 110592 0 0    42<--44(pid198) 4096 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (23732224 110592) = 0 
task31(pid198)-> 2089 (23732224 110592 0 0    42<--44(pid198) 4096 32 5 7 1) = 0 23732224
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--40(pid198)  (null)
task31(pid198)-> 2089 (23842816 114688 0 0    42<--40(pid198) 114688 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (23842816 114688) = 0 
task31(pid198)-> 2089 (23842816 114688 0 0    42<--40(pid198) 114688 32 1 7 1) = 0 23842816
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--9(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (23957504 8192 0 0    42<--44(pid198) 225280 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (23957504 8192) = 0 
task31(pid198)-> 2089 (23957504 8192 0 0    42<--44(pid198) 225280 32 3 7 1) = 0 23957504
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 2089 (23965696 29348 0 0  (null) 0 0 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (23965696 29348) = 0 
task31(pid198)-> 2089 (23965696 29348 0 0  (null) 0 0 3 7 1) = 0 23965696
task31(pid198)-> 3206 (pn{  4}) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/yxprh3h9ia690g4v1xhjhrsz54wdjd41-libgc-8.2.4/lib/libm.so.6" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/69p42kq5drmk5hcwlxik6yvcii6vf356-libffi-3.4.4/lib/libm.so.6" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/grnddd0hjjm6brp3vf8qnirmkmirjp57-libunistring-1.1/lib/libm.so.6" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/58fda34kb44awb1rpj68ga59pg7szims-libxcrypt-4.4.36/lib/libm.so.6" 1 0) = 0x40000002 (No such file or directory) 
  6<--35(pid198)->dir_lookup ("gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/lib/libm.so.6" 1 0) = 0 1 ""    22<--40(pid198)
  22<--40(pid198)->io_read_request (-1 512) = 0 "\x7fELF\x01\x01\x01\0\0\0\0\0\0\0\0\0\x03\0\x03\0\x01\0\0\0\0\0\0\04\0\0\0x?\x1a\0\0\0\0\04\0 \0\n\0(\0(\0'\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0l\xcb\0\0l\xcb\0\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\0\xd0\0\0\0\xd0\0\0\0\xd0\0\05\xad\v\05\xad\v\0\x05\0\0\0\0\x10\0\0\x01\0\0\0\0\x80\f\0\0\x80\f\0\0\x80\f\0\xd8b\x03\0\xd8b\x03\0\x04\0\0\0\0\x10\0\0\x01\0\0\0\xb4\xee\x0f\0\xb4\xfe\x0f\0\xb4\xfe\x0f\0x\x01\0\0\x84\x01\0\0\x06\0\0\0\0\x10\0\0\x02\0\0\0\xc4\xee\x0f\0\xc4\xfe\x0f\0\xc4\xfe\x0f\0\b\x01\0\0"
  22<--40(pid198)->io_stat_request () = 0 {23 7 0 17615 0 1730805110 0 33133 1 0 0 1721784 0 1730805036 510000000 1 0 1730805033 470000000 8192 3376 0 0 0 0 0 0 0 0 0 0 0}
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (0 1048632 0 1    42<--9(pid198) 0 32 1 7 1) = 0 23998464
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (24051712 765952 0 0    42<--44(pid198) 53248 32 5 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (24051712 765952) = 0 
task31(pid198)-> 2089 (24051712 765952 0 0    42<--44(pid198) 53248 32 5 7 1) = 0 24051712
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--9(pid198)  (null)
task31(pid198)-> 2089 (24817664 225280 0 0    42<--9(pid198) 819200 32 1 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (24817664 225280) = 0 
task31(pid198)-> 2089 (24817664 225280 0 0    42<--9(pid198) 819200 32 1 7 1) = 0 24817664
task31(pid198)-> 3206 (pn{ 13}) = 0 
  22<--40(pid198)->io_map_request () = 0    42<--44(pid198)  (null)
task31(pid198)-> 2089 (25042944 8192 0 0    42<--44(pid198) 1040384 32 3 7 1) = 0x3 ((os/kern) no space available) 
task31(pid198)-> 2023 (25042944 8192) = 0 
task31(pid198)-> 2089 (25042944 8192 0 0    42<--44(pid198) 1040384 32 3 7 1) = 0 25042944
task31(pid198)-> 3206 (pn{ 13}) = 0 
task31(pid198)-> 3206 (pn{  4}) = 0 
task31(pid198)-> 2089 (0 8192 0 1  (null) 0 0 3 7 1) = 0 25051136
thread1(pid198)-> 3807 (-1 {1191247871 30405246}) = 0 75
task31(pid198)-> 3206 (pn{  4}) = 0 
task31(pid198)-> 2024 (21532672 8192 0 1) = 0 
task31(pid198)-> 2024 (21667840 4096 0 1) = 0 
task31(pid198)-> 2024 (21897216 4096 0 1) = 0 
task31(pid198)-> 2024 (25042944 4096 0 1) = 0 
task31(pid198)-> 2024 (23957504 4096 0 1) = 0 
task31(pid198)-> 2024 (18886656 4096 0 1) = 0 
task31(pid198)-> 2024 (18432000 8192 0 1) = 0 
task31(pid198)-> 2024 (221184 8192 0 1) = 0 
task31(pid198)-> 3208 (pn{  3} 1 -1) = 0 
task31(pid198)-> 3206 (pn{  2}) = 0 
task31(pid198)-> 3206 (pn{  1}) = 0 
task31(pid198)-> 2089 (536870912 134217728 0 0  (null) 0 0 0 7 1) = 0 536870912
task31(pid198)-> 2021 (268435463 4096 1) = 0 25059328
task31(pid198)-> 2059 (4  (null)) = 0 
task31(pid198)-> 2021 (4 4096 1) = 0 25063424
task31(pid198)-> 3208 (pn{  3} 0 1) = 0 
task31(pid198)-> 3206 (pn{  3}) = 0 
  26<--38(pid198)->proc_getpids_request () = 0 198 196 1
  26<--38(pid198)->proc_getpgrp_request (198) = 0 196
task31(pid198)-> 2021 (24148 4096 1) = 0 25067520
task31(pid198)-> 2021 (25067520 4096 1) = 0 25071616
task31(pid198)-> 2023 (17022976 20) = 0 
task31(pid198)-> 2029 (17014760) = 0 237568 16777216 7 7 1 0    22<--9(pid198) 0
task31(pid198)-> 3206 (pn{ 13}) = 0 
  6<--35(pid198)->dir_lookup ("dev/urandom" 9 0) = 0 3 "/dev/random"  (null)
  6<--35(pid198)->dir_lookup ("dev/random" 9 0) = 0 1 ""    22<--40(pid198)
  22<--40(pid198)->io_read_request (-1 4) = 0 "\xf7\xf7\x04A"
task31(pid198)-> 2024 (536870912 135168 0 3) = 0 
task31(pid198)-> 2024 (537006080 4096 0 3) = 0 
task31(pid198)-> 3204 (1) = 0 pn{ 14}
task31(pid198)-> 3215 (pn{ 14}   42) = 0 
task31(pid198)-> 3210 (pn{ 14} 1) = 0 
task31(pid198)-> 3206 (pn{  3}) = 0 
task31(pid198)-> 3204 (1) = 0 pn{ 15}
task31(pid198)-> 3215 (pn{ 15}   44) = 0 
task31(pid198)-> 2021 (0 8392704 1) = 0 25075712
task31(pid198)-> 3204 (1) = 0 pn{ 16}
task31(pid198)-> 3215 (pn{ 16}   45) = 0 
task31(pid198)-> 3210 (pn{ 16} 1) = 0 
task31(pid198)-> 2061 () = 0    46<--9(pid198)
task31(pid198)-> 2024 (25075712 4096 0 0) = 0 
thread46(pid198)-> 2017 (5 17) = 0 {31 31 31 31 0 0 0 0 0 0 0 0 0 23 512 0 31}
thread46(pid198)-> 3807 (75 {398524415 550498816}) = 0 75
thread46(pid198)-> 2018 (5 {75 31 31 31 0 0 0 0 0 0 0 0 18837200 23 512 33468396 31}) = 0 
task31(pid198)-> 2021 (17 4096 1) = 0 17022976
task31(pid198)-> 3208 (pn{ 17} 0 1) = 0 
thread46(pid198)-> 2063 () = 0 
task31(pid198)-> 3206 (pn{ 17}) = 0 
task31(pid198)-> 2059 (3    44<--48(pid-1)) = 0 
  26<--38(pid198)->proc_setmsgport_request (   44<--48(pid-1)) = 0  (null)
  26<--38(pid198)->proc_set_arg_locations_request (17014228 17014248) = 0 
task31(pid198)-> 3204 (1) = 0 pn{ 19}
task31(pid198)-> 3215 (pn{ 19}   49) = 0 
task31(pid198)-> 3204 (1) = 0 pn{ 20}
task31(pid198)-> 3210 (pn{ 20} 1) = 0 
  26<--38(pid198)->proc_handle_exceptions_request (   49<--51(pid-1)    50<--52(pid-1) 5 {75 31 31 31 0 0 0 0 0 0 0 0 19291280 23 0 21548192 0}) = 0 
thread46(pid198)-> 2068 (3   51) = 0 
task31(pid198)-> 3206 (pn{ 19}) = 0 
task31(pid198)-> 2023 (17031168 20) = 0 
task31(pid198)-> 2023 (17027072 24) = 0 
  6<--35(pid198)->dir_lookup ("gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/share/locale/locale.alias" 4194305 0) = 0 1 ""    51<--47(pid198)

[-- Attachment #3: Type: text/plain, Size: 164 bytes --]


-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-11-05 15:41           ` janneke
@ 2024-11-10 11:54             ` Ludovic Courtès
  2024-11-10 12:01               ` janneke
  0 siblings, 1 reply; 16+ messages in thread
From: Ludovic Courtès @ 2024-11-10 11:54 UTC (permalink / raw)
  To: janneke; +Cc: 73181

Hello,

<janneke@gnu.org> skribis:

>>> Anyway, using this patch 0001 it seems that suppressing the warnings
>>> works, I no longer get
>>>
>>> "GC Warning: Repeated allocation of very large block (appr. size 112
>>> KiB):\n\tMay lead to memory leak and poor performance\n"
>>>
>>>
>>> but still get
>>>
>>> unexpected build daemon error: stoi
>>
>> Damnit.  Could you check with rpctrace what the daemon receives?
>>
>> I wonder if I misunderstood what the root cause is.
>
> Yes :-(  I captured a `guix offload test' run, see attached.

[...]

> task31(pid198)-> 2058 (4) = 0    22<--9(pid198)
>   22<--9(pid198)->exec_startup_get_info () = 0 134517280 134512692 352 237568 16777216 0 "/gnu/store/7wgwfsbvq8m9zkz03d27ij53jciliz9n-guix-1.4.0-27.3d399e5/libexec/guix/guile\0\\0/run/current-system/profile/bin/guix\0authenticate\0" "SHELL=/gnu/store/dm5shwb20i38wqdkmyqvhqfi0hmq1lr1-bash-5.1.16/bin/bash\0XDG_CONFIG_DIRS=/root/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg\0PKG_CONFIG_PATH=/run/current-system/profile/lib/p" {  16<--25(pid198)   13<--27(pid198)   13<--27(pid198)   4<--32(pid198)   12<--33(pid198)} {  11<--34(pid198)   6<--35(pid198)   2<--36(pid198)   26<--38(pid198) (null) (null)} {18 0 0 0 0}

[...]

>   26<--38(pid198)->proc_setmsgport_request (   44<--48(pid-1)) = 0  (null)
>   26<--38(pid198)->proc_set_arg_locations_request (17014228 17014248) = 0 
> task31(pid198)-> 3204 (1) = 0 pn{ 19}
> task31(pid198)-> 3215 (pn{ 19}   49) = 0 
> task31(pid198)-> 3204 (1) = 0 pn{ 20}
> task31(pid198)-> 3210 (pn{ 20} 1) = 0 
>   26<--38(pid198)->proc_handle_exceptions_request (   49<--51(pid-1)    50<--52(pid-1) 5 {75 31 31 31 0 0 0 0 0 0 0 0 19291280 23 0 21548192 0}) = 0 
> thread46(pid198)-> 2068 (3   51) = 0 
> task31(pid198)-> 3206 (pn{ 19}) = 0 
> task31(pid198)-> 2023 (17031168 20) = 0 
> task31(pid198)-> 2023 (17027072 24) = 0 
>   6<--35(pid198)->dir_lookup ("gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/share/locale/locale.alias" 4194305 0) = 0 1 ""    51<--47(pid198)

Does that ‘locale.alias’ file exists?

Did you try several LC_ALL=xxx values to see which one would work and
which one wouldn’t?

So after all, there may be two issues: the “Repeated allocation” thing,
and a locale issue.

Thanks,
Ludo’.




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-11-10 11:54             ` Ludovic Courtès
@ 2024-11-10 12:01               ` janneke
  0 siblings, 0 replies; 16+ messages in thread
From: janneke @ 2024-11-10 12:01 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 73181

Ludovic Courtès writes:

Hi,

> <janneke@gnu.org> skribis:
>
>>>> Anyway, using this patch 0001 it seems that suppressing the warnings
>>>> works, I no longer get
>>>>
>>>> "GC Warning: Repeated allocation of very large block (appr. size 112
>>>> KiB):\n\tMay lead to memory leak and poor performance\n"
>>>>
>>>>
>>>> but still get
>>>>
>>>> unexpected build daemon error: stoi
>>>
>>> Damnit.  Could you check with rpctrace what the daemon receives?
>>>
>>> I wonder if I misunderstood what the root cause is.
>>
>> Yes :-(  I captured a `guix offload test' run, see attached.
>
> [...]
>
>> ("gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/share/locale/locale.alias"
>> 4194305 0) = 0 1 "" 51<--47(pid198)
>
> Does that ‘locale.alias’ file exists?

Yes

--8<---------------cut here---------------start------------->8---
root@childhurd ~# tail /gnu/store/81ffz0prarfczr408ydnps31jf72s5ly-glibc-cross-i586-pc-gnu-2.39/share/locale/locale.alias
portuguese      pt_PT.ISO-8859-1
romanian        ro_RO.ISO-8859-2
russian         ru_RU.ISO-8859-5
slovak          sk_SK.ISO-8859-2
slovene         sl_SI.ISO-8859-2
slovenian       sl_SI.ISO-8859-2
spanish         es_ES.ISO-8859-1
swedish         sv_SE.ISO-8859-1
thai             th_TH.TIS-620
turkish         tr_TR.ISO-8859-9
--8<---------------cut here---------------end--------------->8---

> Did you try several LC_ALL=xxx values to see which one would work and
> which one wouldn’t?

I tried fr_FR.UTF-8 and nl_NL.UTF-8, both fail.  And then LC_ALL=C,
which works.  Any other ideas?

> So after all, there may be two issues: the “Repeated allocation” thing,
> and a locale issue.

Yes, it looks like the we can suppress the warnings though, which
hides the "Repeated allocation" issue...

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-11-05 14:03         ` Ludovic Courtès
  2024-11-05 15:41           ` janneke
@ 2024-11-18  8:41           ` janneke
  2024-12-06 18:49           ` Janneke Nieuwenhuizen
  2 siblings, 0 replies; 16+ messages in thread
From: janneke @ 2024-11-18  8:41 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 73181

Ludovic Courtès writes:

Hello,

> <janneke@gnu.org> skribis:
>
>> Anyway, using this patch 0001 it seems that suppressing the warnings
>> works, I no longer get
>>
>> "GC Warning: Repeated allocation of very large block (appr. size 112
>> KiB):\n\tMay lead to memory leak and poor performance\n"
>>
>>
>> but still get
>>
>> unexpected build daemon error: stoi
>
> Damnit.  Could you check with rpctrace what the daemon receives?
>
> I wonder if I misunderstood what the root cause is.
>
>> From 3d399e51104171ad328bea66ebdc1d6b0ac99685 Mon Sep 17 00:00:00 2001
>> Message-ID: <3d399e51104171ad328bea66ebdc1d6b0ac99685.1730803153.git.janneke@gnu.org>
>> From: Janneke Nieuwenhuizen <janneke@gnu.org>
>> Date: Mon, 4 Nov 2024 14:54:55 +0100
>> Subject: [PATCH 1/3] guile: Silence GC warnings on the Hurd.
>> MIME-Version: 1.0
>> Content-Type: text/plain; charset=UTF-8
>> Content-Transfer-Encoding: 8bit
>> Content-Transfer-Encoding: 8bit
>> Content-Type: text/plain; charset=UTF-8
>>
>> This should work around <https://issues.guix.gnu.org/73181>, resurrecting
>> offloading to the Hurd.
>>
>> * gnu/packages/aux-files/guile-launcher.c (no_warnings)[__GNU__]: New
>> function.
>> (main)[__GNU__]: Use it to silence libgc warnings.
>>
>> Co-authored-by: Ludovic Courtès <ludo@gnu.org>.
>> Change-Id: I8f30732d192ce46144da4a1a081813a104a5f376
>
> LGTM.

Okay, pushed to master as b0416b8503e38746717a2d1167f9d1410634981e.

I decided to add some more instrumentation

--8<---------------cut here---------------start------------->8---
diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc
index 0883a4bbce..f9f42074eb 100644
--- a/nix/libstore/local-store.cc
+++ b/nix/libstore/local-store.cc
@@ -1182,6 +1182,12 @@ static int readInteger(int fd)
         }
     }
 
+    if (str.empty()) {
+      printMsg(lvlError, format("nondigit: %1%") % str);
+      str = readLine(fd);
+      printMsg(lvlError, format("line: %1%") % str);
+      throw EndOfFile("unexpected non-digit reading an integer");
+    }
     return stoi(str);
 }
--8<---------------cut here---------------end--------------->8---

to possibly find out what the non-digit text is that we get, and build
with the above patch.  However, after two initial offload failures and
wrong host key, manual chilhurd..

--8<---------------cut here---------------start------------->8---
08:31:37 janneke@dundal:~/src/guix/hurd64-team 
$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: Guix is usable on 'localhost' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: 'localhost' is running GNU Guile 3.0.9
guix offload: sending 1 store item (0 MiB) to 'localhost'...
exporting path `/gnu/store/q8gsjh72lb4h2ga65g1rzj6f8nm9l7lg-export-test'
guix offload: error: unexpected non-digit reading an integer
[1] 08:32:10 janneke@dundal:~/src/guix/hurd64-team 
$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: Guix is usable on 'localhost' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: 'localhost' is running GNU Guile 3.0.9
guix offload: sending 1 store item (0 MiB) to 'localhost'...
exporting path `/gnu/store/5hfifv0ngkazyhbn0klbfq28fcxnlz3b-export-test'
guix offload: error: unexpected non-digit reading an integer
[1] 08:32:28 janneke@dundal:~/src/guix/hurd64-team 
$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: Guix is usable on 'localhost' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: 'localhost' is running GNU Guile 3.0.9
guix offload: sending 1 store item (0 MiB) to 'localhost'...
exporting path `/gnu/store/90517zpibi4bqsrbmd9ih64l8044ixnx-export-test'
guix offload: 'localhost' successfully imported '/gnu/store/90517zpibi4bqsrbmd9ih64l8044ixnx-export-test'
acquiring global GC lock `/var/guix/gc.lock'
acquiring read lock on `/var/guix/temproots/280'
acquiring write lock on `/var/guix/temproots/280'
downgrading to read lock on `/var/guix/temproots/280'
locking path `/gnu/store/r3d3r3xgf89axzp27krlj07rw6czlmcn-import-test'
lock acquired on `/gnu/store/r3d3r3xgf89axzp27krlj07rw6czlmcn-import-test.lock'
lock released on `/gnu/store/r3d3r3xgf89axzp27krlj07rw6czlmcn-import-test.lock'
retrieving 1 store item from 'localhost'...
guix offload: error: unauthorized public key: (public-key 
 (ecc 
  (curve Ed25519)
  (q #842CFCACDF1E7F764A3E31621DA9AF70C2B3CA37222EC2C56C04228190F2EA48#)
  )
 )

[1] 08:33:34 janneke@dundal:~/src/guix/hurd64-team 
--8<---------------cut here---------------end--------------->8---

...handle authorization..., I realized that the extra debugging is
printed on the host side, so I should also run the patched daemon there.
However, there was no more chance to do so because the offload test
started to work...

--8<---------------cut here---------------start------------->8---
08:34:12 janneke@dundal:~/src/guix/hurd64-team 
$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: Guix is usable on 'localhost' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: 'localhost' is running GNU Guile 3.0.9
guix offload: sending 1 store item (0 MiB) to 'localhost'...
exporting path `/gnu/store/bvgz40q5x67iypa02qc7qb610f0vlb5d-export-test'
guix offload: 'localhost' successfully imported '/gnu/store/bvgz40q5x67iypa02qc7qb610f0vlb5d-export-test'
acquiring global GC lock `/var/guix/gc.lock'
acquiring read lock on `/var/guix/temproots/318'
acquiring write lock on `/var/guix/temproots/318'
downgrading to read lock on `/var/guix/temproots/318'
locking path `/gnu/store/zrqdfjvyyvyfz27678ia7jqidhf8557y-import-test'
lock acquired on `/gnu/store/zrqdfjvyyvyfz27678ia7jqidhf8557y-import-test.lock'
lock released on `/gnu/store/zrqdfjvyyvyfz27678ia7jqidhf8557y-import-test.lock'
retrieving 1 store item from 'localhost'...
guix offload: successfully imported '/gnu/store/zrqdfjvyyvyfz27678ia7jqidhf8557y-import-test' from 'localhost'
08:34:27 janneke@dundal:~/src/guix/hurd64-team 
$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: Guix is usable on 'localhost' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: 'localhost' is running GNU Guile 3.0.9
guix offload: sending 1 store item (0 MiB) to 'localhost'...
exporting path `/gnu/store/vcfgm1crwm5hfwmq2f04d67w5gix76yc-export-test'
guix offload: 'localhost' successfully imported '/gnu/store/vcfgm1crwm5hfwmq2f04d67w5gix76yc-export-test'
acquiring global GC lock `/var/guix/gc.lock'
acquiring read lock on `/var/guix/temproots/335'
acquiring write lock on `/var/guix/temproots/335'
downgrading to read lock on `/var/guix/temproots/335'
locking path `/gnu/store/g2gpgcqbaaj3gylrvskr7pdnq7w88b48-import-test'
lock acquired on `/gnu/store/g2gpgcqbaaj3gylrvskr7pdnq7w88b48-import-test.lock'
lock released on `/gnu/store/g2gpgcqbaaj3gylrvskr7pdnq7w88b48-import-test.lock'
retrieving 1 store item from 'localhost'...
guix offload: successfully imported '/gnu/store/g2gpgcqbaaj3gylrvskr7pdnq7w88b48-import-test' from 'localhost'
08:34:36 janneke@dundal:~/src/guix/hurd64-team 
$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: Guix is usable on 'localhost' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: 'localhost' is running GNU Guile 3.0.9
guix offload: sending 1 store item (0 MiB) to 'localhost'...
exporting path `/gnu/store/30np8abkfw4q70zkp779m2h0mhygzzkv-export-test'
guix offload: 'localhost' successfully imported '/gnu/store/30np8abkfw4q70zkp779m2h0mhygzzkv-export-test'
acquiring global GC lock `/var/guix/gc.lock'
acquiring read lock on `/var/guix/temproots/352'
acquiring write lock on `/var/guix/temproots/352'
downgrading to read lock on `/var/guix/temproots/352'
locking path `/gnu/store/381dqixhyg6dkm65cvp21qd19g49gp5h-import-test'
lock acquired on `/gnu/store/381dqixhyg6dkm65cvp21qd19g49gp5h-import-test.lock'
lock released on `/gnu/store/381dqixhyg6dkm65cvp21qd19g49gp5h-import-test.lock'
retrieving 1 store item from 'localhost'...
guix offload: successfully imported '/gnu/store/381dqixhyg6dkm65cvp21qd19g49gp5h-import-test' from 'localhost'
08:34:45 janneke@dundal:~/src/guix/hurd64-team 
$ guix offload test
guix offload: testing 1 build machines defined in '/etc/guix/machines.scm'...
guix offload: Guix is usable on 'localhost' (test returned "/gnu/store/883yjkl46dxw9mzykykmbs0yzwyxm17z-test")
guix offload: 'localhost' is running GNU Guile 3.0.9
guix offload: sending 1 store item (0 MiB) to 'localhost'...
exporting path `/gnu/store/imb70z94d8050dl8nvwbxznfq4aq9jzh-export-test'
guix offload: 'localhost' successfully imported '/gnu/store/imb70z94d8050dl8nvwbxznfq4aq9jzh-export-test'
acquiring global GC lock `/var/guix/gc.lock'
acquiring read lock on `/var/guix/temproots/369'
acquiring write lock on `/var/guix/temproots/369'
downgrading to read lock on `/var/guix/temproots/369'
locking path `/gnu/store/prmbb24jl7shiqg56f9fips5izlai1l2-import-test'
lock acquired on `/gnu/store/prmbb24jl7shiqg56f9fips5izlai1l2-import-test.lock'
lock released on `/gnu/store/prmbb24jl7shiqg56f9fips5izlai1l2-import-test.lock'
retrieving 1 store item from 'localhost'...
guix offload: successfully imported '/gnu/store/prmbb24jl7shiqg56f9fips5izlai1l2-import-test' from 'localhost'
--8<---------------cut here---------------end--------------->8---

so, that's why I pushed the commit.  When I tested, and later
re-asserted this patch didn't work, I only tried once or twice...
Guess I'm counting too strongly on deterministic behaviour. :)

Guix copy also works (two ways), yay!

--8<---------------cut here---------------start------------->8---
$ guix copy --to=root@childhurd1 hello
guix copy: sending 0 store items (0 MiB) to 'localhost'...
08:38:55 janneke@dundal:~/src/guix/hurd64-team 
$ guix copy --to=root@childhurd1 tar
guix copy: sending 1 store item (3 MiB) to 'localhost'...
/gnu/store/1w05qnl350b88g5wj1z5k2jywhhcxkyn-tar-1.34
08:58:54 janneke@dundal:~/src/guix/hurd-team 
$ guix copy --from=root@childhurd1   /gnu/store/liwlc0500w5lq37p3skr8llqx436bbjr-profile.drv
retrieving 1 store item from 'localhost'...
/gnu/store/0mxnx8l4fgigvd7gakwdk6hc6im4wnai-disarchive-mirrors
/gnu/store/ajgpfirfcga0k48qvbf359b0ldgl2bic-mirrors
/gnu/store/wg1yp2vx8gb7qmcgyibqnwblahpp4bjg-content-addressed-mirrors
...
09:01:46 janneke@dundal:~/src/guix/hurd-team 
--8<---------------cut here---------------end--------------->8---

Actually offloading shows the same behaviour as I observed using my
LC_ALL=C hack (with the 64bit childhurd):

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build --system=i586-gnu --expression='(@@ (gnu packages commencement) gnu-make-boot0)'
substitute: updating substitutes from 'http://192.168.178.20:8080'... 100.0%
substitute: updating substitutes from 'http://kluit.dezyne.org:8181'... 100.0%
substitute: updating substitutes from 'http://janneke.lilypond.org:8080'... 100.0%
substitute: updating substitutes from 'https://bordeaux.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations will be built:
  /gnu/store/9zznz8v0pbr7q4ix7syqhl6njrhw6xgf-glibc-stripped-2.39-i586-pc-gnu.tar.xz.drv
  /gnu/store/zb9f8hnc1iyabi072251lc67d2syh8f9-glibc-bootstrap-0.drv
  /gnu/store/xf4cnmaxkda92v9493lr43afq577nnx0-gcc-bootstrap-0.drv
  /gnu/store/2469p0sxmw0m7d0g5xvdwgdzw95w947j-make-boot0-4.4.1.drv
process 11767 acquired build slot '/var/guix/offload/localhost:11022/0'
normalized load on machine 'localhost' is 1.00
waiting for locks or build slots...
process 11767 acquired build slot '/var/guix/offload/localhost:11022/0'
normalized load on machine 'localhost' is 1.00
process 11767 acquired build slot '/var/guix/offload/localhost:11022/0'
normalized load on machine 'localhost' is 1.00
process 11767 acquired build slot '/var/guix/offload/localhost:11022/0'
normalized load on machine 'localhost' is 1.00
...ad infinitum
--8<---------------cut here---------------end--------------->8---

...nothing happens.  (Tried several times, let it run for 5min.)  Maybe
that's another issue?

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-11-05 14:03         ` Ludovic Courtès
  2024-11-05 15:41           ` janneke
  2024-11-18  8:41           ` janneke
@ 2024-12-06 18:49           ` Janneke Nieuwenhuizen
  2024-12-10  8:07             ` Ludovic Courtès
  2 siblings, 1 reply; 16+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-12-06 18:49 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 73181

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

Ludovic Courtès writes:

Hello!

> <janneke@gnu.org> skribis:
>
>> Anyway, using this patch 0001 it seems that suppressing the warnings
>> works, I no longer get
>>
>> "GC Warning: Repeated allocation of very large block (appr. size 112
>> KiB):\n\tMay lead to memory leak and poor performance\n"
>>
>>
>> but still get
>>
>> unexpected build daemon error: stoi
>
> Damnit.  Could you check with rpctrace what the daemon receives?
>
> I wonder if I misunderstood what the root cause is.

TL;DR: Found it, attached is a patch to fix it.

Today I spent some time looking into this again, instrumented both
daemons with the attached patch for local-store.cc; a "guix copy
root@childhurd hello" gives:

host:
--8<---------------cut here---------------start------------->8---
accepted connection from pid 21474, user janneke
00 nondigit: ` ' [32]
01 read until now: >>>0<<<
00 nondigit: `:' [58]
01 read until now: >>>430<<<
--8<---------------cut here---------------end--------------->8---

childhurd:
--8<---------------cut here---------------start------------->8---
5 operations
00 nondigit: `G' [71]
01 read until now: >>><<<
02 nondigit: `G' [71]
03 nondigit: >>>GC Warning: Repeated allocation of very large block (appr. size 112 KiB):<<<
0 operations
--8<---------------cut here---------------end--------------->8---

...you already knew that from the rpctrace log.

So, the problem is that our patch doesrn't disable the warnings after all.
The guile-launcher has

guile-launcher.c:
--8<---------------cut here---------------start------------->8---
#if defined __GNU__
  /* XXX: On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
     warnings that are annoying and interfere with communications between
     'guix-daemon' and 'guix authenticate':
     <https://issues.guix.gnu.org/73181>.  Silence them.  */
  std::cerr << "silencing libgc warnings" << std::endl;
  GC_set_warn_proc (no_warnings);
#endif
  ..
  scm_boot_guile (argc, argv, inner_main, 0);
--8<---------------cut here---------------end--------------->8---

and then guile's gc.c just undoes that

init.c:
--8<---------------cut here---------------start------------->8---
scm_i_init_guile (void *base)
{
  ..
  scm_init_gc ();		/* Requires hooks and `get_internal_run_time' */
--8<---------------cut here---------------end--------------->8---

gc.c:
--8<---------------cut here---------------start------------->8---
void
scm_init_gc ()
{
  ..
  GC_set_warn_proc (scm_gc_warn_proc);
--8<---------------cut here---------------end--------------->8---

Doh' So, attached is also a patch for Guix (that I made for Guile) that
fixed offloading again for me.  Weirdly, I had to use
(overload-threshold #f) because my childhurd never falls below 1.0:

--8<---------------cut here---------------start------------->8---
root@guixygnu ~# uptime
 7:45:28 PM  up 35 minutes,  0 users,  load averages: 1.00, 1.01, 1.00
--8<---------------cut here---------------end--------------->8---


--8<---------------cut here---------------start------------->8---
19:25:48 janneke@glimdal:~/src/guix/hurd-team
$ ./pre-inst-env guix build --system=i586-gnu -e '(@@ (gnu packages commencement) gnu-make-boot0)' --with-configure-flag=make-boot0=foo=bar
The following derivation will be built:
  /gnu/store/cp1fy0ig5p8d72vnz1vybw2cilii5g88-make-boot0-4.4.1.drv
process 4454 acquired build slot '/var/guix/offload/localhost:11022/0'
normalized load on machine 'localhost' is 1.00
building /gnu/store/cp1fy0ig5p8d72vnz1vybw2cilii5g88-make-boot0-4.4.1.drv...
guix offload: sending 41 store items (259 MiB) to 'localhost'...
[..]
@ build-started /gnu/store/cp1fy0ig5p8d72vnz1vybw2cilii5g88-make-boot0-4.4.1.drv - i586-gnu /var/log/guix/drvs/cp//1fy0ig5p8d72vnz1vybw2cilii5g88-make-boot0-4.4.1.drv.gz 360
[..]
@ build-succeeded /gnu/store/cp1fy0ig5p8d72vnz1vybw2cilii5g88-make-boot0-4.4.1.drv -
retrieving 1 store item from 'localhost'...
importing file or directory '/gnu/store/j83d3mzcjw83lcbvyd8hrs6i6ymdqbmc-make-boot0-4.4.1'...
found valid signature for '/gnu/store/j83d3mzcjw83lcbvyd8hrs6i6ymdqbmc-make-boot0-4.4.1'
registering 1 items
done with offloaded '/gnu/store/cp1fy0ig5p8d72vnz1vybw2cilii5g88-make-boot0-4.4.1.drv'
successfully built /gnu/store/cp1fy0ig5p8d72vnz1vybw2cilii5g88-make-boot0-4.4.1.drv
/gnu/store/j83d3mzcjw83lcbvyd8hrs6i6ymdqbmc-make-boot0-4.4.1
--8<---------------cut here---------------end--------------->8---

WDYT?

Greetings,
Janneke


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-REMOVEME-stoi-add-some-debugging.patch --]
[-- Type: text/x-patch, Size: 1639 bytes --]

From 9695d17df1538460aad11500f56071500d9e4c80 Mon Sep 17 00:00:00 2001
Message-ID: <9695d17df1538460aad11500f56071500d9e4c80.1733510219.git.janneke@gnu.org>
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Mon, 18 Nov 2024 00:16:56 +0100
Subject: [PATCH] REMOVEME: stoi: add some debugging.

Change-Id: I114025c43cd2404a00dc65af7def06a312a31ca3
---
 nix/libstore/local-store.cc | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc
index 0883a4bbce..e98bf04392 100644
--- a/nix/libstore/local-store.cc
+++ b/nix/libstore/local-store.cc
@@ -1164,9 +1164,9 @@ static std::shared_ptr<Agent> authenticationAgent()
 static int readInteger(int fd)
 {
     string str;
+    char ch;
 
     while (1) {
-        char ch;
         ssize_t rd = read(fd, &ch, 1);
         if (rd == -1) {
             if (errno != EINTR)
@@ -1177,11 +1177,20 @@ static int readInteger(int fd)
 	    if (isdigit(ch)) {
 		str += ch;
 	    } else {
-		break;
+              std::cerr << "00 nondigit: `" << ch << "' [" << (int) ch << "]" << std::endl;
+              std::cerr << "01 read until now: >>>" << str << "<<<" << std::endl;
+              break;
 	    }
         }
     }
 
+    if (str.empty()) {
+      std::cerr << "02 nondigit: `" << ch << "' [" << (int) ch << "]" << std::endl;
+      str += ch;
+      str += readLine(fd);
+      std::cerr << "03 nondigit: >>>" << str << "<<<" << std::endl;
+      throw EndOfFile("unexpected non-digit reading an integer");
+    }
     return stoi(str);
 }
 

base-commit: 889c396cc5fd948d2c874c2d4a51115f82591964
-- 
2.46.0


[-- Attachment #3: 0001-gnu-guile-3.0-Silence-GC-warnings-on-the-Hurd.patch --]
[-- Type: text/x-patch, Size: 4782 bytes --]

From c555134310728360cb3b12472e8d487421d57a7d Mon Sep 17 00:00:00 2001
Message-ID: <c555134310728360cb3b12472e8d487421d57a7d.1733509997.git.janneke@gnu.org>
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 6 Dec 2024 16:25:54 +0100
Subject: [PATCH] gnu: guile-3.0: Silence GC warnings on the Hurd.

* gnu/packages/patches/guile-hurd-silence-gc-warnings.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/guile.scm (guile-3.0): When building for the Hurd, use it in
new stage "patch-silence-gc-warnings".

Change-Id: I48f2641a162c3fab15655293e10c4aa2200d5843
---
 gnu/local.mk                                  |  1 +
 gnu/packages/guile.scm                        | 11 ++++
 .../guile-hurd-silence-gc-warnings.patch      | 58 +++++++++++++++++++
 3 files changed, 70 insertions(+)
 create mode 100644 gnu/packages/patches/guile-hurd-silence-gc-warnings.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a7bd32453b..d848ceddc4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1520,6 +1520,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/guile-fix-invalid-unicode-handling.patch \
   %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch	\
   %D%/packages/patches/guile-hurd-posix-spawn.patch		\
+  %D%/packages/patches/guile-hurd-silence-gc-warnings.patch	\
   %D%/packages/patches/guile-lzlib-hurd64.patch			\
   %D%/packages/patches/guile-present-coding.patch		\
   %D%/packages/patches/guile-rsvg-pkgconfig.patch		\
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 69dff9211f..41fbd895ed 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -413,6 +413,17 @@ (define-public guile-3.0
                                (search-patch "guile-hurd-posix-spawn.patch")))
                           (invoke "patch" "--force" "-p1" "-i" patch))))
                    #~())
+            #$@(if (target-hurd?)
+                   #~((add-before 'build 'patch-silence-gc-warnings
+                        (lambda _
+                          ;; TODO: Move patch to 'source' on next rebuild
+                          ;; cycle.
+                          (define patch
+                            #$(local-file
+                               (search-patch
+                                "guile-hurd-silence-gc-warnings.patch")))
+                          (invoke "patch" "--force" "-p1" "-i" patch))))
+                   #~())
             #$@(if (system-hurd?)
                    #~((add-after 'unpack 'disable-popen.test-no-duplicate
                         ;; This test hangs on the Hurd.
diff --git a/gnu/packages/patches/guile-hurd-silence-gc-warnings.patch b/gnu/packages/patches/guile-hurd-silence-gc-warnings.patch
new file mode 100644
index 0000000000..a006d93361
--- /dev/null
+++ b/gnu/packages/patches/guile-hurd-silence-gc-warnings.patch
@@ -0,0 +1,58 @@
+From 1256fb0925c5ff7c94249f53e0fb47d1ec280b3f Mon Sep 17 00:00:00 2001
+From: Janneke Nieuwenhuizen <janneke@gnu.org>
+Date: Fri, 6 Dec 2024 16:18:13 +0100
+Subject: [PATCH] Silence GC warnings on the Hurd.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
+warnings that are annoying and interfere with communications between
+'guix-daemon' and 'guix authenticate':
+<https://issues.guix.gnu.org/73181>.
+
+* libguile/gc.c (scm_gc_no_warnings)[__GNU__]: New procedure.
+(scm_init_gc)[__GNU__]: Use it to silence GC warnings.
+
+Co-authored-by: Ludovic Courtès <ludo@gnu.org>
+---
+ libguile/gc.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/libguile/gc.c b/libguile/gc.c
+index 3cbe43ec5..1ea4abcf8 100644
+--- a/libguile/gc.c
++++ b/libguile/gc.c
+@@ -84,6 +84,13 @@ int scm_debug_cells_gc_interval = 0;
+    garbage collection.  */
+ static SCM scm_protects;
+ 
++#if defined __GNU__
++#include <gc.h>
++static void
++scm_gc_no_warnings (char *message, GC_word arg)
++{
++}
++#endif
+ 
+ \f
+ 
+@@ -616,7 +623,15 @@ scm_init_gc ()
+   scm_c_hook_add (&scm_after_gc_c_hook, accumulate_gc_timer, NULL, 0);
+ 
+   GC_set_oom_fn (scm_oom_fn);
++#if __GNU__
++  /* XXX: On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
++     warnings that are annoying and interfere with communications between
++     'guix-daemon' and 'guix authenticate':
++     <https://issues.guix.gnu.org/73181>.  Silence them.  */
++  GC_set_warn_proc (scm_gc_no_warnings);
++#else
+   GC_set_warn_proc (scm_gc_warn_proc);
++#endif
+   GC_set_start_callback (run_before_gc_c_hook);
+ 
+ #include "gc.x"
+-- 
+2.46.0
+

base-commit: 84fa76db424df8962ee21315ffd680c083edbf00
-- 
2.46.0


[-- Attachment #4: Type: text/plain, Size: 164 bytes --]


-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-12-06 18:49           ` Janneke Nieuwenhuizen
@ 2024-12-10  8:07             ` Ludovic Courtès
  2024-12-10 12:47               ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 16+ messages in thread
From: Ludovic Courtès @ 2024-12-10  8:07 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: 73181

Hi Janneke,

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

> So, the problem is that our patch doesrn't disable the warnings after all.
> The guile-launcher has
>
> guile-launcher.c:
>
> #if defined __GNU__
>   /* XXX: On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
>      warnings that are annoying and interfere with communications between
>      'guix-daemon' and 'guix authenticate':
>      <https://issues.guix.gnu.org/73181>.  Silence them.  */
>   std::cerr << "silencing libgc warnings" << std::endl;
>   GC_set_warn_proc (no_warnings);
> #endif
>   ..
>   scm_boot_guile (argc, argv, inner_main, 0);
>
>
> and then guile's gc.c just undoes that

D’oh!  Good catch!

> From c555134310728360cb3b12472e8d487421d57a7d Mon Sep 17 00:00:00 2001
> Message-ID: <c555134310728360cb3b12472e8d487421d57a7d.1733509997.git.janneke@gnu.org>
> From: Janneke Nieuwenhuizen <janneke@gnu.org>
> Date: Fri, 6 Dec 2024 16:25:54 +0100
> Subject: [PATCH] gnu: guile-3.0: Silence GC warnings on the Hurd.
>
> * gnu/packages/patches/guile-hurd-silence-gc-warnings.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Register it.
> * gnu/packages/guile.scm (guile-3.0): When building for the Hurd, use it in
> new stage "patch-silence-gc-warnings".
>
> Change-Id: I48f2641a162c3fab15655293e10c4aa2200d5843

You’ll hate me for suggesting that :-) but what if in ‘guile-launcher.c’
we moved the ‘GC_set_warn_proc’ call to ‘inner_main’?  I believe in that
case it would have the desired effect, right?

That would avoid patching Guile wholesale.

Anyhow, kudos for the tricky and probably lengthy debugging session!

Thanks,
Ludo’.




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-12-10  8:07             ` Ludovic Courtès
@ 2024-12-10 12:47               ` Janneke Nieuwenhuizen
  2024-12-10 13:53                 ` Ludovic Courtès
  0 siblings, 1 reply; 16+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-12-10 12:47 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 73181

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

Ludovic Courtès writes:

Hey Ludo,
>
> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>
>> So, the problem is that our patch doesrn't disable the warnings after all.
>> The guile-launcher has
>>
>> guile-launcher.c:
>>
>> #if defined __GNU__
>>   /* XXX: On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
>>      warnings that are annoying and interfere with communications between
>>      'guix-daemon' and 'guix authenticate':
>>      <https://issues.guix.gnu.org/73181>.  Silence them.  */
>>   std::cerr << "silencing libgc warnings" << std::endl;
>>   GC_set_warn_proc (no_warnings);
>> #endif
>>   ..
>>   scm_boot_guile (argc, argv, inner_main, 0);
>>
>>
>> and then guile's gc.c just undoes that
>
> D’oh!  Good catch!

Yeah :-/

> You’ll hate me for suggesting that :-)

You know better than that :)

> but what if in ‘guile-launcher.c’
> we moved the ‘GC_set_warn_proc’ call to ‘inner_main’?  I believe in that
> case it would have the desired effect, right?

Ah, I cannot believe I missed that -- I read "inner_main" and thought it
would call guile's inner main.

> That would avoid patching Guile wholesale.
>
> Anyhow, kudos for the tricky and probably lengthy debugging session!

Yeah, so I'm proposing the attached patch -- tested and works for me --
well, apart from having to set overload-threshold.  I asked on #hurd and
hopefully one of Damien's patch series

<https://lists.gnu.org/archive/html/bug-hurd/2024-12/msg00100.html>
<https://lists.gnu.org/archive/html/bug-hurd/2024-12/msg00114.html>

will take care of that; I'll try that some time soon.

Greetings,
Janneke


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-guile-Silence-GC-warnings-on-the-Hurd-part-II.patch --]
[-- Type: text/x-patch, Size: 2236 bytes --]

From 832ef198f7e423e0fdff7fe7c5558ff13d1f20c1 Mon Sep 17 00:00:00 2001
Message-ID: <832ef198f7e423e0fdff7fe7c5558ff13d1f20c1.1733834506.git.janneke@gnu.org>
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Tue, 10 Dec 2024 10:16:05 +0100
Subject: [PATCH] guile: Silence GC warnings on the Hurd, part II.

This is a follow-up to commit
    b0416b8503e38746717a2d1167f9d1410634981e
    guile: Silence GC warnings on the Hurd.

This should work around <https://issues.guix.gnu.org/73181>, resurrecting
offloading to the Hurd.

* gnu/packages/aux-files/guile-launcher.c: (main)[__GNU__]: Move code to
silence warnings to...
(inner_main)[__GNU__]: ...here.

Change-Id: I408201f7f4072c9a33837e6020ac63270b33702e
---
 gnu/packages/aux-files/guile-launcher.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/aux-files/guile-launcher.c b/gnu/packages/aux-files/guile-launcher.c
index bc7fa21b63..c205477f64 100644
--- a/gnu/packages/aux-files/guile-launcher.c
+++ b/gnu/packages/aux-files/guile-launcher.c
@@ -43,6 +43,14 @@ static const char *load_path, *load_compiled_path;
 static void
 inner_main (void *unused, int argc, char **argv)
 {
+#if defined __GNU__
+  /* XXX: On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
+     warnings that are annoying and interfere with communications between
+     'guix-daemon' and 'guix authenticate':
+     <https://issues.guix.gnu.org/73181>.  Silence them.  */
+  GC_set_warn_proc (no_warnings);
+#endif
+
   if (load_path != NULL)
     {
       setenv ("GUILE_LOAD_PATH", load_path, 1);
@@ -82,14 +90,6 @@ main (int argc, char **argv)
        which is always preferable over the C locale.  */
     setlocale (LC_ALL, "en_US.utf8");
 
-#if defined __GNU__
-  /* XXX: On 32-bit GNU/Hurd (i586-gnu), libgc emits "Repeated allocation"
-     warnings that are annoying and interfere with communications between
-     'guix-daemon' and 'guix authenticate':
-     <https://issues.guix.gnu.org/73181>.  Silence them.  */
-  GC_set_warn_proc (no_warnings);
-#endif
-
   const char *str;
   str = getenv ("GUILE_LOAD_PATH");
   load_path = str != NULL ? strdup (str) : NULL;

base-commit: 93e1586116f39a30ba1fcb67bd839a43533dfaf4
-- 
2.46.0


[-- Attachment #3: Type: text/plain, Size: 166 bytes --]



-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-12-10 12:47               ` Janneke Nieuwenhuizen
@ 2024-12-10 13:53                 ` Ludovic Courtès
  2024-12-10 14:02                   ` Janneke Nieuwenhuizen
  2024-12-10 17:00                   ` Janneke Nieuwenhuizen
  0 siblings, 2 replies; 16+ messages in thread
From: Ludovic Courtès @ 2024-12-10 13:53 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: 73181

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

> Yeah, so I'm proposing the attached patch -- tested and works for me --
> well, apart from having to set overload-threshold.  I asked on #hurd and
> hopefully one of Damien's patch series
>
> <https://lists.gnu.org/archive/html/bug-hurd/2024-12/msg00100.html>
> <https://lists.gnu.org/archive/html/bug-hurd/2024-12/msg00114.html>

We could also set that field in ‘hurd-vm-guix-extension’, if that helps.

> From 832ef198f7e423e0fdff7fe7c5558ff13d1f20c1 Mon Sep 17 00:00:00 2001
> Message-ID: <832ef198f7e423e0fdff7fe7c5558ff13d1f20c1.1733834506.git.janneke@gnu.org>
> From: Janneke Nieuwenhuizen <janneke@gnu.org>
> Date: Tue, 10 Dec 2024 10:16:05 +0100
> Subject: [PATCH] guile: Silence GC warnings on the Hurd, part II.
>
> This is a follow-up to commit
>     b0416b8503e38746717a2d1167f9d1410634981e
>     guile: Silence GC warnings on the Hurd.
>
> This should work around <https://issues.guix.gnu.org/73181>, resurrecting
> offloading to the Hurd.
>
> * gnu/packages/aux-files/guile-launcher.c: (main)[__GNU__]: Move code to
> silence warnings to...
> (inner_main)[__GNU__]: ...here.
>
> Change-Id: I408201f7f4072c9a33837e6020ac63270b33702e

LGTM!  (We’ll have to update the ‘guix’ package, right?)

Thanks again!

Ludo’.




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-12-10 13:53                 ` Ludovic Courtès
@ 2024-12-10 14:02                   ` Janneke Nieuwenhuizen
  2024-12-10 17:00                   ` Janneke Nieuwenhuizen
  1 sibling, 0 replies; 16+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-12-10 14:02 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 73181

Ludovic Courtès writes:

> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>
>> Yeah, so I'm proposing the attached patch -- tested and works for me --
>> well, apart from having to set overload-threshold.  I asked on #hurd and
>> hopefully one of Damien's patch series
>>
>> <https://lists.gnu.org/archive/html/bug-hurd/2024-12/msg00100.html>
>> <https://lists.gnu.org/archive/html/bug-hurd/2024-12/msg00114.html>
>
> We could also set that field in ‘hurd-vm-guix-extension’, if that helps.

Ah yes, let's do, that then, for now.

>> From 832ef198f7e423e0fdff7fe7c5558ff13d1f20c1 Mon Sep 17 00:00:00 2001
>> Message-ID: <832ef198f7e423e0fdff7fe7c5558ff13d1f20c1.1733834506.git.janneke@gnu.org>
>> From: Janneke Nieuwenhuizen <janneke@gnu.org>
>> Date: Tue, 10 Dec 2024 10:16:05 +0100
>> Subject: [PATCH] guile: Silence GC warnings on the Hurd, part II.
>>
>> This is a follow-up to commit
>>     b0416b8503e38746717a2d1167f9d1410634981e
>>     guile: Silence GC warnings on the Hurd.
>>
>> This should work around <https://issues.guix.gnu.org/73181>, resurrecting
>> offloading to the Hurd.
>>
>> * gnu/packages/aux-files/guile-launcher.c: (main)[__GNU__]: Move code to
>> silence warnings to...
>> (inner_main)[__GNU__]: ...here.
>>
>> Change-Id: I408201f7f4072c9a33837e6020ac63270b33702e
>
> LGTM!

Pushed to master as 832ef198f7e423e0fdff7fe7c5558ff13d1f20c1.

> (We’ll have to update the ‘guix’ package, right?)

Eh, yes!

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




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

* bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd
  2024-12-10 13:53                 ` Ludovic Courtès
  2024-12-10 14:02                   ` Janneke Nieuwenhuizen
@ 2024-12-10 17:00                   ` Janneke Nieuwenhuizen
  1 sibling, 0 replies; 16+ messages in thread
From: Janneke Nieuwenhuizen @ 2024-12-10 17:00 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 73181-done

Ludovic Courtès writes:

> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>
>> Yeah, so I'm proposing the attached patch -- tested and works for me --
>> well, apart from having to set overload-threshold.  I asked on #hurd and
>> hopefully one of Damien's patch series
>>
>> <https://lists.gnu.org/archive/html/bug-hurd/2024-12/msg00100.html>
>> <https://lists.gnu.org/archive/html/bug-hurd/2024-12/msg00114.html>
>
> We could also set that field in ‘hurd-vm-guix-extension’, if that helps.

Nice; done.

>> From 832ef198f7e423e0fdff7fe7c5558ff13d1f20c1 Mon Sep 17 00:00:00 2001
>> Message-ID: <832ef198f7e423e0fdff7fe7c5558ff13d1f20c1.1733834506.git.janneke@gnu.org>
>> From: Janneke Nieuwenhuizen <janneke@gnu.org>
>> Date: Tue, 10 Dec 2024 10:16:05 +0100
>> Subject: [PATCH] guile: Silence GC warnings on the Hurd, part II.
>>
>> This is a follow-up to commit
>>     b0416b8503e38746717a2d1167f9d1410634981e
>>     guile: Silence GC warnings on the Hurd.
>>
>> This should work around <https://issues.guix.gnu.org/73181>, resurrecting
>> offloading to the Hurd.
>>
>> * gnu/packages/aux-files/guile-launcher.c: (main)[__GNU__]: Move code to
>> silence warnings to...
>> (inner_main)[__GNU__]: ...here.
>>
>> Change-Id: I408201f7f4072c9a33837e6020ac63270b33702e
>
> LGTM!  (We’ll have to update the ‘guix’ package, right?)

Also done, pushed to master as 8966bd6c06df58316e01941577de1a7b1147ccbd.

With some luck, we have offloading again!  With more luck, we can
configure 64bit offloading!

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




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

end of thread, other threads:[~2024-12-10 17:01 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-11 15:40 bug#73181: guix-daemon fails when invoking ‘guix authenticate’ on the Hurd Ludovic Courtès
2024-09-11 17:08 ` Ludovic Courtès
2024-10-31 19:14   ` janneke
2024-11-04  8:21     ` Ludovic Courtès
2024-11-05 11:26       ` janneke
2024-11-05 14:03         ` Ludovic Courtès
2024-11-05 15:41           ` janneke
2024-11-10 11:54             ` Ludovic Courtès
2024-11-10 12:01               ` janneke
2024-11-18  8:41           ` janneke
2024-12-06 18:49           ` Janneke Nieuwenhuizen
2024-12-10  8:07             ` Ludovic Courtès
2024-12-10 12:47               ` Janneke Nieuwenhuizen
2024-12-10 13:53                 ` Ludovic Courtès
2024-12-10 14:02                   ` Janneke Nieuwenhuizen
2024-12-10 17:00                   ` Janneke Nieuwenhuizen

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.