After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 665545 - gnome-shell fails to start on dual-screen with BadMatch (invalid parameter attributes)
gnome-shell fails to start on dual-screen with BadMatch (invalid parameter at...
Status: RESOLVED DUPLICATE of bug 648156
Product: gnome-shell
Classification: Core
Component: general
3.2.x
Other Linux
: Normal blocker
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2011-12-04 15:29 UTC by Brian J. Murrell
Modified: 2011-12-05 01:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Brian J. Murrell 2011-12-04 15:29:18 UTC
I tried to use gnome-shell from Linux Mint on my dual-head system here and it fails to start with:

$ gnome-shell
      JS LOG: GNOME Shell started at Fri Dec 02 2011 02:19:45 GMT-0500 (EST)
Window manager warning: Log level 16: The program 'gnome-shell' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 764 error_code 8 request_code 7 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.)

gnome-shell-calendar-server[7008]: Got HUP on stdin - exiting

To be clear, my X server is configured to present dual screens: :0.0 and :0.1.

There seems to be some indication that this is a known issue at http://forums.linuxmint.com/viewtopic.php?f=205&t=85449&p=498791#p498732:

  If you are using Duel screens, Make sure you choose TwinView If you choose
  Seperate X Screen you will get what you are seeing. 

  This would most likely be be a Nvidia Driver issue or incompatibility with the 
  gnome 3 desktop not a Mint issue.

  Differences

  TwinView

  one large screen shared between two monitors


  Separate X screen

  separate X screens, one on each monitor
  allows your window manager (Metacity, XFWM, Compiz, etc.) to be aware that
  there are two screens

Any ETA when this will be addressed?

FWIW I was using the nouveau driver, not the nvidia proprietary driver.
Comment 1 Milan Bouchet-Valat 2011-12-04 15:48:33 UTC
It doesn't seem to be exactly the same problem, AFAICT. And if you're using Nouveau, that's not a bug in the proprietary driver... ;-) What's your exact card model?

The error message is not detailed enough to help the developers. Could you get us a better backtrace? You should follow the instructions at:
https://live.gnome.org/GnomeShell/Debugging

But replacing
(gdb) run --replace
with
(gdb) break gdk_x_error
(gdb) run --replace --sync


But the first thing to check that you're using up-to-date Nouveau drivers. If not, you can try with a LiveCD, e.g. from Fedora 16, to be sure you don't waste your time.
Comment 2 Brian J. Murrell 2011-12-04 16:02:07 UTC
OK.  So first things first, my described configuration is supposed to work?

(In reply to comment #1)
> It doesn't seem to be exactly the same problem, AFAICT. And if you're using
> Nouveau, that's not a bug in the proprietary driver... ;-)

No, indeed.  I was leaving room for misdiagnosis.  The main point was that I do not seem to be alone in seeing this problem.

> What's your exact
> card model?

It was an nVida 6150 integrated onto the motherboard.
 
> The error message is not detailed enough to help the developers. Could you get
> us a better backtrace?

I can certainly try.

> You should follow the instructions at:
> https://live.gnome.org/GnomeShell/Debugging
> 
> But replacing
> (gdb) run --replace
> with
> (gdb) break gdk_x_error
> (gdb) run --replace --sync

OK.  I will try to get that.

> But the first thing to check that you're using up-to-date Nouveau drivers.

I was using what was included with Linux Mint 12.

> If
> not, you can try with a LiveCD, e.g. from Fedora 16, to be sure you don't waste
> your time.

Hrm.  I'm not so sure a LiveCD will be a good test.  I tend to doubt that an Xorg server running from a LiveCD will be configured with separate X screens but instead will be doing some kind of joining of the screens (typically called twinview with nVidia's proprietary drivers but nouveau defaults to the same kind of joined-screen configuration) to present a single large screen to the applications.
Comment 3 Brian J. Murrell 2011-12-04 22:09:09 UTC
OK.  So I tried to get a backtrace but gdb doesn't seem to have stopped at the breakpoint set.  Here's the whole session:

$ gdb /usr/bin/gnome-shell
GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /usr/bin/gnome-shell...(no debugging symbols found)...done.
(gdb) break gdk_x_error
Function "gdk_x_error" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y

Breakpoint 1 (gdk_x_error) pending.
(gdb) run --replace --sync
Starting program: /usr/bin/gnome-shell --replace --sync
[Thread debugging using libthread_db enabled]
warning: the debug information found in "/usr/lib/debug//usr/lib/libxml2.so.2.7.8" does not match "/usr/lib/libxml2.so.2" (CRC mismatch).

warning: the debug information found in "/usr/lib/debug/usr/lib/libxml2.so.2.7.8" does not match "/usr/lib/libxml2.so.2" (CRC mismatch).

[New Thread 0xb7a76b70 (LWP 5244)]
[New Thread 0xb7275b70 (LWP 5247)]
[New Thread 0xb2a72b70 (LWP 5248)]
[New Thread 0xb2271b70 (LWP 5249)]
warning: the debug information found in "/usr/lib/libproxy.so.0.0.0" does not match "/usr/lib/libproxy.so.0" (CRC mismatch).

[New Thread 0xb032db70 (LWP 5254)]
[Thread 0xb032db70 (LWP 5254) exited]
[New Thread 0xb032db70 (LWP 5271)]
[New Thread 0xa6f0ab70 (LWP 5272)]

(gnome-shell:5237): Clutter-WARNING **: Failed to set the markup of the actor 'ClutterText': Error on line 1: Entity did not end with a semicolon; most likely you used an ampersand character without intending to start an entity - escape ampersand as &amp;
Window manager warning: Log level 8: shell_tray_manager_manage_stage: assertion `manager->priv->stage == NULL' failed
      JS LOG: GNOME Shell started at Sun Dec 04 2011 17:07:01 GMT-0500 (EST)
Window manager warning: Log level 16: The program 'gnome-shell' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 1219 error_code 8 request_code 7 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.)

[Thread 0xa6f0ab70 (LWP 5272) exited]
[Thread 0xb032db70 (LWP 5271) exited]
[Thread 0xb2271b70 (LWP 5249) exited]
[Thread 0xb2a72b70 (LWP 5248) exited]
[Thread 0xb7275b70 (LWP 5247) exited]
[Thread 0xb7a76b70 (LWP 5244) exited]
gnome-shell-calendar-server[5256]: Got HUP on stdin - exiting
[Inferior 1 (process 5237) exited with code 01]
(gdb) where
No stack.
(gdb) 

What next?
Comment 4 Rui Matos 2011-12-05 01:34:10 UTC
(In reply to comment #3)
>   (Details: serial 1219 error_code 8 request_code 7 minor_code 0)

Pretty sure this a dupe.

*** This bug has been marked as a duplicate of bug 648156 ***