Crash SEGV at vtkCylinderSource::Update()

Trying to create a VTK polydata using below code snippet
vtkSmartPointer spC=vtkSmartPointer::New();
spC->SetHeight(rodLen);
spC->SetCenter(0,0,0);
spC->SetRadius(rodRadius);
spC->Update(); <----- It crashes here

The above code snippet works fine when I call it in main(). The same crashes at Update() when I put it in the constructor of a globally initialized object.

Stack trace looks as below

Thread #1 unnamed (Suspended : Signal : SIGSEGV:Segmentation fault)
vtkCylinderSource::RequestData() at string:1,508 0x50a79ed0ea
vtkExecutive::CallAlgorithm() at string:1,508 0x50a7d3e752
vtkStreamingDemandDrivenPipeline::ProcessRequest() at string:1,508 0x50a7d4470c
vtkDemandDrivenPipeline::UpdateDataObject() at string:1,508 0x50a7d3a0de
vtkDemandDrivenPipeline::UpdateInformation() at string:1,508 0x50a7d39505
vtkStreamingDemandDrivenPipeline::Update() at string:1,508 0x50a7d45f20