Bug 32309 - [softpipe] SIGSEGV sp_state_derived.c:204
Summary: [softpipe] SIGSEGV sp_state_derived.c:204
Status: RESOLVED WORKSFORME
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: Brian Paul
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-10 19:02 UTC by Vinson Lee
Modified: 2012-11-02 13:34 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Vinson Lee 2010-12-10 19:02:13 UTC
mesa: 783e7caadf945f176cb297b8791769e2855fc9ef (master)

Go to WebGL Conformance Test Runner at
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/webgl-conformance-tests.html.

Click 'run tests'. softpipe will crash before all the tests run. It does not crash at the same test every time.


(gdb) bt
#0  0x04698dd3 in update_tgsi_samplers (softpipe=0x913bd000) at sp_state_derived.c:232
#1  0x04698ea1 in softpipe_update_derived (softpipe=0x913bd000) at sp_state_derived.c:262
#2  0x04689bdb in softpipe_draw_vbo (pipe=0x913bd000, info=0xbfab77e4) at sp_draw_arrays.c:125
#3  0x048edb6b in util_draw_arrays (pipe=0x913bd000, mode=6, start=0, count=4) at ./util/u_draw.h:58
#4  0x048edc29 in util_draw_vertex_buffer (pipe=0x913bd000, vbuf=0xaa37fbc0, offset=0, prim_type=6, num_verts=4, num_attribs=2) at util/u_draw_quad.c:63
#5  0x0486a3ce in draw_quad (st=0x913dd000, x0=-1, y0=-1, x1=0, y1=0, z=1, color=0x6a3d9d0c) at state_tracker/st_cb_clear.c:175
#6  0x0486a957 in clear_with_quad (ctx=0x6a3d9000, color=1 '\001', depth=0 '\000', stencil=0 '\000') at state_tracker/st_cb_clear.c:299
#7  0x0486b041 in st_Clear (ctx=0x6a3d9000, mask=256) at state_tracker/st_cb_clear.c:534
#8  0x048081b0 in _mesa_Clear (mask=16384) at main/clear.c:241
#9  0x014d3182 in fClear (this=0x69b06380, mask=16384) at ../../../dist/include/GLContext.h:1068
#10 mozilla::WebGLContext::Clear (this=0x69b06380, mask=16384) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/content/canvas/src/WebGLContextGL.cpp:535
#11 0x0187036c in nsICanvasRenderingContextWebGL_Clear (cx=0xaa46d530, argc=1, vp=0xb36fd060) at dom_quickstubs.cpp:28328
#12 0x01f0094e in CallJSNative (this=0xbfab7f2c) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/jscntxtinlines.h:684
#13 CallCompiler::generateNativeStub (this=0xbfab7f2c) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/methodjit/MonoIC.cpp:627
#14 0x01ef70ec in js::mjit::ic::NativeCall (f=<value optimized out>, ic=0x767abab0)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/methodjit/MonoIC.cpp:851
#15 0x07d7d411 in ?? ()
#16 0x01ea702f in EnterMethodJIT (cx=0xaa46d530) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/methodjit/MethodJIT.cpp:739
#17 CheckStackAndEnterMethodJIT (cx=0xaa46d530) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/methodjit/MethodJIT.cpp:764
#18 js::mjit::JaegerShot (cx=0xaa46d530) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/methodjit/MethodJIT.cpp:781
#19 0x01d6882f in RunScript (cx=0xaa46d530, chain=0xb2898eb0, script=0x119f4000, prev=0x0, flags=0, result=0x0)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/jsinterp.cpp:662
#20 js::Execute (cx=0xaa46d530, chain=0xb2898eb0, script=0x119f4000, prev=0x0, flags=0, result=0x0)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/jsinterp.cpp:1008
#21 0x01cf1c8d in JS_EvaluateUCScriptForPrincipals (cx=0xaa46d530, obj=0xb2898eb0, principals=0x84840bf4, chars=0x37e9c008, length=1090, 
    filename=0x830103e8 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/gl-scissor-test.html", lineno=22, rval=0x0)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/jsapi.cpp:4819
#22 0x01cf2026 in JS_EvaluateUCScriptForPrincipalsVersion (cx=0xaa46d530, obj=0xb2898eb0, principals=0x84840bf4, chars=0x37e9c008, length=1090, 
    filename=0x830103e8 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/gl-scissor-test.html", lineno=22, rval=0x0, 
    version=JSVERSION_DEFAULT) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/js/src/jsapi.cpp:4795
