|
From: Brian P. <bri...@tu...> - 2008-09-03 15:40:27
|
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.
-Brian
|