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

Burlen Loring bloring at lbl.gov
Wed Feb 27 15:38:32 EST 2013


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] *On Behalf Of *Hong Yi
> *Sent:* Wednesday, February 27, 2013 12:26 PM
> *To:* 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] 
> on behalf of Hong Yi [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
>
> 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/8b4db71c/attachment.htm>


More information about the ParaView mailing list