#23 0x015d96af in nsJSContext::EvaluateString (this=0xaa3079c0, aScript=..., aScopeObject=0xb2898eb0, aPrincipal=0x84840bf0, 
    aURL=0x830103e8 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/gl-scissor-test.html", aLineNo=22, aVersion=0, aRetValue=0x0, 
    aIsUndefined=0xbfab8224) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/dom/base/nsJSEnvironment.cpp:1731
#24 0x0149e4f5 in nsScriptLoader::EvaluateScript (this=0x8295cec0, aRequest=0xb1a510d0, aScript=...)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/content/base/src/nsScriptLoader.cpp:845
#25 0x0149e7af in nsScriptLoader::ProcessRequest (this=0x8295cec0, aRequest=0xb1a510d0)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/content/base/src/nsScriptLoader.cpp:748
#26 0x014a02a7 in nsScriptLoader::ProcessScriptElement (this=0x8295cec0, aElement=0x82b4b854)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/content/base/src/nsScriptLoader.cpp:700
#27 0x0149d875 in nsScriptElement::MaybeProcessScript (this=0x82b4b854)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/content/base/src/nsScriptElement.cpp:197
#28 0x0153b708 in nsHTMLScriptElement::MaybeProcessScript (this=0x82b4b820)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/content/html/content/src/nsHTMLScriptElement.cpp:551
#29 0x0153af67 in nsHTMLScriptElement::DoneAddingChildren (this=0x82b4b820, aHaveNotified=1)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/content/html/content/src/nsHTMLScriptElement.cpp:480
#30 0x016a8ffb in nsHtml5TreeOpExecutor::RunScript (this=0x76a183f0, aScriptElement=0x82b4b820)

    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/parser/html/nsHtml5TreeOpExecutor.cpp:730
#31 0x016a9a37 in nsHtml5TreeOpExecutor::RunFlushLoop (this=0x76a183f0)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/parser/html/nsHtml5TreeOpExecutor.cpp:525
#32 0x016a9c75 in nsHtml5ExecutorReflusher::Run (this=0x5d1d060) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/parser/html/nsHtml5TreeOpExecutor.cpp:90
#33 0x01c0554d in nsThread::ProcessNextEvent (this=0xb74db9c0, mayWait=0, result=0xbfab8a8c)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/xpcom/threads/nsThread.cpp:609
#34 0x01bd084e in NS_ProcessNextEvent_P (thread=<value optimized out>, mayWait=0) at nsThreadUtils.cpp:250
#35 0x01b1ae7b in mozilla::ipc::MessagePump::Run (this=0xb74d5910, aDelegate=0xb74216e0)
    at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/ipc/glue/MessagePump.cpp:110
#36 0x01c370fc in MessageLoop::RunInternal (this=0xb74216e0) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/ipc/chromium/src/base/message_loop.cc:219
#37 0x01c37160 in RunHandler (this=0xb74216e0) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/ipc/chromium/src/base/message_loop.cc:202
#38 MessageLoop::Run (this=0xb74216e0) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/ipc/chromium/src/base/message_loop.cc:176
#39 0x01a74c1b in nsBaseAppShell::Run (this=0xb35d3560) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:181
#40 0x0193e5f2 in nsAppStartup::Run (this=0xb3476d60) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/toolkit/components/startup/src/nsAppStartup.cpp:191
#41 0x011c6a18 in XRE_main (argc=1, argv=0xbfab9254, aAppData=0xb740e380) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/toolkit/xre/nsAppRunner.cpp:3682
#42 0x080494c2 in main (argc=1, argv=0xbfab9254) at /build/buildd/firefox-4.0~b7+nobinonly/build-tree/mozilla/browser/app/nsBrowserApp.cpp:158

