Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fa2291946f0 (LWP 16297)] 0x0000000000432a02 in privateExists (privates=0x902c70, key=0x0) at privates.c:79 79 return *key && *privates && (gdb) bt #0 0x0000000000432a02 in privateExists (privates=0x902c70, key=0x0) at privates.c:79 #1 0x0000000000432ad3 in dixSetPrivate (privates=0x902c70, key=0x0, val=0x90b950) at privates.c:188 #2 0x00007fa2262e7baf in DRIScreenInit (pScreen=0x9029e0, pDRIInfo=0xabed70, pDRMFD=0x8a2040) at dri.c:358 #3 0x00007fa225e92c87 in RADEONDRIScreenInit (pScreen=0x9029e0) at radeon_dri.c:1550 #4 0x00007fa225e4da77 in RADEONScreenInit (scrnIndex=0, pScreen=0x9029e0, argc=4, argv=0x7fff311ab9c8) at radeon_driver.c:3442 #5 0x0000000000432497 in AddScreen (pfnInit=0x7fa225e4cfd0 <RADEONScreenInit>, argc=4, argv=0x7fff311ab9c8) at main.c:690 #6 0x0000000000486920 in InitOutput (pScreenInfo=0x86df60, argc=4, argv=0x7fff311ab9c8) at xf86Init.c:1089 #7 0x000000000043168d in main (argc=4, argv=0x7fff311ab9c8, envp=0x7fff311ab9f0) at main.c:310 hardware: - amd turion 64bit - radeon xpress 200m 5955 pcie
This also affects 32bit platforms: - AMD Athlon XP 3000+ - ATI Radeon 9600 The build is based on the git version. Last commit in the git version is 'd744dc013cf5ca3141c0fdf55e36d713fe9f53ba'
This seems only to be triggered when the driver is build with dri support enabled.
I think this was introduced by xserver commit 4017d3190234e189a0bbd33193a148d4d3c7556b ('devPrivates rework: since API is already broken, switch everything over to new system.'): DRICloseScreen() sets DRIScreenPrivKey = NULL, and there's no code to set it to non-NULL for the next server generation. Eamon, how should this be fixed? Just drop the DRIScreenPrivKey = NULL assignments?
Should be fixed in 5b336585a4cdf11d20831a9536ad581e959ea7f1. I tested it and grepped the code for other instances of setting the NULL, but found none. There is also no sane reason to change this pointer imo.
Confirming fixed in 5b336585a4cdf11d20831a9536ad581e959ea7f1.
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.