Compiz crashes with two X-screens

Bug #74012 reported by Ernst Persson
10
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
Critical
xserver-xorg-video-ati (Ubuntu)
Fix Released
Medium
Old Desktop Effects Team

Bug Description

Hi,
my xserver is configured like this:
Section "ServerLayout"
    Identifier "Default Layout"
    Screen 0 "Default Screen" 0 0
    Screen 1 "TV" RightOf "Default Screen"
    InputDevice "Generic Keyboard"
    InputDevice "Configured Mouse"
EndSection

and when I start compiz 0.3.3-git on a clean feisty system it crashes. If I comment out Screen 1, compiz works fine.
This is on AMD64.

Revision history for this message
Corey Burger (corey.burger) wrote :

Thanks for your bug report. Could you please try to obtain a
backtrace by following the instructions on
       http://wiki.ubuntu.com/DebuggingProgramCrash.
This will greatly aid us in tracking down your problem.

Changed in compiz:
status: Unconfirmed → Needs Info
Revision history for this message
Ernst Persson (ernstp) wrote :

Here's the apport data from a crash:

Revision history for this message
Ernst Persson (ernstp) wrote :

Right, there are no debugsyms for compiz in the debug-repository.

Revision history for this message
Ernst Persson (ernstp) wrote :

This crashreport should have a working backtrace!

Revision history for this message
In , Sebastien Bacher (seb128) wrote :

That bug has been opened on
https://launchpad.net/distros/ubuntu/+source/compiz/+bug/74012

"Hi,
my xserver is configured like this:
Section "ServerLayout"
    Identifier "Default Layout"
    Screen 0 "Default Screen" 0 0
    Screen 1 "TV" RightOf "Default Screen"
    InputDevice "Generic Keyboard"
    InputDevice "Configured Mouse"
EndSection