(gdb) frame 0
#0  0x04698dd3 in update_tgsi_samplers (softpipe=0x913bd000) at sp_state_derived.c:232
232	      if (tc->texture) {
(gdb) print tc
$4 = (struct softpipe_tex_tile_cache *) 0x0
Comment 1 Vinson Lee 2011-01-13 16:14:43 UTC
mesa: a2ab929ab2d7dd4fcbbc5f32c8feabf42cad4d34 (master)

The crash still occurs with Firefox 4.0 Beta 9.

(gdb) bt
#0  0x02e80ac3 in update_tgsi_samplers (softpipe=0xdc74000) at sp_state_derived.c:204
#1  0x02e80c6d in softpipe_update_derived (softpipe=0xdc74000) at sp_state_derived.c:262
#2  0x02e71983 in softpipe_draw_vbo (pipe=0xdc74000, info=0xbfd7a084) at sp_draw_arrays.c:125
#3  0x02f56e24 in st_draw_vbo (ctx=0x93e3000, arrays=0x90df350, prims=0xbfd7a11c, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0, max_index=2)
    at state_tracker/st_draw.c:733
#4  0x03037822 in vbo_draw_arrays (ctx=0x93e3000, mode=4, start=0, count=3, numInstances=1) at vbo/vbo_exec_array.c:588
#5  0x03037979 in vbo_exec_DrawArrays (mode=4, start=0, count=3) at vbo/vbo_exec_array.c:619
#6  0x01141646 in fDrawArrays (this=0xb2a4b360, mode=4, first=0, count=3) at ../../../dist/include/GLContext.h:1279
#7  mozilla::WebGLContext::DrawArrays (this=0xb2a4b360, mode=4, first=0, count=3)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/content/canvas/src/WebGLContextGL.cpp:1245
#8  0x014e7c40 in nsIDOMWebGLRenderingContext_DrawArrays (cx=0xaa3d78a0, argc=3, vp=0xb2cfe140) at dom_quickstubs.cpp:29010
#9  0x01b9777f in CallJSNative (this=0xbfd7a730) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/jscntxtinlines.h:692
#10 CallCompiler::generateNativeStub (this=0xbfd7a730) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/methodjit/MonoIC.cpp:691
#11 0x01b90eef in js::mjit::ic::NativeCall (f=..., ic=<value optimized out>)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/methodjit/MonoIC.cpp:898
#12 0x039ce8cc in ?? ()
#13 0x01b3a5fc in EnterMethodJIT (cx=0xaa3d78a0) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/methodjit/MethodJIT.cpp:748
#14 CheckStackAndEnterMethodJIT (cx=0xaa3d78a0) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/methodjit/MethodJIT.cpp:774
#15 js::mjit::JaegerShot (cx=0xaa3d78a0) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/methodjit/MethodJIT.cpp:791
#16 0x01a00aaf in RunScript (cx=0xaa3d78a0, chain=0xb2339c30, script=0xb24ea240, prev=0xb2cfe088, flags=8, result=0xb2cfe0c8)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/jsinterp.cpp:654
#17 js::Execute (cx=0xaa3d78a0, chain=0xb2339c30, script=0xb24ea240, prev=0xb2cfe088, flags=8, result=0xb2cfe0c8)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/jsinterp.cpp:1023
#18 0x01a1b50d in js::EvalKernel (cx=0xaa3d78a0, argc=1, vp=0xb2cfe0c8, evalType=js::DIRECT_EVAL, caller=0xb2cfe088, scopeobj=0xb2339c30)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/jsobj.cpp:1266
#19 0x01a026dc in js::DirectEval (cx=0xaa3d78a0, evalfun=0xb23750f0, argc=1, vp=0xb2cfe0c8)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/jsinterp.cpp:1368
#20 0x01bb2bf7 in js::mjit::stubs::Eval (f=<value optimized out>, argc=<value optimized out>)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/methodjit/InvokeHelpers.cpp:447
#21 0x03fc35a8 in ?? ()
#22 0x01b3a5fc in EnterMethodJIT (cx=0xaa3d78a0) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/methodjit/MethodJIT.cpp:748
#23 CheckStackAndEnterMethodJIT (cx=0xaa3d78a0) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/methodjit/MethodJIT.cpp:774
#24 js::mjit::JaegerShot (cx=0xaa3d78a0) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/methodjit/MethodJIT.cpp:791
#25 0x01a00aaf in RunScript (cx=0xaa3d78a0, chain=0xb23681e0, script=0xdc61000, prev=0x0, flags=0, result=0x0)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/jsinterp.cpp:654
#26 js::Execute (cx=0xaa3d78a0, chain=0xb23681e0, script=0xdc61000, prev=0x0, flags=0, result=0x0)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/jsinterp.cpp:1023
#27 0x01989a75 in JS_EvaluateUCScriptForPrincipals (cx=0xaa3d78a0, obj=0xb23681e0, principals=0x7d2389c4, chars=0xdc69008, length=5632, 
    filename=0xdbff248 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/draw-arrays-out-of-bounds.html", lineno=35, 
    rval=0x0) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/jsapi.cpp:4920
