[GRASS-dev] still togl problems in NVIZ for volume

Glynn Clements glynn at gclements.plus.com
Tue Aug 22 19:42:08 EDT 2006


Markus Neteler wrote:

> > With tcltk <= 8.4.11 it crashes :-( Tested on RHEL4 and
> > Mandriva2006.
> 
> On Mandriva2006 it crashes like this:
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1238534432 (LWP 24083)]
> 0xb7fa09d7 in gvl_read_char (pos=0, data=0x0) at gvl_calc.c:602
> 602     {
> (gdb) bt full
> #0  0xb7fa09d7 in gvl_read_char (pos=0, data=0x0) at gvl_calc.c:602
> No locals.
> #1  0xb7fa1a17 in gvld_isosurf (gvl=0x8158d78) at gvld.c:248
>         tx = 0.00224719103
>         ty = 0.00224719103
>         tz = 0.0224719103
>         cols = 593
>         rows = 340
>         depths = 4
>         x = 0
>         y = 0
>         z = 0
>         i = Variable "i" is not available.

Both of these reports have a NULL data field in the geovol_isosurf
structure. This field is NULL when the structure is initially created,
and initialised by gvl_isosurf_calc() (gvl_calc.c:542).

gvld_vol() calls gvl_isosurf_calc() before calling gvld_isosurf(), so
it appears that gvl_isosurf_calc() is failing to initialise the field
for some reason.

I can only suggest single-stepping through gvl_isosurf_calc() to try
to figure out why the field doesn't get set.

So far as trying to comprehend that code is concerned, fixing the
formatting would probably help, as would fixing the macros at the top
of that file so that they don't refer to local variables.

-- 
Glynn Clements <glynn at gclements.plus.com>




More information about the grass-dev mailing list