[Paraview] Crash using openmpi with more than 4 processes
Bart Janssens
bart.janssens at rma.ac.be
Fri Feb 5 10:32:47 EST 2010
On Thursday 04 February 2010 09:33:24 pm you wrote:
> What about Valgrind? Any chance you can start one of the processes such
> that you can run it in Valgrind?
>
I ran things in valgrind, but this showed exactly the same crash. I have
recompiled mesa with TLS, so the PTHREADS block in the ASM code mentioned
previously is ignored, and now I get a little further (see attached GDB
trace). The problem appears to be glGetString(GL_VERSION) returning null.
I added extra debug comments in vtkOpenGLExtensionManager.cxx, starting at
line 496:
--------------
if(version)
{
vtkWarningMacro(<< "GL Version: " << version);
}
else
{
vtkWarningMacro("GL version was null, IsCurrent is: " << this-
>RenderWindow->IsCurrent());
}
----------------
The output of this confirms that version is null when running on 8 processes,
while RenderWindow->IsCurrent() is shown to be true (1).
When running on 4 processes, on the other hand, everything still works and no
text is generated at all! I would expect to at least see the contents of
'version' being printed, in that case? Is all this code somehow only becoming
active when running many processes?
I also tried aborting the extension manager in the same way as when there are
no extensions. This avoids the crash but shows only a black screen.
I think the error itself is related to the GL context being messed up somehow,
even though RenderWindow->IsCurrent() appears to think it is OK. Is anyone
using OSMesa on many processes? If so, could you please share the exact
version info and configuration options?
Finally, I also tested using on-screen rendering. This works fine, I tested up
to 16 processes on the head node alone (not wanting to configure the whole
cluster with X yet). Unfortunately, rendering became slower and slower as I
increased the number of processes. Is launching 8 on-screen rendering
processes on the same node futile, even if there are 8 CPU cores? Would OSMesa
perform any better in this use case?
Cheers,
Bart
-------------- next part --------------
Program received signal SIGSEGV, Segmentation fault.
0x0000003db6a7caa3 in rawmemchr () from /lib64/libc.so.6
(gdb) bt
#0 0x0000003db6a7caa3 in rawmemchr () from /lib64/libc.so.6
#1 0x0000003db6a6f28a in _IO_str_init_static_internal () from /lib64/libc.so.6
#2 0x0000003db6a63c05 in vsscanf () from /lib64/libc.so.6
#3 0x0000003db6a5ef68 in sscanf () from /lib64/libc.so.6
#4 0x00002b5833731b90 in vtkOpenGLExtensionManager::ReadOpenGLExtensions (this=0x64f2470)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkOpenGLExtensionManager.cxx:498
#5 0x00002b5833732d25 in vtkOpenGLExtensionManager::Update (this=0x64f2470)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkOpenGLExtensionManager.cxx:140
#6 0x00002b58337329d0 in vtkOpenGLExtensionManager::ExtensionSupported (this=0x64f2470,
name=0x2b58337f85e7 "GL_VERSION_1_4")
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkOpenGLExtensionManager.cxx:147
#7 0x00002b583375c15b in vtkOpenGLRenderWindow::OpenGLInit (this=0x5e582c0)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkOpenGLRenderWindow.cxx:258
#8 0x00002b58337b8937 in vtkXOpenGLRenderWindow::CreateOffScreenWindow (this=0x5e582c0, width=1098, height=786)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:952
#9 0x00002b58337b8a3b in vtkXOpenGLRenderWindow::Initialize (this=0x5e582c0)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1067
#10 0x00002b58337b2d32 in vtkXOpenGLRenderWindow::Start (this=0x5e582c0)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1186
#11 0x00002b5833687154 in vtkRenderWindow::DoStereoRender (this=0x5e582c0)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkRenderWindow.cxx:688
#12 0x00002b5833687841 in vtkRenderWindow::DoFDRender (this=0x5e582c0)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkRenderWindow.cxx:677
#13 0x00002b583368801d in vtkRenderWindow::DoAARender (this=0x5e582c0)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkRenderWindow.cxx:564
#14 0x00002b583368884f in vtkRenderWindow::Render (this=0x5e582c0)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkRenderWindow.cxx:377
#15 0x00002b58337b3f4a in vtkXOpenGLRenderWindow::Render (this=0x5e582c0)
at /home/bjanssens/src/paraview/ParaView3/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:1856
#16 0x00002b58323bff3a in vtkParallelRenderManager::RenderRMI (this=0x5e0c0d0)
at /home/bjanssens/src/paraview/ParaView3/VTK/Parallel/vtkParallelRenderManager.cxx:757
#17 0x00002b58286011b2 in vtkPVClientServerRenderManager::RenderRMI (this=0x5e0c0d0)
at /home/bjanssens/src/paraview/ParaView3/Servers/Filters/vtkPVClientServerRenderManager.h:55
#18 0x00002b58285ff440 in RenderRMI (arg=0x5e0c0d0)
at /home/bjanssens/src/paraview/ParaView3/Servers/Filters/vtkPVClientServerRenderManager.cxx:57
#19 0x00002b5832314658 in vtkMultiProcessController::ProcessRMI (this=0x5dfcb80, remoteProcessId=1, arg=0x0, argLength=0,
rmiTag=34532) at /home/bjanssens/src/paraview/ParaView3/VTK/Parallel/vtkMultiProcessController.cxx:592
#20 0x00002b5832315278 in vtkMultiProcessController::ProcessRMIs (this=0x5dfcb80, reportErrors=0, dont_loop=1)
at /home/bjanssens/src/paraview/ParaView3/VTK/Parallel/vtkMultiProcessController.cxx:545
#21 0x00002b58280ac576 in vtkRemoteConnection::ProcessCommunication (this=0x5dfc7a0)
at /home/bjanssens/src/paraview/ParaView3/Servers/Common/vtkRemoteConnection.cxx:75
More information about the ParaView
mailing list