Bug 30516 - [llvmpipe] SIGSEGV src/gallium/auxiliary/draw/draw_llvm.c:1102
Summary: [llvmpipe] SIGSEGV src/gallium/auxiliary/draw/draw_llvm.c:1102
Status: CLOSED FIXED
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-09-30 14:37 UTC by Vinson Lee
Modified: 2010-10-01 07:52 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Vinson Lee 2010-09-30 14:37:07 UTC
mesa: 113f1cdfcedf858e4b426ce2dba9e99d2a1e0286 (master)

Run glean fbo test.

(gdb) bt
#0  0x011eadb0 in draw_llvm_set_sampler_state (draw=0x9b586d8) at src/gallium/auxiliary/draw/draw_llvm.c:1102
#1  0x011520f4 in draw_set_samplers (draw=0x9b586d8, samplers=0x9b57db4, num=2) at src/gallium/auxiliary/draw/draw_context.c:715
#2  0x00f40608 in llvmpipe_bind_vertex_sampler_states (pipe=0x9b57c50, num_samplers=2, samplers=0x9c44f9c) at src/gallium/drivers/llvmpipe/lp_state_sampler.c:118
#3  0x0114e76d in cso_single_vertex_sampler_done (ctx=0x9c44ec8) at src/gallium/auxiliary/cso_cache/cso_context.c:526
#4  0x010d3b2c in update_samplers (st=0x9c30908) at src/mesa/state_tracker/st_atom_sampler.c:246
#5  0x010cfdb8 in st_validate_state (st=0x9c30908) at src/mesa/state_tracker/st_atom.c:172
#6  0x010dba88 in st_Clear (ctx=0x9bf0458, mask=1) at src/mesa/state_tracker/st_cb_clear.c:464
#7  0x0107e01e in _mesa_Clear (mask=16384) at src/mesa/main/clear.c:179
#8  0x0807dc27 in GLEAN::FBOTest::testRender2MultiTexture (this=0x815a1c0) at glean/tfbo.cpp:1033
#9  0x0807f187 in GLEAN::FBOTest::testFunctionality (this=0x815a1c0, r=...) at glean/tfbo.cpp:1427
#10 0x0807f868 in GLEAN::FBOTest::runSubTests (this=0x815a1c0, r=...) at glean/tfbo.cpp:1554
#11 0x0807f8dd in GLEAN::FBOTest::runOne (this=0x815a1c0, r=..., w=...) at glean/tfbo.cpp:1571
#12 0x08060dc6 in GLEAN::BaseTest<GLEAN::MultiTestResult>::run (this=0x815a1c0, environment=...) at glean/tbase.h:317
#13 0x080568ea in main (argc=7, argv=0xbff10974) at glean/main.cpp:140
(gdb) frame 0
#0  0x011eadb0 in draw_llvm_set_sampler_state (draw=0x9b586d8) at src/gallium/auxiliary/draw/draw_llvm.c:1102
1102	      jit_tex->min_lod = draw->samplers[i]->min_lod;
(gdb) info locals
jit_tex = 0x9b5933c
i = 0
(gdb) print draw->samplers[0]
$1 = (const struct pipe_sampler_state *) 0x0


src/gallium/auxiliary/draw/draw_llvm.c
  1094  void
  1095  draw_llvm_set_sampler_state(struct draw_context *draw)
  1096  {
  1097     unsigned i;
  1098  
  1099     for (i = 0; i < draw->num_samplers; i++) {
  1100        struct draw_jit_texture *jit_tex = &draw->llvm->jit_context.textures[i];
  1101  
  1102        jit_tex->min_lod = draw->samplers[i]->min_lod;
  1103        jit_tex->max_lod = draw->samplers[i]->max_lod;
  1104        jit_tex->lod_bias = draw->samplers[i]->lod_bias;
  1105        COPY_4V(jit_tex->border_color, draw->samplers[i]->border_color);
  1106     }
  1107  }
Comment 1 Vinson Lee 2010-09-30 14:47:47 UTC
0cb545a7f2e823c85309013c4c41e9461f297d06 is the first bad commit
commit 0cb545a7f2e823c85309013c4c41e9461f297d06
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Sep 29 10:34:41 2010 -0600

    draw: pass sampler state down to llvm jit state
    
    Fixes a regression caused from the change to make min/max lod dynamic
    state.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=30437

:040000 040000 d29c425da770ebaf0daec5db059096896bc103f4 f4fec3789dadb92719f615c16028509d4762902a M	src
bisect run success
Comment 2 Brian Paul 2010-09-30 15:44:25 UTC
Fixed with commit 66992463ac294b1a106090250ad2af305f9d8a10
Comment 3 Vinson Lee 2010-10-01 07:52:40 UTC
mesa: 40ccb235d693ea6184ab61529f2910086e68edda (master)

Verified fixed.


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.