[vtkusers] vtkGraph::AddVertex segfault

David Doria daviddoria+vtk at gmail.com
Thu May 13 14:25:09 EDT 2010


On Thu, May 13, 2010 at 2:16 PM, Caleb Johnston <cjj37 at cornell.edu> wrote:
> I'm getting a segfault when calling vtkMutableUndirectedGraph::AddVertex.
> However, it does not always occur at the same vertex. Sometimes it is after
> the 2nd vertex. Sometimes it won't happen at all (though rarely). I'm only
> adding about 120 vertices. And the program is not consuming large amounts of
> data so I don't understand why this is happening. Also, this only happens in
> Linux and Windows but not MacOS X. Below, I have included my algorithm for
> adding vertices.
> thanks,
> Caleb
> ...
> int len = 0;
> double X,Y,Z,Count;
> for(i=0, j=0; j<numberOfLabels; i+=3, j++){
>    X = (double)coords[i];
>    Y = (double)coords[i+1];
>    Z = (double)coords[i+2];
>    Count = (double)centroids[j];
>    if(Count>0.0){
>       X = X / Count;
>       Y = Y / Count;
>       Z = Z / Count;
>       len++;
>       graph->AddVertex();  // crashes here.
>       graph->Update();
>       points->InsertNextPoint(X, Y, Z);
>    }
> }
> ...

I've used this in Linux plenty of times with no problems. If you post
some compilable code I can see if it works on my machine. My initial
bet is that something is going wrong around there, like accessing out
of bounds elements in coords or centroids.

Thanks,

David



More information about the vtkusers mailing list