unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#23697: guix system reconfigure hangs, shows repl in messages
@ 2016-06-05  9:52 Jan Nieuwenhuizen
  2016-06-06  8:27 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Nieuwenhuizen @ 2016-06-05  9:52 UTC (permalink / raw)
  To: 23697

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

Hi,

Not sure this qualifies as a bug, sending per request.

As a preparation to move from Debian to GuixSD, I have been dual
booting between Debian and GuixSD.

Using Debian as my main system with this layout

    /dev/sda3 "debian" /
    /dev/sda1          /guix
    /dev/sda4          /home

I did

    guix system init drakenvlieg.scm /guix

see attached, and then booted into GuixSD.  GuixSD still using its own
/home on its sda1 root.

On GuixSD, I ran Gnome and mounted the home I had been using with Debian

    /dev/sda1 "guix"   /
    /dev/sda3 "debian" /debian
    /dev/sda4          /hoom    <--manual mount

I set $HOME /to /hoom/janneke and checked that some things like wifi,
fonts, ssh, gnus, openvpn, touchpad etc. worked good enough to switch
over.

Then, I uncommented the /home section in drakenvlieg.scm, like so

    ;; Switch to GuixSD
    (file-system (device "home")
                 (title 'label)
                 (mount-point "/home")
                 (type "ext4"))
    (file-system (device (label "Debian")) (title 'label) (mount-point "/debian") (type "ext4") (flags '(read-only)))

and (without considering I had mounted /hoom and set $HOME there) ran

    guix system reconfigure drakenvlieg.scm

which eventually printed

    ...
    guix system: loading new services: file-system-/home urandom-seed ntpd avahi-daemon ssh-daemon...
    shepherd: Evaluating user expression (register-services (primitive-load "/gn...") ...).

In /var/log/messages I found some clue as to why this did not return

    2016-06-01 19:55:20 Service root has been started.
    2016-06-01 19:55:20 starting services...
    2016-06-01 19:55:20 Service root-file-system has been started.
    2016-06-01 19:55:20 waiting for udevd...
    2016-06-01 19:55:23 Service udev has been started.
    2016-06-01 19:55:23 Service swap-/dev/sda2 has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/hugetlb has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/perf_event has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/blkio has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/freezer has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/devices has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/memory has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/cpuacct has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/cpu has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/cpuset has been started.
    2016-06-01 19:55:23 Service file-system-/sys/fs/cgroup/elogind has been started.
    2016-06-01 19:55:23 Service file-system-/run/user has been started.
    2016-06-01 19:55:23 Service file-system-/run/systemd has been started.
    2016-06-01 19:55:23 Service file-system-/gnu/store has been started.
    2016-06-01 19:55:23 Service file-system-/dev/shm has been started.
    2016-06-01 19:55:23 Service file-system-/dev/pts has been started.
    2016-06-01 19:55:23 Service user-file-systems has been started.
    2016-06-01 19:55:23 Service user-processes has been started.
    2016-06-01 19:55:23 Service host-name has been started.
    2016-06-01 19:55:23 Service nscd has been started.
    2016-06-01 19:55:23 Service guix-daemon has been started.
    2016-06-01 19:55:23 Service syslogd has been started.
    2016-06-01 19:55:23 Service loopback has been started.
    2016-06-01 19:55:23 Service term-tty6 has been started.
    2016-06-01 19:55:23 Service term-tty5 has been started.
    2016-06-01 19:55:23 Service term-tty4 has been started.
    2016-06-01 19:55:23 Service term-tty3 has been started.
    2016-06-01 19:55:23 Service term-tty2 has been started.
    2016-06-01 19:55:23 Service term-tty1 has been started.
    2016-06-01 19:55:23 Service console-font-tty6 has been started.
    2016-06-01 19:55:23 Service console-font-tty5 has been started.
    2016-06-01 19:55:23 Service console-font-tty4 has been started.
    2016-06-01 19:55:23 Service console-font-tty3 has been started.
    2016-06-01 19:55:23 Service console-font-tty2 has been started.
    2016-06-01 19:55:23 Service console-font-tty1 has been started.
    2016-06-01 19:55:23 Service dbus-system has been started.
    2016-06-01 19:55:23 Service networking has been started.
    2016-06-01 19:55:23 Service ntpd has been started.
    2016-06-01 19:55:23 Service upower-daemon has been started.
    2016-06-01 19:55:23 Service avahi-daemon has been started.
    2016-06-01 19:55:23 Service xorg-server has been started.
    2016-06-01 19:55:23 Service postgres has been started.
    2016-06-01 19:55:23 Service ssh-daemon has been started.
    2016-06-01 19:55:23 Service console-keymap has been started.
    2016-06-01 19:55:23 Respawning upower-daemon.
    2016-06-01 19:55:23 Service upower-daemon has been started.
    2016-06-01 19:55:23 Respawning avahi-daemon.
    2016-06-01 19:55:23 Service avahi-daemon has been started.
    2016-06-01 19:59:57 Evaluating user expression (register-services (primitive-load "/gn...") #).
    2016-06-01 19:59:57 GNU Guile 2.0.11
    2016-06-01 19:59:57 Copyright (C) 1995-2014 Free Software Foundation, Inc.
    2016-06-01 19:59:57 
    2016-06-01 19:59:57 Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
    2016-06-01 19:59:57 This program is free software, and you are welcome to redistribute it
    2016-06-01 19:59:57 under certain conditions; type `,show c' for details.
    2016-06-01 19:59:57 
    2016-06-01 19:59:57 Enter `,help' for help.

Greetings,
Jan

PS: I booted into Debian, did a new system init into /guix and am
    running GuixSD now.


[-- Attachment #2: drakenvlieg.scm --]
[-- Type: application/octet-stream, Size: 3205 bytes --]

(use-modules (gnu))
(use-service-modules
 base
 databases
 desktop
 networking
 ssh)

(use-package-modules
 admin
 certs
 databases
 fonts
 games
 gnome
 guile
 guile-wm
 linux
 vpn
 xorg)

(define drakenvlieg
  (operating-system
    (host-name "drakenvlieg")
    (timezone "Europe/Amsterdam")
    (locale "en_US.UTF-8")

    (bootloader
     (grub-configuration
      (device "/dev/sda")
      ;; Here is my hack (grub-configuration appends bzImage to `linux')
      ;; to add a custom entry for debian on /dev/sda3 to the Grub menu
      ;; On Debian, do:
      ;;   sudo mkdir -p /boot/latest
      ;;   sudo ln -s $(ls -t /boot/vmlinuz*|head -1) /boot/latest/bzImage
      ;;   sudo ln -s $(ls -t /boot/initrd*|head -1) /boot/latest/initrd
      (menu-entries
       (list (menu-entry
              (label "debian")
              (linux "(hd0,msdos3)/boot/latest")
              (linux-arguments
               '("root=UUID=73ede06b-19e0-4d09-bc1e-23fe6c76d77a ro"))
              (initrd "(hd0,msdos3)/boot/latest/initrd"))))))

    ;; Assuming /dev/sda is the target hard disk, and "guix" is the label of the
    ;; target GuixSD root file system
    (file-systems
     (cons* (file-system (device "guix")
                         (title 'label)
                         (mount-point "/")
                         (type "ext4"))
            ;; Switch to GuixSD
            ;; (file-system (device "home")
            ;;              (title 'label)
            ;;              (mount-point "/home")
            ;;              (type "ext4"))
            ;; (file-system (device (label "Debian")) (title 'label) (mount-point "/debian") (type "ext4") (flags '(read-only)))
            %base-file-systems))
    (swap-devices '("/dev/sda2"))

    (groups
     (cons* (user-group (name "janneke"))
            %base-groups))

    (users
     (cons* (user-account
             (name "janneke")
             (group "janneke")
             (password (crypt "" "xx"))
             (uid 1000)
             (supplementary-groups '(
                                     "wheel"
                                     "netdev"
                                     "audio"
                                     "video"
                                     ))
             (home-directory "/home/janneke"))
            %base-user-accounts))

    (packages
     (cons*
      font-ubuntu
      gnome
      gnome-shell
      gnome-tweak-tool
      guile-wm
      nss-certs
      openvpn
      postgresql
      setxkbmap
      wpa-supplicant
      xinput
      xf86-input-synaptics
      %base-packages))

    (services
     (cons* (console-keymap-service "dvorak")
            ;; TODO: package dvorak-control
            (gnome-desktop-service)
            ;;(dhcp-client-service)
            (network-manager-service)
            (lsh-service #:port-number 2222
                         #:allow-empty-passwords? #t
                         #:root-login? #t)
            (postgresql-service)
            (filter
             (lambda (x)
               (not (eq?
                     (service-kind x)
                     (@@ (gnu services networking) wicd-service-type))))
             %desktop-services)))))
drakenvlieg

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


-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  

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

* bug#23697: guix system reconfigure hangs, shows repl in messages
  2016-06-05  9:52 bug#23697: guix system reconfigure hangs, shows repl in messages Jan Nieuwenhuizen
@ 2016-06-06  8:27 ` Ludovic Courtès
  2018-12-18 15:39   ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2016-06-06  8:27 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 23697

Jan Nieuwenhuizen <janneke@gnu.org> skribis:

> Then, I uncommented the /home section in drakenvlieg.scm, like so
>
>     ;; Switch to GuixSD
>     (file-system (device "home")
>                  (title 'label)
>                  (mount-point "/home")
>                  (type "ext4"))
>     (file-system (device (label "Debian")) (title 'label) (mount-point "/debian") (type "ext4") (flags '(read-only)))
>
> and (without considering I had mounted /hoom and set $HOME there) ran
>
>     guix system reconfigure drakenvlieg.scm
>
> which eventually printed
>
>     ...
>     guix system: loading new services: file-system-/home urandom-seed ntpd avahi-daemon ssh-daemon...
>     shepherd: Evaluating user expression (register-services (primitive-load "/gn...") ...).
>
> In /var/log/messages I found some clue as to why this did not return

[...]

>     2016-06-01 19:59:57 Evaluating user expression (register-services (primitive-load "/gn...") #).
>     2016-06-01 19:59:57 GNU Guile 2.0.11
>     2016-06-01 19:59:57 Copyright (C) 1995-2014 Free Software Foundation, Inc.
>     2016-06-01 19:59:57 
>     2016-06-01 19:59:57 Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
>     2016-06-01 19:59:57 This program is free software, and you are welcome to redistribute it
>     2016-06-01 19:59:57 under certain conditions; type `,show c' for details.
>     2016-06-01 19:59:57 
>     2016-06-01 19:59:57 Enter `,help' for help.

What happens is that it failed to fsck /home (since it was already
mounted), and stupidly started a rescue REPL that you couldn’t see.

The rescue REPL is a good idea when booting the system; see for
instance:

  http://bugs.gnu.org/22588

However, in the case of an upgrade, we need a way to say “no REPL
please”.  Or maybe a way to make the ‘start’ method idempotent by
checking whether the thing is already mounted.

Thoughts?

Ludo’.

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

* bug#23697: guix system reconfigure hangs, shows repl in messages
  2016-06-06  8:27 ` Ludovic Courtès
@ 2018-12-18 15:39   ` Ludovic Courtès
  0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2018-12-18 15:39 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 23697-done

Hello!

ludo@gnu.org (Ludovic Courtès) skribis:

> Jan Nieuwenhuizen <janneke@gnu.org> skribis:

[...]

>>     guix system reconfigure drakenvlieg.scm
>>
>> which eventually printed
>>
>>     ...
>>     guix system: loading new services: file-system-/home urandom-seed ntpd avahi-daemon ssh-daemon...
>>     shepherd: Evaluating user expression (register-services (primitive-load "/gn...") ...).
>>
>> In /var/log/messages I found some clue as to why this did not return
>
> [...]
>
>>     2016-06-01 19:59:57 Evaluating user expression (register-services (primitive-load "/gn...") #).
>>     2016-06-01 19:59:57 GNU Guile 2.0.11
>>     2016-06-01 19:59:57 Copyright (C) 1995-2014 Free Software Foundation, Inc.
>>     2016-06-01 19:59:57 
>>     2016-06-01 19:59:57 Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
>>     2016-06-01 19:59:57 This program is free software, and you are welcome to redistribute it
>>     2016-06-01 19:59:57 under certain conditions; type `,show c' for details.
>>     2016-06-01 19:59:57 
>>     2016-06-01 19:59:57 Enter `,help' for help.
>
> What happens is that it failed to fsck /home (since it was already
> mounted), and stupidly started a rescue REPL that you couldn’t see.

A simple way to reproduce this is to run:

  # herd eval root '(begin (use-modules (gnu build file-systems)) (check-file-system "/dev/foo" "ext2"))'

That command does not return because PID 1 is stuck in read(0, …), where
stdin is connected to the console.  You can type “,q” in the console
(usually tty1) and it should be fine.  Of course if you try this
on a remote machine, you’re screwed…

Anyway, commit 6ea6e1476ff4a18d4b4b864c3065d18ed99c69af fixes it, at last.

Thanks,
Ludo’.

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

end of thread, other threads:[~2018-12-18 15:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-05  9:52 bug#23697: guix system reconfigure hangs, shows repl in messages Jan Nieuwenhuizen
2016-06-06  8:27 ` Ludovic Courtès
2018-12-18 15:39   ` Ludovic Courtès

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

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

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