[Paraview] Xdmf segfault

Paul Edwards paul.m.edwards at gmail.com
Mon Mar 8 08:06:19 EST 2010


Here's a patch that will allow the state file to load:

Index: ./Utilities/Xdmf2/vtk/vtkXdmfReader.cxx
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/Utilities/Xdmf2/vtk/vtkXdmfReader.cxx,v
retrieving revision 1.73
diff -r1.73 vtkXdmfReader.cxx
427,429c427,432
<   this->XdmfDocument->GetActiveDomain()->GetGridSelection()->SetArrayStatus(
<     gridname, status !=0);
<   this->Modified();
---
>   if(this->XdmfDocument->GetActiveDomain())
>     {
>     this->XdmfDocument->GetActiveDomain()->GetGridSelection()->SetArrayStatus(
>       gridname, status !=0);
>     this->Modified();
>     }
458,460c461,466
<   this->XdmfDocument->GetActiveDomain()->GetPointArraySelection()->
<     SetArrayStatus(arrayname, status != 0);
<   this->Modified();
---
>   if(this->XdmfDocument->GetActiveDomain())
>     {
>     this->XdmfDocument->GetActiveDomain()->GetPointArraySelection()->
>       SetArrayStatus(arrayname, status != 0);
>     this->Modified();
>     }

There are other places where this it could be using a null pointer but
this is the enough to get my case loading...

Regards,
Paul

On 8 March 2010 12:45, Paul Edwards <paul.m.edwards at gmail.com> wrote:
> The problem is with vtkXdmfReader::SetGridStatus.  The offending line is:
>
> this->XdmfDocument->GetActiveDomain()->....
>
> Where GetActiveDomain() is returning a null pointer.
>
> Here is the stack trace:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007fffe80f4a82 in vtkXdmfDomain::GetGridSelection (this=0x0) at
> ParaView3/Utilities/Xdmf2/vtk/vtkXdmfReaderInternal.h:298
> 298         { return this->Grids; }
> (gdb) bt
> #0  0x00007fffe80f4a82 in vtkXdmfDomain::GetGridSelection (this=0x0)
> at ParaView3/Utilities/Xdmf2/vtk/vtkXdmfReaderInternal.h:298
> #1  0x00007fffe80fb311 in vtkXdmfReader::SetGridStatus
> (this=0x165a9a0, gridname=0x1e3facf "block0", status=1)
>    at ParaView3/Utilities/Xdmf2/vtk/vtkXdmfReader.cxx:428
> #2  0x00007fffebd5aac2 in vtkXdmfReader_SetGridStatus (msg=...,
> op=0x165a9a0, resultStream=...)
>    at /home/paul/DEV/ss02-tmp/paraview-build/Utilities/VTKClientServer/Xdmf2/vtkXdmfReaderClientServer.cxx:311
> #3  0x00007fffebd5c889 in vtkXdmfReaderCommand (arlu=0x982980,
> ob=0x165a9a0, method=0x1e3fab9 "SetGridStatus", msg=...,
> resultStream=...)
>    at /home/paul/DEV/ss02-tmp/paraview-build/Utilities/VTKClientServer/Xdmf2/vtkXdmfReaderClientServer.cxx:613
> #4  0x00007fffe838855e in
> vtkClientServerInterpreter::ProcessCommandInvoke (this=0x982980,
> css=..., midx=1)
>    at ParaView3/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:394
> #5  0x00007fffe8387c27 in
> vtkClientServerInterpreter::ProcessOneMessage (this=0x982980, css=...,
> message=1)
>    at ParaView3/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:217
> #6  0x00007fffe8387abf in vtkClientServerInterpreter::ProcessStream
> (this=0x982980, css=...)
>    at ParaView3/Utilities/VTKClientServer/vtkClientServerInterpreter.cxx:186
> #7  0x00007fffef90d307 in vtkSelfConnection::ProcessStreamLocally
> (this=0x1427500, stream=...)
>    at ParaView3/Servers/Common/vtkSelfConnection.cxx:120
> #8  0x00007fffef90d2c3 in vtkSelfConnection::SendStreamToClient
> (this=0x1427500, stream=...)
>    at ParaView3/Servers/Common/vtkSelfConnection.cxx:113
> #9  0x00007fffef894443 in vtkProcessModuleConnection::SendStream
> (this=0x1427500, servers=1, stream=...)
>    at ParaView3/Servers/Common/vtkProcessModuleConnection.cxx:242
> #10 0x00007fffef897d0c in
> vtkProcessModuleConnectionManager::SendStream (this=0xec3ac0,
> connectionID=5, serverFlags=1, stream=..., reset=1)
>    at ParaView3/Servers/Common/vtkProcessModuleConnectionManager.cxx:535
> ...
>
>
>
> On 8 March 2010 12:26, Paul Edwards <paul.m.edwards at gmail.com> wrote:
>>
>> ParaView segfaults when you try and reload a state file that contains a XDMF file.  To reproduce: open xdmf file, save state, then load it back in.
>> This is in the latest CVS version.
>> Regards,
>> Paul
>


More information about the ParaView mailing list