I've noticed that World of Warcraft has started crashing with my HD4890, although not with my RV350. (WoW complains about reading invalid memory). I've run several git bisects, and they have all indicated that the first bad commit is: commit b94a926f396d366b6bb5d24b32dd93ffb7609205 Author: Brian Paul <brianp@vmware.com> Date: Fri Sep 9 08:06:29 2011 -0600 st/mesa: init program MaxLocalParams, MaxEnvParams limits Use the same limit for all parameter classes.
Could you attach the backtrace where the crash occurs?
Created attachment 51051 [details] WoW crash dump file (text) This is WoW's own crash file, and so probably contains far more information than you need. But it does also contain a stack trace mentioning vbo_exec_DrawRangeElements().
The backtrace doesn't show the exact line where it crashes. Can you make an apitrace record?
Created attachment 51052 [details] [review] possible fix Can you try this patch?
Ignore that patch, it breaks everything.
(In reply to comment #3) > The backtrace doesn't show the exact line where it crashes. Can you make an > apitrace record? Dunno, what's an "apitrace record" :-)? It's probably easier to add fprintf() statements to _mesa_update_state_locked() and examine the carnage...
Apitrace can record and replay OpenGL commands. You can get it here: https://github.com/apitrace/apitrace There is more info in this blogpost: http://zrusin.blogspot.com/2011/04/apitrace.html
(In reply to comment #6) > It's probably easier to add fprintf() statements to > _mesa_update_state_locked() and examine the carnage... My crude debugging has revealed that the following line in update_program_enables() is reading invalid memory: ctx->FragmentProgram._Enabled = ctx->FragmentProgram.Enabled && ctx->FragmentProgram.Current->Base.Instructions; It looks like ctx->FragmentProgram.Current is pointing to somewhere strange.
(In reply to comment #7) > Apitrace can record and replay OpenGL commands. You can get it here: > https://github.com/apitrace/apitrace > > There is more info in this blogpost: > http://zrusin.blogspot.com/2011/04/apitrace.html Hmm, got any hints for how to apitrace a 32 bit executable running on a 64 bit machine under Wine, please? I've already guessed that I need a 32 bit glxtrace.so, but it's still crashing as it tries to trace wine-preloader.
Created attachment 51066 [details] [review] possible fix 2 Can you try this patch?
(In reply to comment #10) > Can you try this patch? Yes, that patch seems to work. I've tried printing out the values of pc->MaxParameters, MAX_PROGRAM_LOCAL_PARAMS and MAX_PROGRAM_ENV_PARAMS, and I'm seeing lines like these: pc->MaxParameters=4096, MAX_LOCAL=4096, MAX_ENV=256 pc->MaxParameters=96, MAX_LOCAL=4096, MAX_ENV=256 I'm guessing the first example is likely to be causing problems.
I pushed the patch. Closing.
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.