GNOME Bugzilla – Bug 354767
fails to run on nvidia X server
Last modified: 2006-11-12 10:34:57 UTC
Probably due to the new real transparency functionality, the gnome-terminal fails to load on a normal X server (binary 'nvidia' driver): $ gnome-terminal The program 'gnome-terminal' received an X Window System error. This probably reflects a bug in the program. The error was 'BadValue (integer parameter out of range for operation)'. (Details: serial 108 error_code 2 request_code 78 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) It works fine when running under Xgl server/compiz/gnome-window-decorator but also when using the free 'nv' driver. Note - No idea if this affects the situation, but the 'nv' setup was only using one display as I failed to tweak xorg.conf to have two displays using xinerama as I had with the nvidia driver setup.
What do you mean by a «normal X server»? Can you provide details on the server, like which server and xdpyinfo -ext all? Maybe you could try running «gnome-terminal --sync» inside gdb and set up a break point on gdk_x_error, and paste the resulting backtrace here?
Created attachment 72383 [details] verbose xdpyinfo
i appear to be having stripped binaries so gdb output is probably useless: jimmac@hal:~$ gdb gnome-terminal GNU gdb 6.4.90-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (gdb) run --sync Starting program: /usr/bin/gnome-terminal --sync (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1225681232 (LWP 19777)] (no debugging symbols found) The program 'gnome-terminal' received an X Window System error. This probably reflects a bug in the program. The error was 'BadValue (integer parameter out of range for operation)'. (Details: serial 142 error_code 2 request_code 78 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Program exited with code 01.
This bug http://launchpad.net/bugs/58232 seems to be reporting the same problem. The common aspect seems to be using Xinerama and nvidia binary drivers. gnome-terminal will not start in this case.
I managed to 'fix' the problem by adding: Section "Extensions" Option "Composite" "false" EndSection to my xorg.conf. It appears that the nvidia driver provides composite extension, but it's buggy. Closing as NOTGNOME
Another workaround is to launch the terminal with the environment variable XLIB_SKIP_ARGB_VISUALS set to true: XLIB_SKIP_ARGB_VISUALS=1 gnome-terminal