Bug 43047 - state_tracker/st_cb_fbo.c:149:st_renderbuffer_alloc_storage: Assertion `strb->surface->width == width' failed.
Summary: state_tracker/st_cb_fbo.c:149:st_renderbuffer_alloc_storage: Assertion `strb-...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: Brian Paul
QA Contact:
URL:
Whiteboard:
Keywords:
: 43048 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-11-17 14:48 UTC by Vinson Lee
Modified: 2011-11-28 17:12 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
don't try to allocate zero-sized surface in st_renderbuffer_alloc_storage() (612 bytes, application/pgp-keys)
2011-11-17 16:06 UTC, Brian Paul
Details

Description Vinson Lee 2011-11-17 14:48:05 UTC
mesa: 08b288be8e3ac7f2781104bf3ca6557731bcd534 (master)

Use softpipe.
Open Firefox.
Go to WebGL Conformance Tests.
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html
Run renderbuffers test.

state_tracker/st_cb_fbo.c:149:st_renderbuffer_alloc_storage: Assertion `strb->surface->width == width' failed.

(gdb) bt
#0  0x0e9b4ea3 in _debug_assert_fail (expr=0xea65a4a "strb->surface->width == width", file=0xea659df "state_tracker/st_cb_fbo.c", 
    line=149, function=0xea65e24 "st_renderbuffer_alloc_storage") at util/u_debug.c:282
#1  0x0e80bbe5 in st_renderbuffer_alloc_storage (ctx=0x6c2ea000, rb=0x69f1e270, internalFormat=32856, width=0, height=0)
    at state_tracker/st_cb_fbo.c:149
#2  0x0e78a71c in renderbuffer_storage (target=36161, internalFormat=32856, width=0, height=0, samples=0) at main/fbobject.c:1414
#3  0x0e78ac3d in _mesa_RenderbufferStorageEXT (target=36161, internalFormat=32856, width=0, height=0) at main/fbobject.c:1539
#4  0x0153c83e in fRenderbufferStorage (height=0, width=0, internalFormat=32856, target=36161, this=<optimized out>)
    at ../../../dist/include/GLContext.h:2072
#5  mozilla::WebGLContext::RenderbufferStorage (this=0x68688aa0, target=36161, internalformat=32854, width=0, height=0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/content/canvas/src/WebGLContextGL.cpp:3294
#6  0x018ff0f0 in nsIDOMWebGLRenderingContext_RenderbufferStorage (cx=0xad3274f0, argc=4, vp=0xb24fe058)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/obj-i686-linux-gnu/js/src/xpconnect/src/dom_quickstubs.cpp:32976
#7  0x01f684fd in CallJSNative (args=..., native=<optimized out>, cx=0xad3274f0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/js/src/jscntxtinlines.h:296
#8  js::InvokeKernel (cx=0xad3274f0, argsRef=..., construct=js::NO_CONSTRUCT)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/js/src/jsinterp.cpp:660
#9  0x01f55f7a in js::Interpret (cx=0xad3274f0, entryFrame=0xb24fe020, interpMode=js::JSINTERP_NORMAL)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/js/src/jsinterp.cpp:4036
#10 0x01f691d5 in ExecuteKernel (result=0x0, thisv=..., scopeChain=<optimized out>, script=0xb225f358, cx=0xad3274f0, 
    type=<optimized out>, evalInFrame=<optimized out>)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/js/src/jsinterp.cpp:814
#11 js::Execute (cx=0xad3274f0, script=0xb225f358, scopeChainArg=..., rval=0x0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/js/src/jsinterp.cpp:853
#12 0x01ec3f86 in EvaluateUCScriptForPrincipalsCommon (compileVersion=JSVERSION_DEFAULT, rval=0x0, lineno=19, 
    filename=0x695937d8 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/renderbuffers/framebuffer-object-attachment.html", length=18634, chars=0x6b8f6008, principals=0x6868e604, obj=0xa67d0040, cx=0xad3274f0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/js/src/jsapi.cpp:4933
#13 JS_EvaluateUCScriptForPrincipalsVersion (cx=0xad3274f0, obj=0xa67d0040, principals=0x6868e604, chars=0x6b8f6008, length=18634, 
    filename=0x695937d8 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/renderbuffers/framebuffer-object-attachment.html", lineno=19, rval=0x0, version=JSVERSION_DEFAULT)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/js/src/jsapi.cpp:4945
#14 0x01658f42 in EvaluateString (aIsUndefined=0xbfc248d4, aRetValue=0x0, aVersion=0, aLineNo=19, 
    aURL=0x695937d8 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/renderbuffers/framebuffer-object-attachment.html", aPrincipal=0x6868e600, aScopeObject=0xa67d0040, aScript=..., this=0xa5ed9bc0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/dom/base/nsJSEnvironment.cpp:1476
#15 nsJSContext::EvaluateString (this=0xa5ed9bc0, aScript=..., aScopeObject=0xa67d0040, aPrincipal=0x6868e600, 
    aURL=0x695937d8 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/renderbuffers/framebuffer-object-attachment.html", aLineNo=19, aVersion=0, aRetValue=0x0, aIsUndefined=0xbfc248d4)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/dom/base/nsJSEnvironment.cpp:1373
#16 0x01501b15 in nsScriptLoader::EvaluateScript (this=0x6860acc0, aRequest=0x695b0e80, aScript=...)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/content/base/src/nsScriptLoader.cpp:906
#17 0x0150268e in nsScriptLoader::ProcessRequest (this=0x6860acc0, aRequest=0x695b0e80)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/content/base/src/nsScriptLoader.cpp:799
#18 0x015039fb in nsScriptLoader::ProcessScriptElement (this=0x6860acc0, aElement=0x69a6dc20)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/content/base/src/nsScriptLoader.cpp:745
#19 0x01500b47 in nsScriptElement::MaybeProcessScript (this=0x69a6dc20)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/content/base/src/nsScriptElement.cpp:182
#20 0x015b8206 in nsHTMLScriptElement::MaybeProcessScript (this=0x69a6dbe0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/content/html/content/src/nsHTMLScriptElement.cpp:333
#21 0x015b8f00 in nsHTMLScriptElement::DoneAddingChildren (this=0x69a6dbe0, aHaveNotified=1)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/content/html/content/src/nsHTMLScriptElement.cpp:260
#22 0x0173aafb in nsHtml5TreeOpExecutor::RunScript (this=0x6954c8a0, aScriptElement=0x69a6dbe0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/parser/html/nsHtml5TreeOpExecutor.cpp:736
#23 0x0173b8e9 in nsHtml5TreeOpExecutor::RunFlushLoop (this=0x6954c8a0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/parser/html/nsHtml5TreeOpExecutor.cpp:531
#24 0x0173b942 in nsHtml5ExecutorReflusher::Run (this=0x695877f0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/parser/html/nsHtml5TreeOpExecutor.cpp:94
#25 0x01d08fae in nsThread::ProcessNextEvent (this=0xb757f9a0, mayWait=0, result=0xbfc250dc)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/xpcom/threads/nsThread.cpp:631
#26 0x01cd79d4 in NS_ProcessNextEvent_P (thread=<optimized out>, mayWait=0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/obj-i686-linux-gnu/xpcom/build/nsThreadUtils.cpp:245
#27 0x01bf630a in mozilla::ipc::MessagePump::Run (this=0xb7105370, aDelegate=0xb754d900)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/ipc/glue/MessagePump.cpp:110
#28 0x01d2b438 in MessageLoop::RunInternal (this=0xb754d900)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/ipc/chromium/src/base/message_loop.cc:208
#29 0x01d2b560 in RunHandler (this=0xb754d900)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/ipc/chromium/src/base/message_loop.cc:201
#30 MessageLoop::Run (this=0xb754d900)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/ipc/chromium/src/base/message_loop.cc:175
#31 0x01b4596e in nsBaseAppShell::Run (this=0xb53dc0b0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:189
#32 0x019f3181 in nsAppStartup::Run (this=0xb53de4f0)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/toolkit/components/startup/nsAppStartup.cpp:228
#33 0x011b6395 in XRE_main (argc=1, argv=0xbfc27974, aAppData=0xb7516800)
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/toolkit/xre/nsAppRunner.cpp:3557
#34 0x001e88ff in do_main (argv=0xbfc27974, argc=1, exePath=0xbfc258bc "/usr/lib/firefox-9.0/libxpcom.so")
    at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/browser/app/nsBrowserApp.cpp:198
#35 main (argc=1, argv=0xbfc27974) at /build/buildd/firefox-9.0~b1+build1/build-tree/mozilla/browser/app/nsBrowserApp.cpp:281
(gdb) frame 1
#1  0x0e80bbe5 in st_renderbuffer_alloc_storage (ctx=0x6c2ea000, rb=0x69f1e270, internalFormat=32856, width=0, height=0)
    at state_tracker/st_cb_fbo.c:149
149	         assert(strb->surface->width == width);
(gdb) print strb->surface->width
$1 = 1
(gdb) print width
$2 = 0
Comment 1 Brian Paul 2011-11-17 16:06:01 UTC
Created attachment 53637 [details]
don't try to allocate zero-sized surface in st_renderbuffer_alloc_storage()

Can you try this patch, Vinson?  It fixed a test program that I hacked up. Haven't tested with WebGL though.

BTW, I think bug 43048 is basically the same as this one.
Comment 2 Vinson Lee 2011-11-28 16:32:25 UTC
(In reply to comment #1)
> Created attachment 53637 [details]
> don't try to allocate zero-sized surface in st_renderbuffer_alloc_storage()
> 
> Can you try this patch, Vinson?  It fixed a test program that I hacked up.
> Haven't tested with WebGL though.
> 
> BTW, I think bug 43048 is basically the same as this one.

Patch 53673 fixes the crash for both this bug and bug 43048.

Tested-by: Vinson Lee <vlee@vmware.com>
Comment 3 Brian Paul 2011-11-28 17:11:25 UTC
Patch applied in commit 68564726898308c9fd7ac63169bfc2e2012d6fe3.
Comment 4 Brian Paul 2011-11-28 17:12:05 UTC
*** Bug 43048 has been marked as a duplicate of this bug. ***


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.