[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