Solved XServer crashes (seg fault at addr 0x0) when exiting

Hello all,

Been struggling with this one for the last few weeks and hope someone can help. New laptop with FreeBSD 10.3-RELEASE crashes when exiting an X session. startx works and brings up an X session with keyboard and mouse working properly (fluxbox is the WM) however when I exit the UI freezes with just the wallpaper and the mouse cursor. I have to hard power cycle the system to recover.

Checking the Xorg log theres a segmentation fault at address 0x0 during server shutdown after the mouse and keyboard modules have been unloaded.

Here are the install/config details:
  • Intel integrated graphics (unsupported driver so using VESA driver).
  • No X config file is being used. The server is detecting and seemingly properly setting up keyboard/mouse and selecting vesa driver.
  • kern.vty=vt is set in /boot/loader.conf
  • dbus and hald are not enabled
  • xorg-7.7_2 complete metaport was installed as a binary package (using pkg install).

Here are the things I have tried so far:
  • Search the FreeBSD Xorg forums for seg fault/NULL issues and evaluate those solutions however none of them seem to match my particular situation.
  • pkg_libchk -qo for any outdated dependencies (none found).
  • Temp config file with only vesa card configuration and nothing else.
  • Removed the Xorg package and manually built xorg from ports (then deinstalled and reinstalled using the binary pkg).
  • Search for a core file to parse with gdb (to get some kind of a call stack trace and a better idea of where the NULL pointer deref is occurring).
  • Use gdb to attach to xserver process just before exiting so I can get the call stack that way (gdb and X server don't work well together it seems).

My last act of desperation will be to build from ports again adding logging in the shutdown sequence to try to get an idea of whats going on.

Here is the tail of my Xorg.0.log:
[  196.234] (II) Using input driver 'mouse' for 'sysmouse'
[  196.234] (**) sysmouse: always reports core events
[  196.235] (**) Option "Device" "/dev/sysmouse"
[  196.235] (==) sysmouse: Protocol: "Auto"
[  196.235] (**) sysmouse: always reports core events
[  196.235] (==) sysmouse: Emulate3Buttons, Emulate3Timeout: 50
[  196.235] (**) sysmouse: ZAxisMapping: buttons 4 and 5
[  196.235] (**) sysmouse: Buttons: 5
[  196.235] (**) Option "config_info" "devd:sysmouse"
[  196.235] (II) XINPUT: Adding extended input device "sysmouse" (type: MOUSE, id 7)
[  196.235] (**) sysmouse: (accel) keeping acceleration scheme 1
[  196.235] (**) sysmouse: (accel) acceleration profile 0
[  196.236] (**) sysmouse: (accel) acceleration factor: 2.000
[  196.236] (**) sysmouse: (accel) acceleration threshold: 4
[  196.236] (II) sysmouse: SetupAuto: hw.iftype is 4, hw.model is 0
[  196.236] (II) sysmouse: SetupAuto: protocol is SysMouse
[  196.236] (II) config/devd: device /dev/psm0 already opened
[  218.411] (II) config/devd: terminating backend...
[  218.412] (II) UnloadModule: "mouse"
[  218.413] (II) UnloadModule: "kbd"
[  218.449] (EE) Segmentation fault at address 0x0
[  218.449] (EE)
Fatal server error:
[  218.449] (EE) Caught signal 11 (Segmentation fault). Server aborting
[  218.450] (EE)
[  218.450] (EE)
Please consult the The X.Org Foundation support
for help.
[  218.450] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[  218.450] (EE)

Thanks in adavnce for your help!
Thank you tobik!! Luckily I was using a GPT scheme so switching over to UEFI boot was quick and easy. SCFB works nicely and its great to have my desktop back. Thanks again!