all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 28399@debbugs.gnu.org
Subject: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation.
Date: Sat, 16 Sep 2017 11:38:11 +0100	[thread overview]
Message-ID: <20170916113811.3c7d1b33@cbaines.net> (raw)
In-Reply-To: <87377nlixr.fsf@gnu.org>

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

On Sat, 16 Sep 2017 00:02:08 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> Heya,
> 
> Christopher Baines <mail@cbaines.net> skribis:
> 
> > On Mon, 11 Sep 2017 09:50:46 +0200
> > ludo@gnu.org (Ludovic Courtès) wrote:
> >  
> >> Hi Chris,
> >> 
> >> Christopher Baines <mail@cbaines.net> skribis:
> >>   
> >> > Some systems using the MySQL service would fail to boot, giving
> >> > the error:
> >> >
> >> >   ERROR: no code for module (ice-9 popen)  
> 
> [...]
> 
> >> The ‘use-modules’ form should be enough.  Does the test you sent
> >> reproduce the original problem?  
> >
> > It does for me. If you just revert the commit adding in the
> > with-imported-modules bit, running the mysql system test then fails:
> >
> > ERROR: In procedure scm-error:
> > ERROR: no code for module (ice-9 popen)  
> 
> The activation script is run by the “boot” script before it spawns
> shepherd.  The boot script runs over the initrd’s Guile, which is
> statically linked.
> 
> However, (ice-9 popen) starts by dynamically loading libguile and
> calling a function therein:
> 
>   (eval-when (expand load eval)
>     (load-extension (string-append "libguile-" (effective-version))
>                     "scm_init_popen"))
> 
> Dynamic loading is not supposed to work in the statically-linked
> Guile, but apparently it does work sometimes:
> 
> --8<---------------cut here---------------start------------->8---
> $ sudo
> chroot /gnu/store/3ir873f4dsdl3aaj48iqykn6437ilk0p-guile-static-stripped-2.2.2 /bin/guile
> guile: warning: failed to install locale GC Warning:
> pthread_getattr_np or pthread_attr_getstack failed for main thread GC
> Warning: Couldn't read /proc/stat warning: failed to install locale:
> Invalid argument GNU Guile 2.2.2
> Copyright (C) 1995-2017 Free Software Foundation, Inc.
> 
> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
> This program is free software, and you are welcome to redistribute it
> under certain conditions; type `,show c' for details.
> 
> Enter `,help' for help.
> scheme@(guile-user)> ,use(ice-9 popen)
> scheme@(guile-user)> open-pipe*
> $1 = #<procedure open-pipe* (mode command . args)>
> --8<---------------cut here---------------end--------------->8---
> 
> Perhaps it’s due to the libtool/ltdl preload feature.
> 
> What’s more puzzling though, is that it works in some cases (like
> above) and not in others (in the test VM).
> 
> Needs more thought…

Interesting, thanks for looking in to this Ludo. I've just thought that
this could be the cause of my problems in booting one of my GuixSD
machines, as I am using the mysql service (with MariaDB).

When you say dynamic loading is supposed not to work with a statically
linked guile, does this mean that activation scripts should avoid using
(ice-9 popen)? Or, given that it works some of the time, it could be
made to work reliably...?

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 963 bytes --]

  reply	other threads:[~2017-09-16 10:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-09 14:39 [bug#28399] [PATCH]: Fix mysql activation, and add a basic test Christopher Baines
2017-09-09 14:53 ` [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation Christopher Baines
2017-09-09 14:53   ` [bug#28399] [PATCH 2/2] tests: databases: Add a simple test for MySQL Christopher Baines
2017-09-11  7:50   ` [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation Ludovic Courtès
2017-09-12 18:48     ` Christopher Baines
2017-09-15 22:02       ` Ludovic Courtès
2017-09-16 10:38         ` Christopher Baines [this message]
2017-09-20  9:21           ` Ludovic Courtès
2017-10-08  9:06             ` Christopher Baines
2017-10-08 15:26               ` Ludovic Courtès
2017-10-08 16:34                 ` bug#28399: " Christopher Baines
2017-10-08 19:19                   ` [bug#28399] " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170916113811.3c7d1b33@cbaines.net \
    --to=mail@cbaines.net \
    --cc=28399@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.