Bug 515 - X11 AMD/ATI fglrx driver SIGSEGV (XQueryExtension, _XSend) if multiple Display connections are used.
Summary: X11 AMD/ATI fglrx driver SIGSEGV (XQueryExtension, _XSend) if multiple Displa...
Status: VERIFIED FIXED
Alias: None
Product: Jogl
Classification: JogAmp
Component: x11 (show other bugs)
Version: 2
Hardware: pc_all linux
: --- major
Assignee: Sven Gothel
URL:
Depends on:
Blocks:
 
Reported: 2011-08-31 15:28 CEST by Sven Gothel
Modified: 2012-09-30 21:12 CEST (History)
0 users

See Also:
Type: ---
SCM Refs:
b54497155815852744adb657816cb4057948dae2
Workaround: TRUE


Attachments
Multiple X11 Display Connection Test (3.26 KB, text/x-csrc)
2011-08-31 15:28 CEST, Sven Gothel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sven Gothel 2011-08-31 15:28:22 CEST
Created attachment 265 [details]
Multiple X11 Display Connection Test

It is observed that ATI X11 drivers, eg. fglrx 8.78.6 upto fglrx 11.08/8.881,
are quite sensitive to multiple Display connections.

Here, closing displays shall happen in the same order as
they were opened, -OR- shall not be closed at all!

Otherwise some driver related bug appears and brings down the JVM
with an SIGSEGV.

You may test this, ie just reverse the destroy order below.
See also native test: jogl/test/native/displayMultiple02.c (attached)
Comment 1 Sven Gothel 2011-08-31 15:39:23 CEST
Since we cannot fix the driver .. this is a workaround avoiding SIGSEGV.

We don't close the X11 Display connection if driver vendor is ATI
via 'X11Util.markDisplayUncloseable(true)'.
This is currently exercised in X11GLXDrawableFactory shared resource initialization.

FIXME: To allow this workaround to function w/o JOGL usage, 
this detection and setting shall happen in X11Util itself, if we could query the driver vendor w/o GLX.