Bug 9364 - Compiz crashes with two X-screens (due to glExtensions = 0x0)
Summary: Compiz crashes with two X-screens (due to glExtensions = 0x0)
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: App/compiz (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: high critical
Assignee: David Reveman
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-16 05:20 UTC by Sebastien Bacher
Modified: 2007-12-04 01:31 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Sebastien Bacher 2006-12-16 05:20:52 UTC
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;
..."
Comment 1 David Reveman 2006-12-19 07:35:29 UTC
Seems like a GL driver issue as glGetString (GL_EXTENSIONS) should never return 0x0.
Comment 2 Daniel Stone 2007-02-27 01:35:13 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.