Xorg aborts with ../../../../dix/privates.c:384: dixRegisterPrivateKey: Assertion `!global_keys[type].created' failed.

Bug #1811023 reported by errors.ubuntu.com bug bridge
96
This bug affects 14 people
Affects Status Importance Assigned to Milestone
X.Org X server
New
Unknown
xorg-server (Ubuntu)
Fix Released
High
Unassigned

Bug Description

The Ubuntu Error Tracker has been receiving reports about a problem regarding xorg-server. This problem was most recently seen with package version 2:1.20.3-1ubuntu1, the problem page at https://errors.ubuntu.com/problem/e1038a75ca80364c2c74351221e2ad5ec5d00916 contains more details, including versions of packages affected, stacktrace or traceback, and individual crash reports.
If you do not have access to the Ubuntu Error Tracker and are a software developer, you can request it at http://forms.canonical.com/reports/.

tags: removed: cosmic kylin-18.10
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xorg-server (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
tags: added: bionic
removed: disco
summary: - /usr/lib/xorg/Xorg:Xorg: ../../../../dix/privates.c:384:
- dixRegisterPrivateKey: Assertion `!global_keys[type].created' failed.
+ Xorg aborts with ../../../../dix/privates.c:384: dixRegisterPrivateKey:
+ Assertion `!global_keys[type].created' failed.
Changed in xorg-server (Ubuntu):
importance: Undecided → High
tags: added: eoan focal
Changed in xorg-server:
status: Unknown → New
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

See also bug 1792932

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

1792932 was fixed upstream in 1.20.2, so this is something different

Revision history for this message
PJSingh5000 (pjsingh5000) wrote :

Could this be a regression of Bug #1792932 ?

Revision history for this message
PJSingh5000 (pjsingh5000) wrote :
Download full text (6.8 KiB)

I am using nvidia-driver-460 version 460.39-0ubuntu0.20.04.1.

    xserver-common version 2:1.20.9-2ubuntu1.2~20.04.1
    xserver-xephyr version 2:1.20.9-2ubuntu1.2~20.04.1
    xserver-xorg version 1:7.7+19ubuntu14
    xserver-xorg-core version 2:1.20.9-2ubuntu1.2~20.04.1

The GDM screen would only appear after typing Ctrl+Alt+F2 followed by Ctrl+Alt+F1.

The following seems to have fixed the issue for me, and the GDM screen now appears without having to resort to the above "trick".

 1. Edit the file /lib/udev/rules.d/61-gdm.rules.

    sudo nano /lib/udev/rules.d/61-gdm.rules

    The original file looks like this:

    # disable Wayland on Hi1710 chipsets
    ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="/usr/lib/gdm3/gdm-disable-wayland"
    # disable Wayland when using the proprietary nvidia driver
    DRIVER=="nvidia", RUN+="/usr/lib/gdm3/gdm-disable-wayland"

    Comment all of the lines as shown:

    # disable Wayland on Hi1710 chipsets
    # ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="/usr/lib/gdm3/gdm-disable-wayland"
    # disable Wayland when using the proprietary nvidia driver
    # DRIVER=="nvidia", RUN+="/usr/lib/gdm3/gdm-disable-wayland"

    Type Ctrl+X to exit, then Y, and then Enter to save the file.

 2. Ensure that the Wayland is not disabled in GDM.

    sudo nano /etc/gdm3/custom.conf

    Comment the "WaylandEnable" line, if it is not already commented, as shown:

    # WaylandEnable=false

    Type Ctrl+X to exit. If you made changes, type Y, and then Enter to save the file.

 3. Finally, reboot.

Explanation

The /lib/udev/rules.d/61-gdm.rules file is supposed to prevent GDM from displaying the Wayland session option when the NVIDIA proprietary drivers are installed, since NVIDIA does not support Wayland.

However, in Ubuntu 20.04, there seems to be another redundant mechanism or rule that also prevents GDM from displaying the Wayland session option. I suspect this, because even after making the above change, the Wayland session option is still not displayed in GDM. (Setting WaylandEnable=true in /etc/gdm3/custom.conf has no effect).

Therefore, I have a hunch that there are two conflicting rules, and disabling one of the rules (i.e. /lib/udev/rules.d/61-gdm.rules) seems to remove the conflict.

Here is the journalctl boot log before making the above changes. You can see there is an error loading the "fb" module.

/usr/lib/gdm3/gdm-x-session[964]: (II) Loading sub module "fb"
/usr/lib/gdm3/gdm-x-session[964]: (II) LoadModule: "fb"
/usr/lib/gdm3/gdm-x-session[964]: (II) Loading /usr/lib/xorg/modules/libfb.so
/usr/lib/gdm3/gdm-x-session[964]: (II) Module fb: vendor="X.Org Foundation"
/usr/lib/gdm3/gdm-x-session[964]: compiled for 1.20.9, module version = 1.0.0
/usr/lib/gdm3/gdm-x-session[964]: ABI class: X.Org ANSI C Emulation, version 0.4
/usr/lib/gdm3/gdm-x-session[964]: Xorg: ../../../../dix/privates.c:384: dixRegisterPrivateKey: Assertion `!global_keys[type].created' failed.
/usr/lib/gdm3/gdm-x-session[964]: (EE)
/usr/lib/gdm3/gdm-x-session[964]: (EE) Backtrace:
/usr/lib/gdm3/gdm-x-session[964]: (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x13c) [0x55936e23a59c]
/usr/lib/gdm3/gdm-x-...

Read more...

tags: added: groovy hirsute
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in xorg-server (Ubuntu):
status: Confirmed → Triaged
tags: added: multi-gpu nvidia
tags: added: multigpu
removed: multi-gpu
tags: added: hybrid
tags: added: impish
removed: eoan groovy
tags: removed: hirsute
Revision history for this message
Jesus Salvo (jesus-m-salvo) wrote :

I have the same issue but I found a different workaround without having to resort to the Ctrl-Alt-F2 then back to Ctrl-Alt-F1 trick for the login screen to appear :

https://askubuntu.com/questions/1389869/multiple-monitors-black-screen-with-blinking-cursor-and-gnome-desktop-login-on

I have to ensure that the "Primary Display" is set to the laptop monitor instead of the external monitor connected via HDMI.

tags: removed: impish
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

No crashes reported since Ubuntu 21.04 so consider it fixed.

Changed in xorg-server (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.