|
From: Utkarsh A. <utk...@ki...> - 2008-09-03 19:04:11
|
Brian Paul wrote:
> Utkarsh Ayachit wrote:
>>
>>
>> Brian Paul wrote:
>>> Utkarsh Ayachit wrote:
>>>> Hi Brian,
>>>>
>>>> I am trying to come up with a small test case that reproduces this
>>>> issue that we are having with ParaView using Mesa 7.1 (as well as
>>>> git-Mesa) on a 64 bit debian box.
>>>>
>>>> The assertion fails following repeated creation/deletion of display
>>>> lists (ofcourse when display lists are not used, everything is peachy).
>>>>
>>>> For debugging purposes I put a printf as follows in tnl/t_draw.c:
>>>>
>>>> static void bind_inputs( GLcontext *ctx,
>>>> const struct gl_client_array *inputs[],
>>>> GLint count,
>>>> struct gl_buffer_object **bo,
>>>> GLuint *nr_bo )
>>>> {
>>>> ...
>>>> for (i = 0; i < VERT_ATTRIB_MAX; i++) {
>>>> const void *ptr;
>>>>
>>>> if (inputs[i]->BufferObj->Name) {
>>>> if (!inputs[i]->BufferObj->Pointer) {
>>>> ...
>>>> printf("i : %i\n", i);
>>>> printf("name: %i\n", inputs[i]->BufferObj->Name);
>>>> assert(inputs[i]->BufferObj->Pointer);
>>>> }
>>>> ...
>>>> }
>>>>
>>>> On successful runs it looks like:
>>>> i : 0
>>>> name: 1
>>>> i : 0
>>>> name: 1
>>>> i : 31
>>>> name: 1
>>>>
>>>> However when the assertion fails, the output is:
>>>> i : 0
>>>> name: 1
>>>> i : 31
>>>> name: 10999
>>>>
>>>> Not sure that's very helpful, perhaps you can point me in the right
>>>> direction for producing more relevant debug output.
>>>
>>> I haven't seen that one before. Do you happen to have a small test
>>> program that I could try here? I think I've got a 64-bit Linux
>>> install here somewhere...
>>>
>>> You might also try running with valgrind to see if it finds anything.
>>
>> I am attaching the output from valgrind. There indeed are a few
>> suspicious invalid writes.
>>
>> The crash is very random, I am still trying to isolate the cause to
>> write out a small example.
>
> I haven't been able to reproduce this with any hacked demos here.
>
> Do you want to send me a ParaView binary?
>
Sure thing. I am creating one right now.
Utkarsh
|