David,
With the attached display.sdf parameter file I get a segv in pgplot
in grpxre.f. The problem is that J2 has a value of 257 but the array
IA is only initialised to 256. Deleting the parameter file or using
"reset" fixes the problem. With this parameter file the Y extent of
the data completely fills the display area. valgrind gets really upset
(and there is an unrelated warning from the astBorder function) with
the read off the end.
I'm not sure where the 257 is coming from or which ADAM parameter is
triggering the problem. To get things to display on my Mac without the
segv I need to add
IF ( J2 .GT. JDIM ) THEN
print *, 'GRPXRE: J2 Out of array bounds. Resetting to ', JDIM
J2 = JDIM
END IF
IF ( I2 .GT. IDIM ) THEN
print *, 'GRPXRE: I1 Out of array bounds. Resetting to ', IDIM
I2 = IDIM
END IF
to the pgplot routine but I assume the error is in some higher level
routine. It is likely that it is in the PGPLOT code itself so I'm
wondering whether I should just commit the above and ignore the
problem. I'd like enlightenment on the ADAM parameter that is causing
the trouble though (and it's clearly a sticky parameter).
The call to PGPIXL in KPG1_PGPIX seems reasonable:
256 256 55.774169921875007 150.60083007812500
20.319999694824219 115.14665222167969
--
Tim Jenness
Joint Astronomy Centre
PGPLOT valgrind:
==8407== Invalid read of size 4
==8407== at 0xC33CF04: grpxre_ (grpxre.f:39)
==8407== by 0xC33BE39: grpixl_ (grpixl.f:124)
==8407== by 0xC34F0FB: pgpixl_ (pgpixl.f:58)
==8407== by 0x53BB9FD: kpg1_pgpix_ (kpg1_pgpix.f:132)
==8407== by 0x4184B6: display_ (display.f:1425)
==8407== by 0x40A627: kapview_mon_ (kapview_mon.f:221)
==8407== by 0x40A11E: dtask_applic_ (dtask_applic.f:66)
==8407== by 0xF852BAF: dtask_obeydcl_ (dts_obeydcl.f:160)
==8407== by 0xF8513C7: dtask_dcltask_ (dts_dcltask.f:153)
==8407== by 0x40A050: MAIN_ (dtask_main.f:140)
==8407== by 0x44D68D: main (in /star/bin/kappa/kapview_mon)
==8407== Address 0x12D22370 is 0 bytes after a block of size 262,144
alloc'd
==8407== at 0x4A04B32: calloc (vg_replace_malloc.c:279)
==8407== by 0x1243C57F: Malloc (cnfMem.c:381)
==8407== by 0x11E20CBF: psx_calloc_ (psx_calloc.c:239)
==8407== by 0x4345C5: kps1_discl_ (kps1_discl.f:375)
==8407== by 0x418B36: display_ (display.f:1408)
==8407== by 0x40A627: kapview_mon_ (kapview_mon.f:221)
==8407== by 0x40A11E: dtask_applic_ (dtask_applic.f:66)
==8407== by 0xF852BAF: dtask_obeydcl_ (dts_obeydcl.f:160)
==8407== by 0xF8513C7: dtask_dcltask_ (dts_dcltask.f:153)
==8407== by 0x40A050: MAIN_ (dtask_main.f:140)
==8407== by 0x44D68D: main (in /star/bin/kappa/kapview_mon)
AST valgrind:
==8407== Conditional jump or move depends on uninitialised value(s)
==8407== at 0x3BE001204C: __ieee754_pow (in /lib64/libm-2.5.so)
==8407== by 0x3BE0023B92: pow (in /lib64/libm-2.5.so)
==8407== by 0xD2B004B: Border (plot.c:4817)
==8407== by 0xD2AD091: Grid (plot.c:17230)
==8407== by 0xD0B5A31: ast_grid_ (fplot.c:249)
==8407== by 0x53B0508: kpg1_asgrd_ (kpg1_asgrd.f:265)
==8407== by 0x418D5F: display_ (display.f:1499)
==8407== by 0x40A627: kapview_mon_ (kapview_mon.f:221)
==8407== by 0x40A11E: dtask_applic_ (dtask_applic.f:66)
==8407== by 0xF852BAF: dtask_obeydcl_ (dts_obeydcl.f:160)
==8407== by 0xF8513C7: dtask_dcltask_ (dts_dcltask.f:153)
==8407== by 0x40A050: MAIN_ (dtask_main.f:140)
|