Recently my fedora 27 crashed so frequently after once system update that I switched to CentOS 7. CentOS 7 is stable quite enough, while the question is many packages are so old. And I had to return to fedora 27 again… Life goes on, and the system crashes as ever.

Problem

Finally, I found that everytime the screen went blank, the GDM service stopped and I had to login times before GMD works properly or forced to reboot the system. Fed up with this issue, I checked the journal log, and found the error:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
....
Feb 04 22:58:49 xxxxxx systemd[1]: Starting GNOME Display Manager...
Feb 04 22:58:49 xxxxxx systemd[1]: Started GNOME Display Manager.
Feb 05 14:46:27 xxxxxx gdm[768]: Tried to look up non-existent conversation gdm-launch-environment
Feb 05 14:46:27 xxxxxx gdm[768]: Freeing conversation 'gdm-launch-environment' with active job
Feb 05 14:46:27 xxxxxx systemd[1]: Stopping GNOME Display Manager...
Feb 05 14:46:27 axxxxxx gdm[768]: Freeing conversation 'gdm-password' with active job
Feb 05 14:46:27 xxxxxx gdm[768]: Child process -833 was already dead.
Feb 05 14:46:27 xxxxxx gdm[768]: Child process -833 was already dead.
Feb 05 14:46:27 xxxxxx gdm[768]: GLib: g_variant_new_string: assertion 'string != NULL' failed
Feb 05 14:46:27 xxxxxx gdm[768]: Failed to contact accountsservice: Error calling StartServiceByName for org.freedesktop.Accounts:
GDBus.Error:org.freedesktop.systemd1.ShuttingDown: Refusing activation, D-Bus
Feb 05 14:46:27 xxxxxx gdm[768]: GdmDisplay: display lasted 0.000770 seconds
Feb 05 14:46:27 xxxxxx gdm[768]: Failed to contact accountsservice: Error calling StartServiceByName for org.freedesktop.Accounts:
GDBus.Error:org.freedesktop.systemd1.ShuttingDown: Refusing activation, D-Bus
Feb 05 14:46:27 xxxxxx gdm[768]: GLib: g_hash_table_find: assertion 'version == hash_table->version' failed
Feb 05 14:46:27 xxxxxx systemd[1]: Stopped GNOME Display Manager.
....

Solution

It seemed that something went wrong with GLib. After googling on GLib: g_hash_table_find: assertion 'version == hash_table->version' failed, I found the post. It turned out that the package gdm-3.26.2 has bugs that will lead to system crash. And it seems that the bug exists since Fedora 25….

After downgrading gdm-3.26.2 to gdm-3.26.1, gdm is working well so far….. W.T.F. … In the meanwhile, it reminds me of the pango-1.40.12 bug, which led to nautlis displaying filename incorrectly, and the solution was downgrading pango too … W.T.F.

UPDATE

The problem occurs on Fedora 28…. Downgrading GDM from gdm-3.28.2 to gdm-3.28.1 seems to fix the problem.