and when I start compiz 0.3.3-git on a clean feisty system it crashes. If I
comment out Screen 1, compiz works fine.
This is on AMD64.
...
http://librarian.launchpad.net/5421398/_usr_bin_compiz.real.1000.crash
Crashreport
...
Package: compiz-core 1:0.3.4-0ubuntu2
...
 Core was generated by `compiz.real --replace --use-cow gconf gconf'.
 Program terminated with signal 11, Segmentation fault.
 #0 0x00002b5bfc782deb in strstr () from /lib/libc.so.6
 #0 0x00002b5bfc782deb in strstr () from /lib/libc.so.6
 No symbol table info available.
 #1 0x0000000000414c67 in addScreen (display=0x62ce00, screenNum=1,
     wmSnSelectionWindow=<value optimized out>, wmSnAtom=355,
     wmSnTimestamp=2298889900) at screen.c:1690
  s = <value optimized out>
  dpy = (Display *) 0x6303e0
  black = {pixel = 0, red = 0, green = 0, blue = 0, flags = 0 '\0',
   pad = 0 '\0'}
  bitmap = <value optimized out>
  templ = {visual = 0x6303e0, visualid = 389, screen = 6489056,
   depth = 0, class = 32, red_mask = 140736138024672, green_mask = 6489056,
   blue_mask = 47674102198800, colormap_size = -66922513, bits_per_rgb = 11099}
  visinfo = <value optimized out>
  fbConfigs = <value optimized out>
  rootReturn = 6489056
  parentReturn = 355
  children = <value optimized out>
  nchildren = <value optimized out>
  defaultDepth = 24
  nvisinfo = 1
  nElements = <value optimized out>
  value = 1
  i = <value optimized out>
  glxExtensions = 0x6987f0 "GLX_EXT_visual_info GLX_EXT_visual_rating
GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGI_video_sync GLX_SGI_swap_control
GLX_EXT_texture_from_pixmap GLX_ARB_multisample GLX_NV_float_buffer
GLX_ARB_fbconfi"...
  glxServerExtensions = <value optimized out>
  glExtensions = 0x0
  stencilBits = <value optimized out>
  attrib = {background_pixmap = 0, background_pixel = 0,
   border_pixmap = 2944636400, border_pixel = 140736138024640,
   bit_gravity = 0, win_gravity = 0, backing_store = 0,
   backing_planes = 6492656, backing_pixel = 6489056, save_under = 62914704,
   event_mask = 47674070059129, do_not_propagate_mask = 1,
   override_redirect = 4194304, colormap = 4, cursor = 140736138024672}
  globalAmbient = {0.100000001, 0.100000001, 0.100000001, 0.100000001}
  ambientLight = {0, 0, 0, 0}
  diffuseLight = {0.899999976, 0.899999976, 0.899999976, 0.899999976}
  light0Position = {-0.5, 0.5, -9, 1}
  w = <value optimized out>
  shareList = <value optimized out>
  data = 0 '\0'
...
This crashreport should have a working backtrace!"

corresponding code:

"...
    glExtensions = (const char *) glGetString (GL_EXTENSIONS);

    s->textureNonPowerOfTwo = 0;
    if (strstr (glExtensions, "GL_ARB_texture_non_power_of_two"))
 s->textureNonPowerOfTwo = 1;
..."

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for crash file, I've forwarded your bug upstream: https://bugs.freedesktop.org/show_bug.cgi?id=9364

Changed in compiz:
assignee: nobody → ubuntu-desktop-effects
importance: Undecided → Medium
status: Needs Info → Confirmed
Changed in compiz:
status: Unknown → Confirmed
Revision history for this message
In , Davidr-novell (davidr-novell) wrote :

Seems like a GL driver issue as glGetString (GL_EXTENSIONS) should never return 0x0.

Revision history for this message
In , Daniel Stone (daniels) wrote :

Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.

Revision history for this message
Travis Watkins (amaranth) wrote :

What driver are you using? Upstream thinks this is a driver problem.

Changed in compiz:
status: Confirmed → Needs Info
Revision history for this message
Kelsey Sigurdur (kes) wrote :

I'm having a similar problem on Feisty using the open source ATI driver.

Compiz, enabled via the desktop-effects, works on each screen independently but causes a complete lock-up when both screens are enabled.

By adding "Option "NoTrapSignals" "true"" to the "ServerFlags" section of xorg.conf I can avoid the lock-up but enabling Compiz via desktop-effects then results in X restarting and kicking me back to the login screen.

Revision history for this message
Travis Watkins (amaranth) wrote :

Compiz in gutsy has had a bunch of multiscreen fixes, I think it'll fix this issue.

Changed in compiz:
status: Incomplete → Fix Released
Revision history for this message
Kelsey Sigurdur (kes) wrote :

I don't believe that "thinking" that the issue is fixed warrants a status change. If the fix can be confirmed by all means change the status but otherwise the bug should remain open.

Changed in compiz:
status: Fix Released → Confirmed
Revision history for this message
Travis Watkins (amaranth) wrote :

That's up to you, I don't have a way to test multiscreen. We do, however, have a compiz/compiz-fusion developer who runs multiscreen and contributed a bunch of fixes to make it work.

Revision history for this message
Burhan Khalid (burhankhalid) wrote :

I'm not sure this is the right bug to add this comment to, but I have an issue with compiz and dual screens (nvidia on x86 board, using binary drivers from fiesty, and instructions on 'CompizFusion' from the wiki).

Right the problem is that with dual screens using nvidia-config, if I have two independent screens (ie, "TwinView") acceleration is enabled on both desktops, but on the secondary one, the titlebars of wIndows are missing, so I am unable to move or resize the windows. On the primary display, things work as expected. All other acceleration works as expected. Please direct me to a more appropriate bug if required.

Thanks!

Relevant lines from xorg.conf:

Section "Device"
    Identifier "Videocard1"
    Driver "nvidia"
    VendorName "NVIDIA Corporation"
    BoardName "GeForce FX 5500"
    BusID "PCI:1:0:0"
    Screen 1
EndSection

Section "Screen"
    Identifier "Screen1"
    Device "Videocard0"
    Monitor "Monitor1"
    DefaultDepth 24
    Option "AddARGBGLXVisuals" "true"
    Option "metamodes" "CRT-1: nvidia-auto-select +0+0"
    SubSection "Display"
         Depth 24
         Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "Videocard1"
    Monitor "Monitor0"
    Option "AddARGBGLXVisuals" "true"
    DefaultDepth 24
    Option "metamodes" "CRT-0: 1280x1024 +0+0; CRT-0: 1024x768 +0+0; CRT-0: 832x624 +0+0; CRT-0: 800x600 +0+0; CRT-0: 640x480 +0+0"
    SubSection "Display"
        Depth 24
        Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Revision history for this message
Burhan Khalid (burhankhalid) wrote :

Sorry, I made an error.

With configuration option 'Separate X Screen' I am facing the above issue, with 'Twinview' I have no problems with acceleration.

Revision history for this message
Travis Watkins (amaranth) wrote :

You need to start a decorator (gtk-window-decorator or emerald) for each screen.

Revision history for this message
Burhan Khalid (burhankhalid) wrote :

Travis, can you tell me how to do that? I already have compiz --replace on session startup, and it does it for both screens (ie, the cube rotation works on both). I tried the following:

$ gtk-window-decorator :1
gtk-window-decorator: Screen 0 on display ":0.1" already has a decoration manager; try using the --replace option to replace the current decoration manager.

I get the same error with gtk-window-decorator --replace :1 and gtk-window-decorator --sync :1 and compiz --replace :1

Revision history for this message
Travis Watkins (amaranth) wrote :

You need to launch it from a terminal on the second screen.

Revision history for this message
Travis Watkins (amaranth) wrote :

Marking bug as fixed since Burhan can use two screens on gutsy.

Changed in compiz:
status: Confirmed → Fix Released
Revision history for this message
Travis Watkins (amaranth) wrote :

Oops, he uses feisty, reassigning to the ati driver since upstream thinks it's a driver problem and it works with a different driver on feisty.

Changed in compiz:
status: Fix Released → Incomplete
Revision history for this message
Burhan Khalid (burhankhalid) wrote :

I am using *nvidia* not ATI.

Revision history for this message
Travis Watkins (amaranth) wrote :

And this bug report is about two people also using feisty that get crashes with ATI.

Revision history for this message
Ernst Persson (ernstp) wrote :

Ok, my original bug with compiz crashing is solved so it could be closed, but has this changed to a bug in the xorg-ati driver?

Changed in xserver-xorg-video-ati:
status: Incomplete → Fix Released
Changed in compiz:
status: Confirmed → Fix Released
Changed in compiz:
importance: Unknown → Critical
Changed in compiz:
importance: Critical → Unknown
Changed in compiz:
importance: Unknown → Critical
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.