guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: X server crashes during 'guix system reconfigure' on mips64el


From: Ludovic Courtès
Subject: Re: X server crashes during 'guix system reconfigure' on mips64el
Date: Sun, 28 Aug 2016 17:07:36 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hi Mark,

Mark H Weaver <address@hidden> skribis:

> address@hidden (Ludovic Courtès) writes:
>
>> civodul pushed a commit to branch master
>> in repository guix.
>>
>> commit 3cf319a3f8e23831960a0f1320122cc514188a37
>> Author: Ludovic Courtès <address@hidden>
>> Date:   Sun Aug 21 19:03:29 2016 +0200
>>
>>     services: elogind: Provide '%elogind-file-systems' by extension.
>>     
>>     * gnu/system/file-systems.scm (%base-file-systems): Remove
>>     %ELOGIND-FILE-SYSTEMS.
>>     * gnu/services/desktop.scm (elogind-service-type): Extend
>>     FILE-SYSTEM-SERVICE-TYPE to provide %ELOGIND-FILE-SYSTEMS.
>
> This commit causes a major problem on my Lemote YeeLoong (mips64el)
> machine running GuixSD.  I don't know whether it might affect others.

Apologies, I didn’t expect this.  :-/

> When I run 'guix system reconfigure' to update to a system with this
> commit, it unloads the older %elogind-file-system services, which causes
> my X server to crash and leave me in text mode with my keyboard in the
> wrong mode, so I have to hard reset the machine.
>
> In addition, the 'guix system reconfigure' gets stuck.  (I can see this
> because I always run it in a text terminal; I do all my 'root' work
> there.)
>
> I've tried it twice, and transcribed (by hand) the last few lines of the
> output from 'guix system reconfigure':
>
> First time:
>
>   making '/gnu/store/f0z88r...-system' the current system...
>   guix system: unloading service 'file-system-/sys/fs/cgroup/elogind'...
>   wlp0s14f5u3: deauthenticating from xx:xx:xx:xx:xx:xx by local choice 
> (Reason: 3=DEAUTH_LEAVING)
>
> Second time:
>
>   making '/gnu/store/f0z88r...-system' the current system...
>   guix system: unloading service 'file-system-/run/systemd'...
>
> I'm not sure if it's relevant, but I don't have 'elogin-service' on my
> YeeLoong.  I can't run it there because it depends on 'mozjs' which
> fails to build on mips64el.

The problem here is that stopping a ‘file-system-xxx’ Shepherd service
amounts to stopping the ‘user-processes’—i.e., kill all the user
processes.  This can be seen in the service dependency graph:

  guix system shepherd-graph the-config.scm | dot -Tps > t.ps

So ‘guix system reconfigure’ should detect this case and keep the
service up and running instead of stopping it.  Namely,
‘call-with-service-upgrade-info’ in (guix scripts system) should check
whether a given Shepherd service has running dependent services.

To be continued…

Thanks for reporting the issue and reverting the faulty commit!

Ludo’.

PS: On my machine (where elogind runs), Xorg.0.log reads:

  (II) systemd-logind: logind integration requires -keeptty and -keeptty was 
not provided, disabling logind integration

… which suggests we’re doing things wrong here.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]