[GRASS5] [bug #4246] (grass) NVIZ: segfault in kanimation panel

Bob Covill bcovill at tekmap.ns.ca
Tue Apr 11 09:08:25 EDT 2006


Hamish,

I took a quick look at this and I cannot duplicate the error. I do get
the compiler warning for all of the Tcl_SplitList in src. According to
TCL recent documentation arg 4 in Tcl_SplitList should actually be
"const char **". If I change 
char **listels;
in anim_support.c (line ~933)
to const char **listels;
I do not get the compiler warning.

Also, according to the Tcl_SplitList documentation, the **listels
argument should be freed. They recommend using 
Tcl_Free((char *) argv);

I am not sure why the free call would be creating a problem. 

Hope this helps.

--
Bob

On Sat, 2006-04-08 at 13:10 +0200, Harmish Bowman via RT wrote:
> re. segfault in nviz if you use a d.nviz generated script:
> 
> G61> nviz script=somefile.nvsrc
> 
> 
> The segfaults happens when it tries to add a keyframe:
> 
> visualization/nviz/src/anim_support.c
> line ~410 in  Nadd_key_cmd()
> 
>    G_free (listels);
> 
> if I comment that line out, the script runs, nviz loads, and all is good.
> 
> printf(%p) shows listels at 0xbfffee6c
> 
> I notice in the compiler warnings:
> anim_support.c:367: warning: passing arg 4 of `Tcl_SplitList' from
> incompatible pointer type
> 
> which is this:
>     if (Tcl_SplitList(interp, argv[2], &numels, &listels) != TCL_OK)
> 
> is that call promoting listels to something else?
> 
> 
> Is there a better way of debugging nviz than just peppering puts and printf's?
> gdb is useless for it.
> 
> 
> thanks,
> Hamish
> 
> 
> -------------------------------------------- Managed by Request Tracker
> 
> _______________________________________________
> grass5 mailing list
> grass5 at grass.itc.it
> http://grass.itc.it/mailman/listinfo/grass5
> 




More information about the grass-dev mailing list