permissive system bus config causes slow startup – "set slave bus name on parent: Timeout was reached"
@grawity
Submitted by Mantas Mikulėnas Link to original bug (#701758)
Description
Posting a bug report just so it won't get forgotten...
When I start gdm, it hangs for ~30 seconds at text console before the login screen appears. Syslog has the following message:
Jun 06 22:02:04 rain gdm[1524316]: GdmDisplay: Setting slave bus name::1.8593 on display :0 Jun 06 22:02:29 rain gdm[1524316]: Failed to set slave bus name on parent: Timeout was reached
It seems that this only happens when the DBus system.conf is changed to be more permissive – I've changed mine to allow dbus-monitor
to work, and apparently someone else has had the same problem too:
(halfline) i saw that on somone's machine yesterday for the first time
(halfline) it was because we modified his system.conf to be more lenient
(halfline) theory is gdm is doing some call on one side that the other
side isn't set up for
(halfline) but it wasn't ever working before because of the security policy
(halfline) i didn't investigate it past seeing it though
(halfline) i can just confirm going back to a stock system.conf makes the
problem go away
(grawity) halfline: dbus system.conf? yeah, I changed mine too since I
needed dbus-monitor --system
to work earlier...
(grawity) although I noticed in the same dbus-monitor that the parent
apparently tries to call org.freedesktop.DBus.Properties.GetAll
('org.gnome.DisplayManager.Slave') and never gets a reply to that...
(grawity) I kind of wonder if slave never replies because it's waiting for
a reply from parent itself
(halfline) grawity: that's exactly the reason the other guy changed
system.conf yesterday
(halfline) yea clearly a gdm bug of some sort, i just haven't spent time
to figure out exactly what's going down
(I know very little about gdm architecture in general, but it does look like the slave calls SetSlaveBusName in the parent, gdm_dbus_slave_proxy_new_sync() in the parent calls Properties.GetAll in the slave, and the slave doesn't reply because it's waiting for a reply itself...)
3.8.1.1, also gdm-git 3.8.1.1+r22+g3f7ac6f