After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 780362 - Initial Setup's New User mode no longer works in GNOME 3.24
Initial Setup's New User mode no longer works in GNOME 3.24
Status: RESOLVED FIXED
Product: gnome-initial-setup
Classification: Applications
Component: general
unspecified
Other Linux
: Normal critical
: ---
Assigned To: GNOME Initial Setup maintainer(s)
GNOME Initial Setup maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2017-03-21 16:42 UTC by Jeremy Bicha
Modified: 2017-03-22 16:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
data: Start gnome-shell in the DisplayServer autostart phase (1.02 KB, patch)
2017-03-21 18:04 UTC, Rui Matos
committed Details | Review

Description Jeremy Bicha 2017-03-21 16:42:30 UTC
This was originally reported at https://bugzilla.gnome.org/674885 but it was requested that this issue be split out.

Test Case
---------
1.a.Use the Fedora 26 Workstation Live nightly iso
https://www.happyassassin.net/nightlies.html

b. Install Fedora. During the install, set a root password but do not create a user.

c. Reboot. The Initial Setup tool should run.

2.Alternatively, you can take an existing install of GNOME 3.24 (but don't this on an install where you have important data). Delete all regular users and their home directories. Make sure that gnome-initial-setup is installed. Reboot. The Initial Setup tool should run.

Other Info
----------
I attached my journal log at https://bugzilla.gnome.org/attachment.cgi?id=348245

Bastien Nocera from comment #75
(In reply to Jeremy Bicha from comment #66)
> Created attachment 348245 [details]
> journal from gnome-initial-setup New User fail to start

Mar 18 22:26:40 bob gsd-smartcard[1998]: Unable to register client:
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
org.gnome.SessionManager was not provided by any .service files

This isn't the same bug as here. For whatever reason, gnome-settings-daemon
in the gnome-initial-setup doesn't have access to gnome-session via D-Bus.

If it was the same bug as discussed here [#674885], then you wouldn't see any D-Bus
 errors, as it would hang before trying to contact gnome-session.
Comment 1 Adam Williamson 2017-03-21 16:53:37 UTC
Note that the F26 nightlies are likely still (or were until recently) subject to the previous bug, https://bugzilla.redhat.com/show_bug.cgi?id=1431879 , as the fix has not yet gone stable. Rawhide nightlies or the Alpha RC1 images should not have that bug.

Confirming that with latest bits (inc. g-s-d 3.24.0), I get the same errors as Jeremy, including those "Unable to register client" errors.
Comment 2 Rui Matos 2017-03-21 18:04:56 UTC
Created attachment 348434 [details] [review]
data: Start gnome-shell in the DisplayServer autostart phase

This is what gnome-shell itself does nowadays and it's required for
gnome-settings-daemon which starts in the Initialization phase to not
block waiting for gnome-shell which would in turn prevent gnome-shell
to start and thus deadlock the session.
Comment 3 Rui Matos 2017-03-21 18:13:52 UTC
Going to push this for the 3.24 release after Adam's successful testing on IRC and these acks from the release team:

19:09 < rtcm> hmm, actually, I have to ask for a freez break don't I ?
19:10 < mclasen> thanks!
19:10 < mclasen> no, should be fine
19:11 < mcatanzaro> rtcm: You get a freeze break. +1 mclasen +2 me
19:11 < mcatanzaro> Thank you for fixing that
19:11 < rtcm> for the record it's https://bugzilla.gnome.org/show_bug.cgi?id=780362
19:11 < bugbot> Bug 780362: gnome-initial-setup, critical, Normal, ---, gnome-initial-setup-maint, NEW , Initial 
                Setup's New User mode no longer works in GNOME 3.24
19:11 < rtcm> and strictly it's not a code change...  :-)
19:12 < mcatanzaro> "it doesn't start at all" is definitely worth a freeze break
Comment 4 Rui Matos 2017-03-21 18:15:29 UTC
Attachment 348434 [details] pushed as fd8ad0f - data: Start gnome-shell in the DisplayServer autostart phase
Comment 5 Bastien Nocera 2017-03-21 18:58:58 UTC
(In reply to Rui Matos from comment #2)
> Created attachment 348434 [details] [review] [review]
> data: Start gnome-shell in the DisplayServer autostart phase
> 
> This is what gnome-shell itself does nowadays and it's required for
> gnome-settings-daemon which starts in the Initialization phase to not
> block waiting for gnome-shell which would in turn prevent gnome-shell
> to start and thus deadlock the session.

Where is it that gnome-settings-daemon block-waits on gnome-shell?
Comment 6 Rui Matos 2017-03-22 15:24:12 UTC
(In reply to Bastien Nocera from comment #5)
> Where is it that gnome-settings-daemon block-waits on gnome-shell?

So, that was a wrong deduction from my part. Further drilling turned up bug 780405 in gnome-session.

Starting gnome-shell before g-s-d works around that race since gnome-shell is big and takes time to startup and register with gnome-session so when g-s-d's daemons start they already see gnome-session's name.
Comment 7 Bastien Nocera 2017-03-22 15:26:32 UTC
(In reply to Rui Matos from comment #6)
> (In reply to Bastien Nocera from comment #5)
> > Where is it that gnome-settings-daemon block-waits on gnome-shell?
> 
> So, that was a wrong deduction from my part. Further drilling turned up bug
> 780405 in gnome-session.
> 
> Starting gnome-shell before g-s-d works around that race since gnome-shell
> is big and takes time to startup and register with gnome-session so when
> g-s-d's daemons start they already see gnome-session's name.

Most g-s-d daemons need gnome-shell to already be started, in Wayland, so they can access UI functions.
Comment 8 Jeremy Bicha 2017-03-22 16:33:00 UTC
By the way, I confirm that gnome-initial-setup 3.24 fixed my problem. Thanks Rui!