Bug 1655801 - Incorrect X Server version in Module "glx" leads to segmentation fault with nvidia 410.78 driver
Summary: Incorrect X Server version in Module "glx" leads to segmentation fault with n...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora Modules
Classification: Fedora
Component: X11-base
Version: unspecified
Hardware: x86_64
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Karsten Hopp
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-12-03 23:41 UTC by nugai
Modified: 2018-12-05 09:18 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-12-05 09:18:30 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Xorg.0.log file showing seg fault caused by incorrect X Server version in libglx.so (13.38 KB, text/plain)
2018-12-03 23:41 UTC, nugai
no flags Details

Description nugai 2018-12-03 23:41:50 UTC
Created attachment 1511143 [details]
Xorg.0.log file showing seg fault caused by incorrect X Server version in libglx.so

Description of problem:

On fc29 Workstation, the graphical desktop does not appear because X Server startup terminates with segmentation fault after building nvidia driver 410.78. Although the 410.78 installer builds successfully, starting the X Server 1.20.3 encounters a runtime problem because Module glx: vendor="X.Org Foundation" is compiled for version 1.19.3 instead of 1.20.3. 

On the surface, the Xorg.0.log file indicates that the nvidia 410.78 driver seems to have a problem with DRI2 ("AIGLX: Screen 0 is not DRI2 capable") and/or with connecting to the ACPI driver ("NVIDIA(0): ACPI: failed to connect to the ACPI event daemon"), which leads to a "Segmentation fault" and then forces "server aborting".

Upon filing a bug report with nvidia, their support kindly advised that "whoever is responsible for the X.Org packages on fc29 needs to rebuild the one containing libglx.so" (for the current X Server version), pointed to the following, relevant passage from the Xorg.0.log file, and advised that "the NVIDIA GLX vendor module (libglxserver_nvidia.so) can coexist with the xserver 1.20 build of libglx.so, but running it alongside the one from xserver 1.19 is not a supported combination":

X.Org X Server 1.20.3
[...]
[     9.736] Build ID: xorg-x11-server 1.20.3-1.fc29
[...]
[     9.767] (II) LoadModule: "glx"
[     9.770] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[     9.780] (II) Module glx: vendor="X.Org Foundation"
[     9.780] 	compiled for 1.19.3, module version = 1.0.0
[     9.780] 	ABI class: X.Org Server Extension, version 10.0

Version-Release number of selected component (if applicable):
xorg-x11-server 1.20.3-1.fc29


How reproducible:
Presumably on any fc29 Workstation with nvidia NVS 510 card.

Steps to Reproduce:
1. Install plain vanilla fc29 Workstation.
2. Install proprietary nvidia driver 410.78.
3. Reboot.

Actual results:
System boots, but fails to load Desktop environment for login prompt. System runs and is accessible via CLI and SSH.


Expected results:
Desktop (mouse-driven GUI) should start and present user with login prompt.

Additional info:
The fallback to get the Desktop running on fc29 is to load the nvidia 390.78 driver with kernel 4.19 patch.

Comment 1 nugai 2018-12-05 09:18:30 UTC
I solved the problem by completely removing and reinstalling xorg-x11-server 1.20.3-1.fc29 (using "dnf remove" and "dnf install", as "dnf reinstall "apparently was not forceful enough. I then re-installed the nvidia 410.78 driver and @gnome-desktop and rebooted.

One of these steps installed a newer version of /usr/lib64/xorg/modules/extensions/libglx.so:

Before remove/install:

[root@hostsystem /]# ll /usr/lib64/xorg/modules/extensions/libglx.so
-rwxr-xr-x. 1 root root 298136 Aug  4  2017 /usr/lib64/xorg/modules/extensions/libglx.so

After remove/install:

[root@hostsystem /]# ll /usr/lib64/xorg/modules/extensions/libglx.so
-rwxr-xr-x. 1 root root 308888 Nov  1 09:06 /usr/lib64/xorg/modules/extensions/libglx.so


Xorg.0.log now shows the correct X Server version when loading "glx":  

X.Org X Server 1.20.3
[...]
[     9.891] Build ID: xorg-x11-server 1.20.3-1.fc29
[...]
[     9.913] (II) LoadModule: "glx"
[     9.914] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[     9.925] (II) Module glx: vendor="X.Org Foundation"
[     9.925]    compiled for 1.20.3, module version = 1.0.0
 
So, something must have failed along the way of the system upgrades from fc27 to fc29. 

Sorry for any trouble I may have caused.


Note You need to log in before you can comment on or make changes to this bug.