#28 0x01989fa2 in JS_EvaluateUCScriptForPrincipalsVersion (cx=0xaa3d78a0, obj=0xb23681e0, principals=0x7d2389c4, chars=0xdc69008, length=5632, 
    filename=0xdbff248 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/draw-arrays-out-of-bounds.html", lineno=35, 
    rval=0x0, version=JSVERSION_DEFAULT) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/js/src/jsapi.cpp:4896
#29 0x01241005 in nsJSContext::EvaluateString (this=0xa8f6c9c0, aScript=..., aScopeObject=0xb23681e0, aPrincipal=0x7d2389c0, 
    aURL=0xdbff248 "https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/draw-arrays-out-of-bounds.html", aLineNo=35, 
    aVersion=0, aRetValue=0x0, aIsUndefined=0xbfd7ac84)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/dom/base/nsJSEnvironment.cpp:1734
#30 0x01101d78 in nsScriptLoader::EvaluateScript (this=0x1a4db280, aRequest=0xb207c190, aScript=...)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/content/base/src/nsScriptLoader.cpp:890
#31 0x0110203f in nsScriptLoader::ProcessRequest (this=0x1a4db280, aRequest=0xb207c190)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/content/base/src/nsScriptLoader.cpp:783
#32 0x01103ce5 in nsScriptLoader::ProcessScriptElement (this=0x1a4db280, aElement=0x64938a34)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/content/base/src/nsScriptLoader.cpp:729
#33 0x0110105a in nsScriptElement::MaybeProcessScript (this=0x64938a34)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/content/base/src/nsScriptElement.cpp:180
#34 0x011a2206 in nsHTMLScriptElement::MaybeProcessScript (this=0x64938a00)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/content/html/content/src/nsHTMLScriptElement.cpp:583
#35 0x011a19cf in nsHTMLScriptElement::DoneAddingChildren (this=0x64938a00, aHaveNotified=1)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/content/html/content/src/nsHTMLScriptElement.cpp:510
#36 0x013142aa in nsHtml5TreeOpExecutor::RunScript (this=0xa2e1bf10, aScriptElement=0x64938a00)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/parser/html/nsHtml5TreeOpExecutor.cpp:730
#37 0x01314d0b in nsHtml5TreeOpExecutor::RunFlushLoop (this=0xa2e1bf10)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/parser/html/nsHtml5TreeOpExecutor.cpp:525
#38 0x01314f21 in nsHtml5ExecutorReflusher::Run (this=0x7d20f3e0)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/parser/html/nsHtml5TreeOpExecutor.cpp:90
#39 0x01895630 in nsThread::ProcessNextEvent (this=0xb74d0ee0, mayWait=0, result=0xbfd7b51c)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/xpcom/threads/nsThread.cpp:633
#40 0x018607ae in NS_ProcessNextEvent_P (thread=<value optimized out>, mayWait=0) at nsThreadUtils.cpp:250
#41 0x0179985b in mozilla::ipc::MessagePump::Run (this=0xb74dc940, aDelegate=0xb74416e0)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/ipc/glue/MessagePump.cpp:110
#42 0x018c8094 in MessageLoop::RunInternal (this=0xb74416e0)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/ipc/chromium/src/base/message_loop.cc:219
#43 0x018c80f8 in RunHandler (this=0xb74416e0) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/ipc/chromium/src/base/message_loop.cc:202
#44 MessageLoop::Run (this=0xb74416e0) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/ipc/chromium/src/base/message_loop.cc:176
#45 0x016ef353 in nsBaseAppShell::Run (this=0xb2aaf380)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:192
#46 0x015b5bae in nsAppStartup::Run (this=0xb2ad04c0)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/toolkit/components/startup/src/nsAppStartup.cpp:191
#47 0x00e22990 in XRE_main (argc=1, argv=0xbfd7bce4, aAppData=0xb740e380)
    at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/toolkit/xre/nsAppRunner.cpp:3695
