[Pkg-octave-devel] Bug#480431: Bug#480431: Bug#480431: octaviz: Segfault on AMD64

Rafael Laboissiere rafael at debian.org
Fri Sep 5 11:15:07 UTC 2008


* Thomas Weber <thomas.weber.mail at gmail.com> [2008-06-09 09:11]:

> Am Samstag, den 10.05.2008, 07:33 +0200 schrieb Thomas Weber:
> > On 09/05/08 18:34 -0500, Jordi Gutiérrez Hermoso wrote:
> > > Package: octaviz
> > > Version: 0.4.7-1
> > > Severity: important
> > > 
> > > With the attached script and data, Octaviz segfaults on AMD64.
> > 
> > As I discussed with Jordi earlier: this is arch-specific, it doesn't
> > happen on i386.
> 
> I've tracked this back till line 271 of vtkClipPolyData.cxx, where
> 	cellScalars->GetComponent(1,0)
> is a NaN value. 

Should this bug be considered release-critical, as it is now (severity level
"serious")?  The octaviz package is essentially functional and the problem
reported happens in the vtk_surf function (well, maybe also in others, who
knows...)

Anyway, I think that it is too harsh to drop octaviz from lenny only because
of that.  I would prefer to downgrade the severity to "important" and, as an
interim solution, upload a new version of octaviz with a patched vtk_surf
file.  For instance, we could change the doc string by alerting the user
about NaN or, better, return an error message if the input Z matrix contains
NaN values.  At any rate, the user can circumvent this bug by changing her
script (see the modified plotresults_vtk.m attached below).

What do you think?

-- 
Rafael
-------------- next part --------------
r = linspace(0,1,40);
th = linspace(-pi,pi,60);
[rr,thth] = meshgrid(r,th);
[xx,yy] = pol2cart(thth,rr);

for i = 100:100:200
  name = "h";
  if(i < 10000);
    name = strcat(name, "0");
  endif
  if(i < 1000);
    name = strcat(name, "0");
  endif
  if(i < 100);
    name = strcat(name, "0");
  endif
  if(i < 10);
    name = strcat(name, "0");
  endif
  name = strcat(name,num2str(i));
  vtk_xlim([-1,1]);
  vtk_ylim([-1,1]);
  vtk_zlim([0,0.2]);
  filename = strcat(name,".map");
  load(filename);
  h = eval(name);
  zz = griddata(h(:,1),h(:,2),h(:,3),xx,yy);
  i1 = find (isnan (zz));
  i2 = find (! isnan (zz));  
  zz (i1) = mean (mean (zz (i2)));
  vtk_clear; vtk_surf(xx,yy,zz);
  vtk_print(strcat(name,".png"),"-dpng");
  clear eval(name);
endfor


More information about the Pkg-octave-devel mailing list