Bug 22309 - i915BindProgram: Assertion p->on_hardware == 0 failed. (Mesa 7.4/7.6)
i915BindProgram: Assertion p->on_hardware == 0 failed. (Mesa 7.4/7.6)
Status: ASSIGNED
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i915
unspecified
x86 (IA32) Linux (All)
: low normal
Assigned To: Eric Anholt
http://appdb.winehq.org/objectManager...
: NEEDINFO
: 27427 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-06-15 20:07 UTC by Mike Kaplinskiy
Modified: 2013-07-19 19:54 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
wine +d3d,+d3d_shader log (part 1) (546.19 KB, application/x-bzip)
2009-10-11 17:33 UTC, Mike Kaplinskiy
Details
wine +d3d,+d3d_shader log (part 2) (562.26 KB, application/x-bzip)
2009-10-11 17:34 UTC, Mike Kaplinskiy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Kaplinskiy 2009-06-15 20:07:13 UTC
I am trying to run Free Realms on i915 hardware through wine git on Kubuntu Karmic. I tried both with the native driver (Mesa 7.4.1) as well as with mesa trunk. I also have KMS enabled, but I don't think this matters.

Reproducing is free, but requires compiling wine due to an unimplemented feature as well as signing up for the game. Instructions are at http://appdb.winehq.org/objectManager.php?sClass=version&iId=16470 .

I am not so much interested in running this game, as I am interested in why intel drivers would crash. I'm not exactly sure what you need, but I can get a +opengl wine log if you'd like. I also know that this game uses s3 texture compression, which I had to enable, but I don't know if that would be causing it.

I have also tried running it under the gallium driver, but due to lack of s3tc support for my driver, I can't really test it.

00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller [8086:27a2] (rev 03)
Comment 1 Eric Anholt 2009-10-09 13:44:57 UTC
OK, I've tried a couple of times to get this installed, and it just doesn't seem worth it at this point.

Things may be in better shape for you if you try Mesa master, as I've fixed some bugs that would result in errors like this, but until it can install cleanly I don't think I can help directly.
Comment 2 Mike Kaplinskiy 2009-10-11 17:33:44 UTC
Created attachment 30275 [details]
wine +d3d,+d3d_shader log (part 1)

Now it happens less often (ie whenever the loading screen doesn't show up), but happens nonetheless. When it does work there are a ton of GL_INVALID_FRAMEBUFFER_OPERATION errors (relating to glBindProgram) and the in-game rendering is mirrored (vertically and horizontally, but not the menus). From the d3d/shader log it seems to happen when binding a pixel shader, but since I don't even know what a pixel shader is, I can't be that much help. Had to break it up into 2 parts.

Evidently installing got a lot easier lately. With 1.1.31 it is almost painless (assuming a clean prefix - easier to just start with export WINEPREFIX="$HOME/.wine_frdebug")

wget http://www.kegel.com/wine/winetricks
sh winetricks firefox3 flash d3dx9 vcrun2005 vcrun2005sp1 fontsmooth-rgb
# go through a bunch of setups and eulas...
wine 'C:\Program Files\Mozilla Firefox\firefox.exe'
# go to freerealms.com, sign up & install plugin - firefox sometimes misbehaves and doesn't restart properly - kill it and just start it again
wine 'C:\Program Files\Mozilla Firefox\firefox.exe' 'www.freerealms.com'
# log in, click play now

Hope that helps.
Comment 3 Mike Kaplinskiy 2009-10-11 17:34:10 UTC
Created attachment 30276 [details]
wine +d3d,+d3d_shader log (part 2)
Comment 4 Eric Anholt 2009-10-19 13:57:50 UTC
Don't see what in those logs was the failure.

And yes, those instructions were what I was following when I tried to install the game.  It was the "log in, play now" step that was complete failure.
Comment 5 Mike Kaplinskiy 2009-10-20 16:43:38 UTC
The tail of the log has:

d Games\Free Realms\FreeRealms.exe: i915_fragprog.c:1144: i915BindProgram: Assertion `p->on_hardware == 0' failed.

followed by winedbg being unable to parse symbols:
fixme:dbghelp_dwarf:compute_location Unhandled attr op: 32
fixme:dbghelp_dwarf:dwarf2_fill_attr Unhandled 64bits support
fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported form for const value secs_1601_to_1970 (7)

As for reproducing - once you have an account, go to www.freerealms.com (from the wine firefox), click existing players and log in. You will see something like http://media.curse.com/CommunityServer.Components.PostAttachments/00/00/45/21/10/femcharcreation.jpg , but instead of the play now you may have a downloading spinner. If not, it will probably ask you to install the firefox addon. After that you have to wait for it to download the game (60mb) files (it's pretty slow). After that play now should pop up instead of the spinner. Hope that helps.
Comment 6 Bernhard Rosenkraenzer 2009-11-03 12:47:20 UTC
FWIW the same assertion error happens when trying to run Command&Conquer in wine with current Mesa 7.6 branch with a 82Q35
Comment 7 Chris Wilson 2010-07-17 13:56:35 UTC
*** Bug 27427 has been marked as a duplicate of this bug. ***
Comment 8 Gordon Schumacher 2011-03-23 09:58:00 UTC
I have managed to trigger this same assertion in a Qt-based OpenGL application, so either the bug is in the i915 driver, or Qt has the same bug as Wine.

What information can I provide?
Comment 9 Eric Anholt 2011-07-20 12:29:37 UTC
We need instructions for how to successfully reproduce the failure.
Comment 10 jon lee 2013-07-19 19:54:40 UTC
I received this error with mixxx after upgrading to the latest Mesa.
[code]
mixxx: i915_fragprog.c:1225: i915BindProgram: Assertion `p->on_hardware == 0' failed.
Aborted
[/code]

A downgrade to MesaLib-6.5.2.tar.bz2 fixed it for me.
Apparently it is a bug with the intel 915/945 chipset DRI.