[Mesa-dev] segfault in pstip_bind_sampler_states

Kevin H. Hobbs hobbsk at ohio.edu
Fri Aug 16 14:16:09 PDT 2013


On 08/12/2013 10:29 AM, Brian Paul wrote:
> On 08/09/2013 01:50 PM, Kevin H. Hobbs wrote:
>> (gdb) print pstip
>> $1 = (struct pstip_stage *) 0xff66331aff66331a
>>
>> I don't think my actual RAM goes that high.
> 
> That looks suspect since the low and high halves of the address are the 
> same.
> 

I believe pstip->state gets it's funky value in null_sw_create () at
null_sw_winsys.c:146

My heavily edited gdb session follows :

$ gdb /home/kevin/kitware/VTK_OSMesa_Build/bin/vtkpython
(gdb) run lots of options

Program received signal SIGSEGV, Segmentation fault.
pstip_bind_sampler_states (pipe=<optimized out>, num=0, sampler=0x0) at
draw/draw_pipe_pstipple.c:713
713           pstip->state.samplers[i] = NULL;

(gdb) bt
#0  pstip_bind_sampler_states (pipe=<optimized out>, num=0, sampler=0x0)
at draw/draw_pipe_pstipple.c:713
#1  0x00007fffdf75839c in cso_release_all (ctx=ctx at entry=0x15eebe0) at
cso_cache/cso_context.c:307

(gdb) break cso_context.c:307
(gdb) run lots of options
(gdb) step
pstip_bind_sampler_states (pipe=0x13d4960, num=0, sampler=0x0) at
draw/draw_pipe_pstipple.c:706
706     {
(gdb) next
711        memcpy(pstip->state.samplers, sampler, num * sizeof(void *));
# oops not a debug build
(gdb) print pstip
$1 = (struct pstip_stage *) 0x1360d30
(gdb) print pstip->state
$2 = {samplers = {0x7fffdf863b80 <null_sw_displaytarget_unmap>,...
(gdb) print &(pstip->state)
$3 = (struct {...} *) 0x1360db0
(gdb) print &(pstip->state.samplers)
$4 = (void *(*)[16]) 0x1360db0 # duh
(gdb) watch *0x1360db0
Hardware watchpoint 2: *0x1360db0
(gdb) run lots of options
Hardware watchpoint 2: *0x1360db0

Old value = <unreadable>
New value = 3369
vtkCellLinks::InsertCellReference (this=0x1359ce0, ptId=252, pos=4,
cellId=3369)
    at /home/kevin/kitware/VTK/Common/DataModel/vtkCellLinks.h:159
159     }
(gdb) continue
Continuing.
Hardware watchpoint 2: *0x1360db0

Old value = 3369
New value = 0
__libc_calloc (n=<optimized out>, elem_size=<optimized out>) at
malloc.c:3286
3286            if (nclears > 8) {
(gdb) bt
#0  __libc_calloc (n=<optimized out>, elem_size=<optimized out>) at
malloc.c:3286
#1  0x00007fffdf863c23 in null_sw_create () at null_sw_winsys.c:135
#2  0x00007fffdf595656 in osmesa_create_screen () at target.c:43
#3  0x00007fffdf887b93 in get_st_manager () at osmesa.c:151
#4  0x00007fffdf888263 in OSMesaCreateContextExt (format=6408,
depthBits=24,
    stencilBits=<optimized out>, accumBits=0, sharelist=<optimized out>)
at osmesa.c:557
#5  0x00007fffdcc02a10 in vtkOSOpenGLRenderWindow::CreateOffScreenWindow
(this=0xebc270, width=150,
    height=150) at
/home/kevin/kitware/VTK/Rendering/OpenGL/vtkOSOpenGLRenderWindow.cxx:188 ...
(gdb) continue
Continuing.
Hardware watchpoint 2: *0x1360db0

Old value = 0
New value = -544851072
null_sw_create () at null_sw_winsys.c:146
146        winsys->displaytarget_display = null_sw_displaytarget_display;
(gdb) bt
#0  null_sw_create () at null_sw_winsys.c:146
#1  0x00007fffdf595656 in osmesa_create_screen () at target.c:43
#2  0x00007fffdf887b93 in get_st_manager () at osmesa.c:151
#3  0x00007fffdf888263 in OSMesaCreateContextExt (format=6408,
depthBits=24,
    stencilBits=<optimized out>, accumBits=0, sharelist=<optimized out>)
at osmesa.c:557
#4  0x00007fffdcc02a10 in vtkOSOpenGLRenderWindow::CreateOffScreenWindow
(this=0xebc270, width=150,
    height=150) at
/home/kevin/kitware/VTK/Rendering/OpenGL/vtkOSOpenGLRenderWindow.cxx:188
(gdb) continue
Breakpoint 1, cso_release_all (ctx=ctx at entry=0x15eebe0) at
cso_cache/cso_context.c:307
307           ctx->pipe->bind_fragment_sampler_states( ctx->pipe, 0, NULL );
(gdb) continue
Continuing.

Program received signal SIGSEGV, Segmentation fault.
pstip_bind_sampler_states (pipe=<optimized out>, num=0, sampler=0x0) at
draw/draw_pipe_pstipple.c:713
713           pstip->state.samplers[i] = NULL;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 255 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130816/6bffdb08/attachment.pgp>


More information about the mesa-dev mailing list