[Paraview] floating point exception error when doing slice filter (only happen when running pvserver remotely in parallel)

Hong Yi hongyi at renci.org
Wed Feb 27 17:09:50 EST 2013


Hi Burlen,

Thank you so much for the information. Disabling FPE indeed fixed the problem. Now I can do slicing and clipping without problem :) I don't remember explicitly enabling FPE when building ParaView on the cluster, so not sure whether it was on by default. In any case, this problem is solved after I disabled FPE. Thanks again for your helpful information!

Best,

Hong



From: Burlen Loring [mailto:bloring at lbl.gov]
Sent: Wednesday, February 27, 2013 3:39 PM
To: Hong Yi
Cc: paraview at paraview.org
Subject: Re: [Paraview] floating point exception error when doing slice filter (only happen when running pvserver remotely in parallel)

Hi Hong,

It looks like you've found a bug in ParaView, there probably should be a check preventing this division when the render window is empty. However, it's likely a non issue when FPEs are disabled, which I believe is the default. Could you search the vtkPVConfig.h file (found in build/install dir) for PARAVIEW_ENABLE_FPE? If this is defined during the build then PV will enable FPE's when it starts. If that's the case in your build, then a quick fix for you would be to rebuild with that feature disabled. If that's not the case in your build, FPE's must be being enabled by a library that's being linked in. You may have to inquire about this with your sys admins, if they know of any such library.

Burlen

On 02/27/2013 10:01 AM, Hong Yi wrote:
OK, now I know why the floating point exception is raised after looking at the values of those variables and the source code. Specifically, the whole statement it fails is actually the following:
Vx = 2.0 * (this->DisplayPoint[0]  - sizex * Viewport[0])/(sizex*(this->Viewport[2]-this->Viewport[0])) - 1.0, where the denominator has a value of 0 when it fails: sizex = 0, this->Viewport[2]=1, and this->Viewport[0]=0, which results in "divide by zero" floating point exception. The key here is the sizex value which should not be zero, and sizex is equal to the first component of this->VTKWindow->GetSize(). So this VTKWindow gets a size of zero which results in this floating point exception. I am puzzled on why this could be the case since other filters like isocontouring does not have this problem. Hopefully someone in the list could provide some insight on this problem.

Thanks,

Hong


From: paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org> [mailto:paraview-bounces at paraview.org] On Behalf Of Hong Yi
Sent: Wednesday, February 27, 2013 12:26 PM
To: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: Re: [Paraview] floating point exception error when doing slice filter (only happen when running pvserver remotely in parallel)

Just some follow-up information I hope to shed some light on this problem. I used pdb to debug pvserver running with mpirun on the server and found this floating point exception error happens on the line below:

Program received signal SIGFPE, Arithmetic exception.
0x00002ad33e95021b in vtkViewport::DisplayToView (this=0x43a2670)
    at /home/hyi2/Download/ParaView-3.14.1-Source/VTK/Filtering/vtkViewport.cxx:204
204          (sizex*(this->Viewport[2]-this->Viewport[0])) - 1.0;

which puzzles me since I cannot imagine why this could cause floating point exception (I cannot see possibility of "divide by zero" or other possible arithmetic exception). I did try to check or uncheck "Remote Render Threshold" checkbox both ways which results in the same failure in the same statement as noted above. Also, isocontouring filter runs fine with correct visual output, but slicing and clipping filters result in same errors as noted above.

Hope this additional debug info could shed some light and trigger some idea on what could be the problem. Perhaps there is a possibility it is NVidia driver related? But in my configuration, HPC server uses MESA software rendering and my client NVidia driver is up to date with Geforce GTX580 graphics card.

Thanks for any ideas on what could cause this problem!

Hong


________________________________
From: paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org> [paraview-bounces at paraview.org<mailto:paraview-bounces at paraview.org>] on behalf of Hong Yi [hongyi at renci.org<mailto:hongyi at renci.org>]
Sent: Friday, February 22, 2013 12:27 PM
To: paraview at paraview.org<mailto:paraview at paraview.org>
Subject: [Paraview] floating point exception error when doing slice filter (only happen when running pvserver remotely in parallel)
I built ParaView server with MPI on a HPC cluster with OSMesa support since the cluster does not have graphics hardware. The MPI compiler used to build ParaView is mpich2/gnu412x64/1.4-shared. Paraview server built successfully on the cluster without any error. I can successfully connect to the pvserver running on multiple nodes remotely via Paraview client running on my local desktop, load data in, and do gradient and vorticity computation, and look at isosurfaces without problems. However, when I do slice filter to look at one slice, as soon as I click on slice filter, pvserver aborts with floating point exception error. It is not the data problem because I can do slice filter without problem for the same data if I run builtin Paraview server/client locally, so the problem only occurs when the local client connects to pvserver running remotely on multiple nodes (or on one node) via mpirun. So far, the slice filter is the only filter I have run into with this floating point exception error raised by the remote pvserver. The other filters such as gradient of unstructured data, calculator of vorticity, isocontour all run successfully with correct results produced. Any idea on what could cause this problem is very much appreciated!

Thanks,

Hong




_______________________________________________

Powered by www.kitware.com<http://www.kitware.com>



Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html



Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView



Follow this link to subscribe/unsubscribe:

http://www.paraview.org/mailman/listinfo/paraview

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20130227/9d4fa08f/attachment-0001.htm>


More information about the ParaView mailing list