Bug 22381

Summary: [855GM] glxgears segfaults
Product: Mesa Reporter: Luke Camden <luke.camden>
Component: Drivers/DRI/i915Assignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium CC: net147
Version: unspecifiedKeywords: NEEDINFO
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Luke Camden 2009-06-20 00:34:08 UTC
I'm not sure if this is the right place to be reporting this.

Running as normal user, glxgears segfaults. Running as root, it doesn't crash but the graphical output is garbage (I can just about see the gears rotating, but there are a lot of horizontal lines obscuring my view).

I have checked permissions on the output of "ldd `which glxgears`" but that all seems fine (ie read access for everyone).

I have the following ArchLinux packages installed, though I'm not sure how that relates to the actual software versions.

mesa-7.4.2-1
xorg-server-1.6.1.901-1
libgl-7.4.2-2



Some debugger output
====
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7cfa6d0 (LWP 13099)]
0xb7b40384 in vbo_VertexAttrib4fvARB (index=1, v=0x1300)
    at vbo/vbo_attrib_tmp.h:354
354	      ATTR4FV(VBO_ATTRIB_GENERIC0 + index, v);
(gdb) bt
#0  0xb7b40384 in vbo_VertexAttrib4fvARB (index=1, v=0x1300)
    at vbo/vbo_attrib_tmp.h:354
#1  0xb7b32da6 in neutral_VertexAttrib4fvARB (index=1, v=0x1300)
    at main/vtxfmt_tmp.h:453
#2  0x0804a40d in main (argc=1, argv=0xbfdaf5d4) at glxgears.c:404
(gdb) list
349	{
350	   GET_CURRENT_CONTEXT( ctx );
351	   if (index == 0) 
352	      ATTR4FV(0, v);
353	   else if (index < MAX_VERTEX_ATTRIBS)
354	      ATTR4FV(VBO_ATTRIB_GENERIC0 + index, v);
355	   else
356	      ERROR();
357	}
358	
(gdb) print v
$1 = (const GLfloat *) 0x1300
(gdb) print *v
Cannot access memory at address 0x1300

The value of v seems fairly un-pointer-like!

xorg.conf - I am using uxa here. With exa, X is rendered unusable.
===
Section "Device"
    Identifier "Builtin Default intel Device 0"
    Driver "intel"
    Option "AccelMethod" "uxa"
EndSection
Section "Screen"
    Identifier "Builtin Default intel Screen 0"
    Device "Builtin Default intel Device 0"
EndSection
Section "ServerLayout"
    Identifier "Builtin Default Layout"
    Screen "Builtin Default intel Screen 0"
EndSection
Comment 1 Luke Camden 2009-06-20 00:42:30 UTC
Perhaps I should post these things too. If there is anything else that might be helpful, let me know.

$ lspci
00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
....

$ dmesg
...
glxgears[13168]: segfault at 1300 ip b7b0c384 sp bfc79930 error 4 in libdricore.so[b7a33000+1fe000]

Comment 2 Gordon Jin 2009-08-23 19:56:31 UTC
Please attach Xorg.0.log.

It will be good if you could try xf86-video-intel 2.8.x and kernel 2.6.30/31.
Comment 3 Eric Anholt 2009-09-25 11:20:39 UTC
Mesa 7.4 at this point is really old.  Could you update to Mesa 7.5 or the 7.6 development branch and retest?
Comment 4 Jonathan Liu 2009-11-13 23:38:15 UTC
(In reply to comment #0)
> Running as normal user, glxgears segfaults. Running as root, it doesn't crash
> but the graphical output is garbage (I can just about see the gears rotating,
> but there are a lot of horizontal lines obscuring my view).

This looks like incorrect permissions. The user you are running as does not have permission to access /dev/dri/card0.

Ensure you have added your user to the video group (http://wiki.archlinux.org/index.php/Intel_Graphics#Configuration):
sudo gpasswd -a myusername video
Comment 5 Luke Camden 2009-11-15 05:12:10 UTC
This is fixed in the latest version.

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.