OpenSolaris

Printable Version Enter a New Search
Bug ID 6813925
Synopsis Xorg needs to catch ld.so.1 failure so it can close down devices cleanly
State 10-Fix Delivered:Verified (Fix available in build)
Category:Subcategory xserver:xorg-server
Keywords
Responsible Engineer Alan Coopersmith
Reported Against
Duplicate Of
Introduced In solaris_10
Commit to Fix snv_111
Fixed In snv_111
Release Fixed solaris_nevada(snv_111)
Related Bugs 6797940
Submit Date 5-March-2009
Last Update Date 20-March-2009
Description
Xorg is linked with -zlazyload flags to not load dynamic libraries until needed.
When it's already initialized the devices and then fails to load one of these
libraries, it is killed without a chance to close down the devices cleanly, so
just leaves the screen looking like it is hung, and the user doesn't have a
chance to get back to the text console to see what the problem is.

The runtime loader provides a dlinfo() option to let us set the signal used to
kill the process when it has a fatal error - we should use that to set the
signal to one we catch with our cleanup routines.

*** Test Case ***
mv /usr/lib/libhal.so.1.0.0 /usr/lib/libhal.so.1.0.0.bak
mv /usr/lib/64/libhal.so.1.0.0 /usr/lib/64/libhal.so.1.0.0.bak
Restart Xorg - instead of just hanging, it should log an error message and
stack trace to Xorg.0.log, and clear the screen.
Work Around
N/A
Comments
N/A