[Paraview] Selection frustrum problem

Mattijs Janssens m.janssens at opencfd.co.uk
Thu Nov 8 08:22:03 EST 2007


Just something I noticed.

Our reader module (for OpenFOAM) installs a malloc 
routine (through __malloc_hook) which initialises 
all memory to NaN. It also sets floating point 
trapping (FE_DIVBYZERO | FE_INVALID | 
FE_OVERFLOW). We use this as a simple way of 
catching uninitialised data.

I've noticed that I get a floating point exception 
when I do a cell (or point) selection i.e. it 
seems to use uninitialised data. If I switch off 
the exception handling it works just fine.

I attach a traceback of the error. Lines 0..2 are 
from our exception trapping routine. Last 
vtk/paraview routine is #3, SetFrustum.

Kind regards,

Mattijs

#0  Foam::error::printStack(Foam::Ostream&) 
in "/home/hunt2/mattijs/OpenFOAM/OpenFOAM-1.4.2/lib/linux64GccDPOpt/libOpenFOAM.so"
#1  Foam::sigFpe::sigFpeHandler(int) 
in "/home/hunt2/mattijs/OpenFOAM/OpenFOAM-1.4.2/lib/linux64GccDPOpt/libOpenFOAM.so"
#2  Uninterpreted: /lib64/libpthread.so.0 
[0x2b7542bc4130] in "/lib64/libpthread.so.0"
#3  vtkSelectionSource::SetFrustum(double*) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkGraphics.so.pv3.2"
#4  
vtkSelectionSourceCommand(vtkClientServerInterpreter*, 
vtkObjectBase*, char const*, 
vtkClientServerStream const&, 
vtkClientServerStream&) 
#5  
vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream 
const&, int) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkClientServer.so"
#6  
vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream 
const&, int) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkClientServer.so"
#7  
vtkClientServerInterpreter::ProcessStream(vtkClientServerStream 
const&) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkClientServer.so"
#8  
vtkSelfConnection::ProcessStreamLocally(vtkClientServerStream&) 
#9  
vtkSelfConnection::SendStreamToClient(vtkClientServerStream&) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkPVServerCommon.so"
#10  
vtkProcessModuleConnection::SendStream(unsigned 
int, vtkClientServerStream&) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkPVServerCommon.so"
#11  
vtkProcessModuleConnectionManager::SendStream(long 
long, unsigned int, vtkClientServerStream&, int) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkPVServerCommon.so"
#12  vtkProcessModule::SendStream(long long, 
unsigned int, vtkClientServerStream&, int) 
#13  vtkSMProxy::UpdateProperty(char const*, int) 
#14  vtkSMProxy::UpdateProperty(char const*) 
#15  vtkSMProxy::UpdateVTKObjects() 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkPVServerManager.so"
#16  
vtkSMSelectionHelper::NewSelectionSourceFromSelection(long 
long, vtkSelection*) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkPVServerManager.so"
#17  
vtkSMSurfaceRepresentationProxy::ConvertSelection(vtkSelection*) 
#18  
vtkSMPVRepresentationProxy::ConvertSelection(vtkSelection*) 
#19  
vtkSMRenderViewProxy::SelectOnSurface(unsigned 
int, unsigned int, unsigned int, unsigned int, 
vtkCollection*, vtkCollection*, vtkCollection*, 
bool, bool) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkPVServerManager.so"
#20  pqRenderView::selectOnSurface(int*) 
#21  pqRubberBandHelper::processEvents(unsigned 
long) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libpqCore.so"
#22  
pqRubberBandHelper::vtkPQSelectionObserver::Execute(vtkObject*, 
unsigned long, void*) 
#23  vtkSubjectHelper::InvokeEvent(unsigned long, 
void*, vtkObject*) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkCommon.so.pv3.2"
#24  vtkObject::InvokeEvent(unsigned long, void*) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkCommon.so.pv3.2"
#25  QVTKWidget::mouseReleaseEvent(QMouseEvent*) 
#26  QWidget::event(QEvent*) 
#27  QVTKWidget::event(QEvent*) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libQVTK.so.pv3.2"
#28  QApplicationPrivate::notify_helper(QObject*, 
QEvent*) 
#29  QApplication::notify(QObject*, QEvent*) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libQtGui.so.4"
#30  
Uninterpreted: /home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libQtGui.so.4 
[0x2b753ffb4406] 
#31  QApplication::x11ProcessEvent(_XEvent*) 
#32  ?? 
#33  g_main_context_dispatch 
in "/opt/gnome/lib64/libglib-2.0.so.0"
#34  ?? 
#35  g_main_context_iteration 
in "/opt/gnome/lib64/libglib-2.0.so.0"
#36  
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libQtCore.so.4"
#37  ?? 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libQtGui.so.4"
#38  
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 
#39  
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libQtCore.so.4"
#40  QCoreApplication::exec() 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libQtCore.so.4"
#41  pqProcessModuleGUIHelper::RunGUIStart(int, 
char**, int, int) 
#42  vtkProcessModule::StartClient(int, char**) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkPVServerCommon.so"
#43  vtkProcessModule::Start(int, char**) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkPVServerCommon.so"
#44  vtkProcessModuleGUIHelper::Run(vtkPVOptions*) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/libvtkPVServerCommon.so"
#45  pqMain::Run(QApplication&, 
pqProcessModuleGUIHelper*) 
#46  main 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/paraview-real"
#47  __libc_start_main 
#48  vtkObject::RegisterInternal(vtkObjectBase*, 
int) 
in "/home/hunt2/mattijs/OpenFOAM/linuxAMD64/ParaView3.2-mpi/lib/paraview-3.2/paraview-real"


More information about the ParaView mailing list