[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.