Bug 33351 - Several problems after upgrade
Summary: Several problems after upgrade
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: high major
Assignee: Julien Cristau
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-21 13:42 UTC by David Ronis
Modified: 2011-02-03 15:30 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description David Ronis 2011-01-21 13:42:16 UTC
I'm not sure this is a mesa issue.   I just finished upgrading to the git master of drm, pixman, mesa, xf86-video-ati and xserver.   I'd last upgraded a few days ago.   

X didn't start properly (nothing is indicated in the log or on the console other than a message saying that it couldn't connect to the server).  I had to run

git revert master~10 

in xf86-video-ati and rebuild to get X to run.

(I'm on a HP Pavilion laptop with an R200 card:  RS300M AGP [Radeon Mobility 9100IGP] [1002:5835].

Various glx games (doom, sauerbraten) no longer run.

I see things like:

 Error of failed request:  BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  17 (X_GLXVendorPrivateWithReply)
  Serial number of failed request:  19
  Current serial number in output stream:  19
Comment 1 Julien Cristau 2011-01-21 14:54:57 UTC
The BadLength looks like a regression from my xserver glx patches a few days ago.  I'll look into this, thanks.
Comment 2 Julien Cristau 2011-01-23 09:05:27 UTC
(In reply to comment #1)
> The BadLength looks like a regression from my xserver glx patches a few days
> ago.  I'll look into this, thanks.

Please try the patches in bug#33324 (for xserver).
Comment 3 David Ronis 2011-01-23 19:07:43 UTC
I tried the two patches (in xserver) and rebuilt.   The problem remains.
Comment 4 Julien Cristau 2011-01-24 02:19:36 UTC
(In reply to comment #3)
> I tried the two patches (in xserver) and rebuilt.   The problem remains.

So you're still getting the BadLength?  I tried running sauerbraten but didn't get this crash.
Comment 5 David Ronis 2011-01-24 07:34:59 UTC
Yes I am (same as initially reported):

init: video: mode
X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  17 (X_GLXVendorPrivateWithReply)
  Serial number of failed request:  19
  Current serial number in output stream:  19

As I mentioned in the initial comment, there were several issues that appeared after I'd upgraded; in particular,  I had to revert some of the changes in xf86-video-ati in order to get X to run at all.  What's weird, is that the logs and console show nothing, and I was left in a "graphics" mode, ultimately requiring me to reboot.   Perhaps the BadLength issue is related to the xf86-video-ati revisions that were kept?
Comment 6 Julien Cristau 2011-01-24 07:52:19 UTC
> --- Comment #5 from David Ronis <David.Ronis@McGill.CA> 2011-01-24 07:34:59 PST ---
> Yes I am (same as initially reported):
> 
> init: video: mode
> X Error of failed request:  BadLength (poly request too large or internal Xlib
> length error)
>   Major opcode of failed request:  153 (GLX)
>   Minor opcode of failed request:  17 (X_GLXVendorPrivateWithReply)
>   Serial number of failed request:  19
>   Current serial number in output stream:  19
> 
Just starting the game, then?  Can you run it in gdb, break on
_XError and attach the backtrace?

> As I mentioned in the initial comment, there were several issues that appeared
> after I'd upgraded; in particular,  I had to revert some of the changes in
> xf86-video-ati in order to get X to run at all.  What's weird, is that the logs
> and console show nothing, and I was left in a "graphics" mode, ultimately
> requiring me to reboot.   Perhaps the BadLength issue is related to the
> xf86-video-ati revisions that were kept?
> 
I doubt it, that should just be between mesa and xserver.
Comment 7 David Ronis 2011-01-24 08:37:58 UTC
I rebuilt sauerbraten with -O2 and -g and ran with a break set at _XError.  Here's what I get:

(gdb) break _XError
Breakpoint 1 at 0xb7a28143
(gdb) run
Starting program: /home/ronis/Project/notar/games/sauerbraten/bin_unix/native_client 
[Thread debugging using libthread_db enabled]
init: sdl
[New Thread 0xb7695b90 (LWP 27845)]
init: net
init: game
init: video: mode

Breakpoint 1, 0xb7a28143 in _XError () from /usr/lib/libX11.so.6
(gdb) thread apply all bt full

Thread 2 (Thread 0xb7695b90 (LWP 27845)):
#0  0xb7ec0a7c in nanosleep () from /lib/libpthread.so.0
No symbol table info available.
#1  0xb7f89b24 in SDL_Delay () from /usr/lib/libSDL-1.2.so.0
No locals.
#2  0x0000011b in ?? ()
No symbol table info available.
#3  0xb7efb000 in ?? ()

[snip (ca 1000 of No symbol table available omitted)]

Thread 1 (Thread 0xb785a6d0 (LWP 27844)):
#0  0xb7a28143 in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#1  0xb7a25f65 in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#2  0x00000001 in ?? ()
No symbol table info available.
#3  0xbfffe500 in ?? ()
No symbol table info available.
#4  0xb7dbb000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


Not all that useful.   I suppose that I can rebuild all  or part of Xorg with debugging, but it might be faster to try and back out the patch
Comment 8 Julien Cristau 2011-01-24 15:35:55 UTC
> --- Comment #7 from David Ronis <David.Ronis@McGill.CA> 2011-01-24 08:37:58 PST ---
> Not all that useful.   I suppose that I can rebuild all  or part of Xorg with
> debugging, but it might be faster to try and back out the patch
> 
just mesa should be enough.  thanks.
Comment 9 David Ronis 2011-01-24 16:10:00 UTC
I rebuilt/installed mesa (git origin/master) with debugging support.   Running under gdb with a break set to _XError yields exactly the same backtrace as I reported earlier.   The stack is getting clobbered hard.  Any other suggestions?
Comment 10 David Ronis 2011-01-31 09:55:26 UTC
Turns out that this problem is more severe than I originally thought.  Not only are GL games affected, but so too are gnome-shell (2.91.5) and mutter (2.91.5). 

I've raised the level of the bug.

I'm willing to try bisection in order to find the problem, but need some guidance as to how to do so.
Comment 11 Julien Cristau 2011-01-31 09:59:03 UTC
> --- Comment #10 from David Ronis <David.Ronis@McGill.CA> 2011-01-31 09:55:26 PST ---
> Turns out that this problem is more severe than I originally thought.  Not only
> are GL games affected, but so too are gnome-shell (2.91.5) and mutter (2.91.5). 

please try the patch in bug#33449
Comment 12 David Ronis 2011-01-31 19:13:10 UTC
I applied the patch from 33449 (as well as the two from 33324 mentioned in comment 2). The build now fails with:

glxcmds.c: In function '__glXDisp_BindTexImageEXT':
glxcmds.c:1702:51: error: macro "REQUEST_AT_LEAST_SIZE" passed 2 arguments, but takes just 1
glxcmds.c:1702:5: error: 'REQUEST_AT_LEAST_SIZE' undeclared (first use in this function)
glxcmds.c:1702:5: note: each undeclared identifier is reported only once for each function it appears in
Comment 13 Julien Cristau 2011-02-01 05:46:20 UTC
On Mon, Jan 31, 2011 at 19:13:10 -0800, bugzilla-daemon@freedesktop.org wrote:

> https://bugs.freedesktop.org/show_bug.cgi?id=33351
> 
> --- Comment #12 from David Ronis <David.Ronis@McGill.CA> 2011-01-31 19:13:10 PST ---
> I applied the patch from 33449 (as well as the two from 33324 mentioned in
> comment 2). The build now fails with:
> 
> glxcmds.c: In function '__glXDisp_BindTexImageEXT':

see the later comments in that other bug, was a typo in the patch
Comment 14 David Ronis 2011-02-01 09:53:27 UTC
I modified the patch as you said in bug #33449 (I'm assuming you simply wanted to replace the 1st  

REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 8);

by
   if ((sizeof(xGLXVendorPrivateReq) + 12) >> 2 > client->req_len)
      return BadLength;

I rebuild/installed and started X again.   The problem remains.

I had initially not applied the patches in bug 33324.  When I did the problem still remains.
Comment 15 David Ronis 2011-02-01 09:54:02 UTC
One other thing.  This should all be in the Xserver tree right? :)
Comment 16 David Ronis 2011-02-03 15:30:24 UTC
I just did a hard reset in xserver xserver and rebuilt/installed.  The problem seems to have been fixed.

Note that I haven't applied any of your patches.


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.