Bug 493231

Summary: nvidia/Xinerama: Any X application crashes
Product: [openSUSE] openSUSE 11.1 Reporter: Berthold Gunreben <bg>
Component: X.OrgAssignee: E-mail List <xorg-maintainer-bugs>
Status: RESOLVED WONTFIX QA Contact: E-mail List <xorg-maintainer-bugs>
Severity: Minor    
Priority: P4 - Low CC: sndirsch
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 11.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: configuration where the apps crash
Xorg.0.log with xinerama off

Description Berthold Gunreben 2009-04-08 14:25:45 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.7) Gecko/2009022800 SUSE/3.0.7-1.1.6 Firefox/3.0.7

When I run a Xinerama configuration that has two Devices:

Device[0] running a TwinView configuration with two monitors
Device[1] running a single screen

both with nvidia driver (not nv), I can configure X to go over all three monitors. Even the mouse will move over all monitors. However, when I try to start some application, be it a windowmanager or a terminal, the respective application crashes.

For example, using xterm results in the following backtrace:

Loaded symbols for /lib64/ld-linux-x86-64.so.2
Core was generated by `xterm'.
Program terminated with signal 11, Segmentation fault.
#0  _XcmsGetIntensityMap (dpy=0x667420, visual=0x0) at cmsInt.c:404
404     cmsInt.c: No such file or directory.
        in cmsInt.c
(gdb) bt
#0  _XcmsGetIntensityMap (dpy=0x667420, visual=0x0) at cmsInt.c:404
#1  0x00007fa8386a4090 in XcmsCreateCCC (dpy=0x667420, screenNumber=<value optimized out>, visual=0x0, clientWhitePt=0x0,
    gamutCompProc=0, gamutCompClientData=0x0, whitePtAdjProc=0, whitePtAdjClientData=0x0) at CCC.c:148
#2  0x00007fa8386b0947 in CmapRecForColormap (dpy=0x667420, cmap=32) at cmsCmap.c:113
#3  0x00007fa8386b09ac in XcmsCCCOfColormap (dpy=0x667420, cmap=0) at cmsCmap.c:433
#4  0x00007fa838647769 in XAllocNamedColor (dpy=0x667420, cmap=0, colorname=0x0, hard_def=0x66, exact_def=0x78) at GetColor.c:58
#5  0x00007fa837d3436b in XtCvtStringToPixel (dpy=0x667420, args=<value optimized out>, num_args=<value optimized out>,
    fromVal=0x7fff41663a10, toVal=0x7fff41663a00, closure_ret=0x7fff416621b0) at Converters.c:500
#6  0x00007fa837d2efa7 in CallConverter (dpy=0x667420, converter=0x7fa837d34140 <XtCvtStringToPixel>, args=0x7fff41662200, num_args=2,
    from=0x7fff41663a10, to=0x7fff41663a00, cache_ref_return=0x0, cP=0x667140) at Convert.c:808
#7  0x00007fa837d2f400 in _XtConvert (widget=0x684520, from_type=<value optimized out>, from=0x7fff41663a10, to_type=22,
    to=0x7fff41663a00, cache_ref_return=0x0) at Convert.c:896
#8  0x00007fa837d4cb26 in GetResources (widget=0x684520, base=0x684520 " Eh", names=0x7fff41663ee0, classes=0x7fff41663e10,
    table=0x684260, num_resources=81, quark_args=0x7fff41663c80, args=0x67c0f0, num_args=3, typed_args=0x0,
    pNumTypedArgs=0x7fff41664480, tm_hack=4 '\004') at Resources.c:847
#9  0x00007fa837d4ddb1 in _XtGetResources (w=0x684520, args=0x67c0f0, num_args=3, typed_args=0x0, num_typed_args=0x7fff41664480)
    at Resources.c:1053
#10 0x00007fa837d35929 in xtCreate (name=<value optimized out>, class=0x44710b "XTerm", widget_class=0x7fa837f7a520, parent=0x0,
    default_screen=0x66e3b0, args=0x67c0f0, num_args=3, typed_args=0x0, num_typed_args=0, parent_constraint_class=0x0,
    post_proc=0x7fa837d400a0 <_XtAddShellToHookObj>) at Create.c:384
#11 0x00007fa837d35d96 in _XtAppCreateShell (name=0x6638d0 "xterm", class=0x7fff41661b50 "", widget_class=0x7fa837f7a520,
    display=0x667420, args=0x67c0f0, num_args=3, typed_args=0x0, num_typed_args=0) at Create.c:698
#12 0x00007fa837d36019 in XtAppCreateShell (name=0x0, class=0x44710b "XTerm", widget_class=0x7fa837f7a520, display=0x667420,
    args=0x67c0f0, num_args=3) at Create.c:725
#13 0x00007fa837d41662 in XtOpenApplication (app_context_return=0x6625c0, application_class=0x44710b "XTerm", options=0x65be80,
    num_options=<value optimized out>, argc_in_out=<value optimized out>, argv_in_out=0x666130, fallback_resources=0x65d040,
    widget_class=0x7fa837f7a520, args_in=0x0, num_args_in=0) at Initialize.c:990
#14 0x00000000004232dd in ?? ()
#15 0x00007fa83716d586 in __libc_start_main () from /lib64/libc.so.6
#16 0x00000000004074c9 in ?? ()
#17 0x00007fff416649f8 in ?? ()
#18 0x000000000000001c in ?? ()
#19 0x0000000000000001 in ?? ()
#20 0x00007fff416656c5 in ?? ()
#21 0x0000000000000000 in ?? ()
(gdb) quit

When I switch Xinerama off, and get a display :0.1, X11 works fine, including all applications. I also can access the third display with DISPLAY=:0.1

I don't exactly know what data I should add to this bug, the system is also available locally.

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Comment 1 Stefan Dirsch 2009-04-08 15:14:46 UTC
1. We don't track any nvidia driver issues for openSUSE
2. Xinerama is known to be broken since xorg-server 1.5. See also Bug #441070 and 
   Bug #210988.

It's weird that this Xsetup starts at all. The issue that any Xapp crashes is new, but you're the first I'm aware of who managed to get Xinerama working at all on 11.1.
Comment 2 Stefan Dirsch 2009-04-08 15:19:11 UTC
> When I switch Xinerama off, and get a display :0.1, X11 works fine, including
> all applications. I also can access the third display with DISPLAY=:0.1

So you can access all three monitors also without Xinerama. So where is the remaingin issue?

> I don't exactly know what data I should add to this bug, 

See http://en.opensuse.org/Bugs:X
Comment 3 Berthold Gunreben 2009-04-08 15:37:34 UTC
Created attachment 284796 [details]
configuration where the apps crash
Comment 4 Berthold Gunreben 2009-04-08 15:40:46 UTC
Created attachment 284797 [details]
Xorg.0.log with xinerama off

In this case, I need to run a second display manager to get the windows on the rightmost screen managed.
Comment 5 Berthold Gunreben 2009-04-08 15:46:01 UTC
I can access the three monitors, but when I try to get one single DISPLAY, all applications crash. This is not a X Server issue, but related to libX11 (I guess).

Therefore, I would expect, that this behaviour will also happen when using a configuration where multiple graphics cards would be supported (driver wise).

Another problem is, that our windowmanagers cannot cope with a second display, however this is nothing for here.
Comment 6 Stefan Dirsch 2009-04-08 16:32:15 UTC
Berthold, I wouldn't expect that we'll ever find the time for addressing triple head setup issues. So this is most likely a WONTFIX.
Comment 7 Stefan Dirsch 2009-04-16 03:01:39 UTC
Let's get realistic. WONTFIX.