Summary: | webkit_unit_tests crashing on chromium lion in CCLayerTreeHostTestCompositeAndReadbackWhileInvisible | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Dirk Pranke <dpranke> | ||||
Component: | Tools / Tests | Assignee: | James Robinson <jamesr> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | cc-bugs, danakj, enne, mmocny, nduca, shawnsingh, webkit.review.bot | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Dirk Pranke
2012-03-27 14:44:01 PDT
Interesting! Its almost as if the code to create a graphics context from a mock started creating real WGC3D contexts instead of just using the passed in mocks.... See this http://build.chromium.org/p/tryserver.chromium/builders/mac_rel/builds/13411/steps/webkit_unit_tests/logs/stdio This test is failing an ASSERT() in HashSet<WebGLId> since the default traits for numeric types disallow 0 as a value and we're calling bindTexture(0) which is: virtual void bindTexture(WGC3Denum /* target */, WebGLId texture) { m_usedTextures.add(texture); } I'm not sure why this doesn't fail on the bots. Simple fix is to use different traits for this set, or use a different data type (performance here isn't critical). Created attachment 134187 [details]
Patch
This happens only on lion because of the following workaround code in LayerRendererChromium: http://trac.webkit.org/browser/trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp#L1140 The postamble to this clean does this: 1180 if (doWorkaround) { 1181 // Clean up. 1182 GLC(context, context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0)); 1183 GLC(context, context->bindTexture(GraphicsContext3D::TEXTURE_2D, 0)); 1184 GLC(context, context->deleteFramebuffer(temporaryFBO)); 1185 GLC(context, context->deleteTexture(temporaryTexture)); 1186 } the bindTexture(..., 0) call is what's dying. This appears to just be cleanup code to make sure the FBO and texture released, but binding texture ID 0 is a pretty valid thing to do. Comment on attachment 134187 [details]
Patch
R=me. Thanks for fixing these Lion tests.
Comment on attachment 134187 [details] Patch Clearing flags on attachment: 134187 Committed r112356: <http://trac.webkit.org/changeset/112356> All reviewed patches have been landed. Closing bug. |