Closed Bug 570474 Opened 15 years ago Closed 15 years ago

WebGL on Intel 4500MHD doesn't works with Firefox 3.7a5 but works with 3.7a4

Categories

(Core :: Graphics: CanvasWebGL, defect)

x86
Windows Vista
defect
Not set
major

Tracking

()

RESOLVED WORKSFORME
Tracking Status
blocking2.0 --- betaN+

People

(Reporter: me, Assigned: bjacob)

References

Details

(Keywords: regression)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.1 (KHTML, like Gecko) Chrome/6.0.423.0 Safari/534.1 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.3a5pre) Gecko/20100603 Minefield/3.7a5pre WebGL works in the 3.7a4 version just fine. However, in 3.7a5 I get the "Unable to initialize WebGL" error message box. This is on a Dell Latitude E5400 laptop, which has an Intel 4500MHD graphics card. The card is supposed to support OpenGL 2.1 and I am using the latest drivers from Intel. Reproducible: Always
In 3.7a4 Firefox is able to create a native Pbuffer, but in 3.7a5 it is unable to create one. The error message is - "Canvas 3D: can't get a native PBuffer, trying OSMesa...".
Component: General → Canvas: WebGL
Product: Firefox → Core
QA Contact: general → canvas.webgl
Version: unspecified → Trunk
blocking2.0: --- → ?
If you have the time finding the exact date of the break would be helpful for this bug. ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/
We have been able to narrow down the bug to between these releases ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-05-14-04-mozilla-central/firefox-3.7a5pre.en-US.win32.zip ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-05-26-03-mozilla-central/firefox-3.7a5pre.en-US.win32.zip That is between 14 May and 26 May releases. WebGL works on the 14 May release of Firefox 3.7a5 but fails to create the PBuffer on the 26 May release. One visible change I could see was the use of the 'Aero' effect in the menu and toolbar of the 26 May release, which is not present in the 14 May release. I will try to narrow it down further. I can also do a diff on the code and try to figure out the exact problem. Can you tell us from where to pull the source for these releases?
Narrowed it down a little bit more. It doesn't work in the 21 May release: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-05-21-03-mozilla-central/firefox-3.7a5pre.en-US.win32.zip In the 18 May release it crashes while opening a WebGL page, while opening the page: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-05-18-03-mozilla-central/firefox-3.7a5pre.en-US.win32.zip
Narrowed it down to as far as was possible. WebGL works on the 17 May release: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-05-17-03-mozilla-central/firefox-3.7a5pre.en-US.win32.zip WebGL crashes on the 18 May release: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-05-18-03-mozilla-central/firefox-3.7a5pre.en-US.win32.zip 19 May and 20 May releases don't have a Win32 version. WebGL doesn't work (PBuffer creation fails) on the 21 May build: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-05-21-03-mozilla-central/firefox-3.7a5pre.en-US.win32.zip I can investigate this further if I can get the source. Is the source of the nightly builds publicly available?
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=9a2775320ec0&tochange=b62ac40565f2 From looking at the changesets, bug 561168 - convert Canvas to use Layers for rendering seems suspect. (In reply to comment #5) >"I can investigate this further if I can get the source. Is the source of the nightly builds publicly available?" If you have a Mozilla build environment[1] checkout http://hg.mozilla.org/mozilla-central/ enable the Mercurial bisect extension[2]. Mark 9a2775320ec0 as a good changeset and b62ac40565f2 as a bad chageset. Build Firefox, test, mark the chageset you built off of as good or bad, then repeat. It is a lot of work and with a good suspect bug, likely not needed. [1] https://developer.mozilla.org/En/Developer_Guide/Build_Instructions [2] http://mercurial.selenic.com/wiki/BisectExtension
Status: UNCONFIRMED → NEW
Ever confirmed: true
Blocks: 561168
Keywords: regression
Can you please retry now? Also, here's another thing that you can do to help fix the bug if it still exists: set a breakpoint on the first line of the WGL version of GLContextProvider::CreatePBuffer(), for example with my current revision it is: GLContextProviderWGL.cpp:334 then go to a WebGL page, normally it hits this breakpoint, now step to see where things are going wrong.
Also, not sure exactly how it goes on windows, but if you can see the console output, you might see useful info there about why it's failing to create a pbuffer.
I tried with the latest build http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-06-16-03-mozilla-central/firefox-3.7a6pre.en-US.win32.zip, however the problem persists. Also I don't have a clue as to how to view the console output on Windows. Can I make Firefox log the output to some file? I will check out and try debugging the code today.
I have no idea how to get console output from the nightly builds, sorry. In the worst case, since your hardware and software setup is very common, you can trust that your problem will be fixed at some point during the beta cycle... ;-)
(In reply to comment #10) > In the worst case, since your hardware and software setup is very common, you > can trust that your problem will be fixed at some point during the beta > cycle... ;-) That's what I am banking on :) Still, I will try to debug the code when I get time.
https://developer.mozilla.org/en/How_to_get_a_stacktrace_with_WinDbg For setting the breakpoint windbg has a bp command. Use your favorite search engine to lookup 'windug breakpoint'.
The investigation of why this broke definitely blocks WebGL being turned on by default; whether this particular bug should block remains to be seen.
Assignee: nobody → bjacob
blocking2.0: ? → betaN+
Come on, why should it be a webgl blocker? - we didn't get a backtrace for the above-mentioned crash - the issue reported here is about pbuffers, not webgl (perhaps the bug should be renamed). - it was reported 6 weeks ago and a lot has changed in this area since then. To begin with, we can now use FBOs if pbuffers fail.
(In reply to comment #9) > I tried with the latest build > http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-06-16-03-mozilla-central/firefox-3.7a6pre.en-US.win32.zip, > however the problem persists. Does it still persist?
(In reply to comment #14) > Come on, why should it be a webgl blocker? > - we didn't get a backtrace for the above-mentioned crash > - the issue reported here is about pbuffers, not webgl (perhaps the bug should > be renamed). > - it was reported 6 weeks ago and a lot has changed in this area since then. > To begin with, we can now use FBOs if pbuffers fail. Well then, it probably doesn't persist and we can close this as worksforme!
It would be nice to have a little confirmation from the OP; especially as this would be a nice test for the case where pbuffers fail and we fall back to FBOs.
WebGL is working on the Intel x4500 card with the latest firefox builds - http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2010-07-20-11-mozilla-central/firefox-4.0b2pre.en-US.win32.zip Thanks guys! I really appreciate everyone's effort in getting this fixed.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Hooray! Thanks for your patience and testing, Tathagata!
Resolution: FIXED → WORKSFORME
You need to log in before you can comment on or make changes to this bug.