#48 0x08049382 in main (argc=1, argv=0xbfd7bce4) at /build/buildd/firefox-4.0~b9+build1+nobinonly/build-tree/mozilla/browser/app/nsBrowserApp.cpp:158
(gdb) frame 0
#0  0x02e80ac3 in update_tgsi_samplers (softpipe=0xdc74000) at sp_state_derived.c:204
204	      if (tc->texture) {
(gdb) print tc
$1 = (struct softpipe_tex_tile_cache *) 0x0
Comment 2 Brian Paul 2011-01-13 17:20:22 UTC
This is weird because we always allocate texture caches for all PIPE_MAX_SAMPLERS and never destroy them until we destroy the context.  So anytime the context is alive, softpipe->tex_cache[i] should be non-null.

Could you also "print *softpipe" at the crash point to see what the rest of the context data looks like?
Comment 3 Vinson Lee 2011-01-13 19:39:40 UTC
(gdb) print softpipe
$2 = (struct softpipe_context *) 0xbcf9000
(gdb) print *softpipe
$3 = {pipe = {winsys = 0x0, screen = 0xa4199dd0, priv = 0x0, draw = 0x885b9000, destroy = 0x56a8e44 <softpipe_destroy>, 
    draw_vbo = 0x56a990e <softpipe_draw_vbo>, draw_stream_output = 0x56a97b6 <softpipe_draw_stream_output>, 
    render_condition = 0x56a9294 <softpipe_render_condition>, create_query = 0x56c38dc <softpipe_create_query>, 
    destroy_query = 0x56c395e <softpipe_destroy_query>, begin_query = 0x56c3981 <softpipe_begin_query>, end_query = 0x56c3a99 <softpipe_end_query>, 
    get_query_result = 0x56c3bb9 <softpipe_get_query_result>, create_blend_state = 0x56b8204 <softpipe_create_blend_state>, 
    bind_blend_state = 0x56b821f <softpipe_bind_blend_state>, delete_blend_state = 0x56b8279 <softpipe_delete_blend_state>, 
    create_sampler_state = 0x56b8f3e <softpipe_create_sampler_state>, bind_fragment_sampler_states = 0x58d1927 <pstip_bind_sampler_states>, 
    bind_vertex_sampler_states = 0x56b90c5 <softpipe_bind_vertex_sampler_states>, 
    bind_geometry_sampler_states = 0x56b9207 <softpipe_bind_geometry_sampler_states>, delete_sampler_state = 0x56b9c78 <softpipe_delete_sampler_state>, 
    create_rasterizer_state = 0x56bac14 <softpipe_create_rasterizer_state>, bind_rasterizer_state = 0x56bac2f <softpipe_bind_rasterizer_state>, 
    delete_rasterizer_state = 0x56baca8 <softpipe_delete_rasterizer_state>, 
    create_depth_stencil_alpha_state = 0x56b8313 <softpipe_create_depth_stencil_state>, 
    bind_depth_stencil_alpha_state = 0x56b832e <softpipe_bind_depth_stencil_state>, 
    delete_depth_stencil_alpha_state = 0x56b8367 <softpipe_delete_depth_stencil_state>, create_fs_state = 0x58d17dd <pstip_create_fs_state>, 
    bind_fs_state = 0x58d1851 <pstip_bind_fs_state>, delete_fs_state = 0x58d18a4 <pstip_delete_fs_state>, 
    create_vs_state = 0x56ba2cc <softpipe_create_vs_state>, bind_vs_state = 0x56ba3a1 <softpipe_bind_vs_state>, 
    delete_vs_state = 0x56ba41f <softpipe_delete_vs_state>, create_gs_state = 0x56ba47e <softpipe_create_gs_state>, 
    bind_gs_state = 0x56ba57d <softpipe_bind_gs_state>, delete_gs_state = 0x56ba5fb <softpipe_delete_gs_state>, 
    create_vertex_elements_state = 0x56bb499 <softpipe_create_vertex_elements_state>, 
    bind_vertex_elements_state = 0x56bb520 <softpipe_bind_vertex_elements_state>, 
    delete_vertex_elements_state = 0x56bb599 <softpipe_delete_vertex_elements_state>, 
    create_stream_output_state = 0x56ba848 <softpipe_create_stream_output_state>, bind_stream_output_state = 0x56ba928 <softpipe_bind_stream_output_state>, 
    delete_stream_output_state = 0x56ba998 <softpipe_delete_stream_output_state>, set_blend_color = 0x56b829c <softpipe_set_blend_color>, 
    set_stencil_ref = 0x56b838a <softpipe_set_stencil_ref>, set_sample_mask = 0x56b83c7 <softpipe_set_sample_mask>, 
    set_clip_state = 0x56b845c <softpipe_set_clip_state>, set_constant_buffer = 0x56ba65a <softpipe_set_constant_buffer>, 
    set_framebuffer_state = 0x56bb02e <softpipe_set_framebuffer_state>, set_polygon_stipple = 0x58d1a6d <pstip_set_polygon_stipple>, 
    set_scissor_state = 0x56b853c <softpipe_set_scissor_state>, set_viewport_state = 0x56b849a <softpipe_set_viewport_state>, 
    set_fragment_sampler_views = 0x58d19bd <pstip_set_sampler_views>, set_vertex_sampler_views = 0x56b9522 <softpipe_set_vertex_sampler_views>, 
    set_geometry_sampler_views = 0x56b9681 <softpipe_set_geometry_sampler_views>, set_vertex_buffers = 0x56bb5bc <softpipe_set_vertex_buffers>, 
    set_index_buffer = 0x56bb674 <softpipe_set_index_buffer>, set_stream_output_buffers = 0x56ba9bb <softpipe_set_stream_output_buffers>, 
    resource_copy_region = 0x593c79e <util_resource_copy_region>, resource_resolve = 0, clear = 0x56c378b <softpipe_clear>, 
    clear_render_target = 0x593caf3 <util_clear_render_target>, clear_depth_stencil = 0x593ccc5 <util_clear_depth_stencil>, 
    flush = 0x56a87d0 <softpipe_flush>, is_resource_referenced = 0x56a9109 <softpipe_is_resource_referenced>, 
    create_sampler_view = 0x56b931e <softpipe_create_sampler_view>, sampler_view_destroy = 0x56b93b5 <softpipe_sampler_view_destroy>, 
    create_surface = 0x56a7ddf <softpipe_create_surface>, surface_destroy = 0x56a7f3e <softpipe_surface_destroy>, 
    get_transfer = 0x56a7fab <softpipe_get_transfer>, transfer_destroy = 0x56a8367 <softpipe_transfer_destroy>, 
    transfer_map = 0x56a839d <softpipe_transfer_map>, transfer_flush_region = 0x593ec85 <u_default_transfer_flush_region>, 
    transfer_unmap = 0x56a8430 <softpipe_transfer_unmap>, transfer_inline_write = 0x593eb34 <u_default_transfer_inline_write>}, blend = 0x8a459430, 
  sampler = {0x0 <repeats 16 times>}, vertex_samplers = {0x0 <repeats 16 times>}, geometry_samplers = {0x0 <repeats 16 times>}, depth_stencil = 0x8a7c22c0, 
  rasterizer = 0x8a7f0620, fs = 0x81e9000, vs = 0x8a7eb780, gs = 0x0, velems = 0xb0fdb400, so = 0x0, blend_color = {color = {0, 0, 0, 0}}, stencil_ref = {
    ref_value = "\000"}, clip = {ucp = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}, nr = 0, depth_clamp = 0}, 
  constants = {{0x247e7f40, 0x0 <repeats 31 times>}, {0x0 <repeats 32 times>}, {0x0 <repeats 32 times>}}, framebuffer = {width = 1, height = 1, 
    nr_cbufs = 1, cbufs = {0x8a459460, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, zsbuf = 0x0}, poly_stipple = {stipple = {4294967295 <repeats 32 times>}}, 
  scissor = {minx = 0, miny = 0, maxx = 1, maxy = 1}, sampler_views = {0x0 <repeats 16 times>}, vertex_sampler_views = {0x0 <repeats 16 times>}, 
  geometry_sampler_views = {0x0 <repeats 16 times>}, viewport = {scale = {0.5, 0.5, 0.5, 1}, translate = {0.5, 0.5, 0.5, 0}}, vertex_buffer = {{
      stride = 12, max_index = 5, buffer_offset = 0, buffer = 0x81ec0c0}, {stride = 4, max_index = 5, buffer_offset = 72, buffer = 0x81ec0c0}, {stride = 0, 
      max_index = 0, buffer_offset = 0, buffer = 0x0} <repeats 30 times>}, index_buffer = {index_size = 0, offset = 0, buffer = 0x0}, so_target = {
    buffer = {0x0, 0x0, 0x0, 0x0}, offset = {0, 0, 0, 0}, so_count = {0, 0, 0, 0}, num_buffers = 0}, so_stats = {num_primitives_written = 0, 
    primitives_storage_needed = 0}, num_samplers = 0, num_sampler_views = 0, num_vertex_samplers = 0, num_vertex_sampler_views = 0, 
  num_geometry_samplers = 0, num_geometry_sampler_views = 0, num_vertex_buffers = 2, dirty = 13295, occlusion_count = 0, active_query_count = 0, 
  mapped_vbuffer = {0x0 <repeats 32 times>}, mapped_constants = {{0xb051d900, 0x0 <repeats 31 times>}, {0x0 <repeats 32 times>}, {0x0 <repeats 32 times>}}, 
  const_buffer_size = {{16, 0 <repeats 31 times>}, {0 <repeats 32 times>}, {0 <repeats 32 times>}}, vertex_info = {num_attribs = 0, hwfmt = {0, 0, 0, 0}, 
    size = 0, attrib = {{interp_mode = 0, emit = 0, src_index = 0} <repeats 32 times>}}, vertex_info_vbuf = {num_attribs = 0, hwfmt = {0, 0, 0, 0}, 
    size = 0, attrib = {{interp_mode = 0, emit = 0, src_index = 0} <repeats 32 times>}}, psize_slot = 0, reduced_api_prim = 4, cull_mode = 0, 
  reduced_prim = 0, cliprect = {minx = 0, miny = 0, maxx = 0, maxy = 0}, line_stipple_counter = 0, render_cond_query = 0x0, render_cond_mode = 0, quad = {
    shade = 0x8a7b9c60, depth_test = 0x8a7b9c80, blend = 0x8a7b9ca0, pstipple = 0x8a7b9cc0, first = 0x0}, tgsi = {geom_samplers_list = {
      0x0 <repeats 16 times>}, vert_samplers_list = {0x0 <repeats 16 times>}, frag_samplers_list = {0x0 <repeats 16 times>}}, fs_machine = 0xb0f01000, 
  draw = 0x885b9000, vbuf_backend = 0x8a544100, vbuf = 0xaa3197c0, dirty_render_cache = 1 '\001', cbuf_cache = {0xbcfa000, 0xbcfd000, 0x88534000, 
    0x88547000, 0x8855a000, 0x8856d000, 0x88580000, 0x88593000}, zsbuf_cache = 0x885a6000, tex_timestamp = 0, tex_cache = {0xb600000, 0xb200000, 0xae00000, 
    0xaa00000, 0xa600000, 0xa200000, 0x9e00000, 0x9a00000, 0x9600000, 0x9200000, 0x8e00000, 0x8a00000, 0x8600000, 0x8200000, 0xb7800000, 0xb7c00000}, 
  vertex_tex_cache = {0xb8000000, 0xb8400000, 0xb8800000, 0xb8c00000, 0xb9000000, 0xb9400000, 0xb9800000, 0xb9c00000, 0xba000000, 0xba400000, 0xba800000, 
    0xbac00000, 0xbb000000, 0xbb400000, 0xbb800000, 0xbbc00000}, geometry_tex_cache = {0xbc000000, 0xbc400000, 0xbc800000, 0xbcc00000, 0xbd000000, 
    0xbd400000, 0xbd800000, 0xbdc00000, 0xbe000000, 0xbe400000, 0xbe800000, 0xbec00000, 0xbf000000, 0xbf400000, 0xbfb00000, 0x0}, use_sse = 1, dump_fs = 0, 
  dump_gs = 0, no_rast = 0}
Comment 4 Brian Paul 2011-01-18 09:00:25 UTC
Can you test again?  I've added some null ptr checking in commit 5b58b8c579f06edc2e5ead011e2544eadfbfb77a
Comment 5 Vinson Lee 2011-01-18 10:19:26 UTC
mesa: 5b58b8c579f06edc2e5ead011e2544eadfbfb77a (master)

WebGL Conformance Test Runner now crashes at sp_tex_tile_cache.c:147 with tc=0x0.

src/gallium/drivers/softpipe/sp_tex_tile_cache.c
   140  void
   141  sp_tex_tile_cache_set_sampler_view(struct softpipe_tex_tile_cache *tc,
   142                                     struct pipe_sampler_view *view)
   143  {
   144     struct pipe_resource *texture = view ? view->texture : NULL;
   145     uint i;
   146  
   147     assert(!tc->transfer);
Comment 6 Andreas Boll 2012-10-20 16:35:41 UTC
I can't reproduce this. Vinson can you confirm that the crash is gone?


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.