see the log below. instead of freezing xorg should error out and let the user see this error. X Window System Version 7.1.0 Release Date: 22 May 2006 X Protocol Version 11, Revision 0, Release 7.1 Build Operating System: Linux 2.6.16.11 i686 Current Operating System: Linux fluffy 2.6.16.11 #2 PREEMPT Sat May 6 18:20:20 EEST 2006 i686 Build Date: 06 June 2006 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Module Loader present Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Thu Jun 8 23:01:19 2006 (==) Using config file: "/etc/X11/xorg.conf" X: symbol lookup error: /usr/lib/xorg/modules/drivers/sis_drv.so: undefined symbol: assert XIO: fatal IO error 104 (Connection reset by peer) on X server ":0.0" after 0 requests (0 known processed) with 0 events remaining.
Xorg uses the system loader now, so it doesn't have much choice in how missing symbols are handled. Perhaps it should be using RTLD_NOW to find out at start time if symbols are missing instead of waiting until they're hit, but that would have a start time performance hit.
I still don't understand why it looks up then. As the symbols need to resolved anyway and one just loads a couple of drivers (mouse, keyboard, gfx) I'd say using RTLD_NOW with dlopen would be better.
assert isn't a function, it's a macro. it's being emitted as a function because the driver is missing headers.
*** This bug has been marked as a duplicate of 7131 ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.