[Paraview] Xdmf segfault

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Mon Mar 8 09:55:20 EST 2010


Oops..I should really start reading what I type before hitting "send"
:). What I meant to say was this:

      Good catch. I am looking into this. "Your" fix "doesn't" suffice since it
      would result in the block selection from the state totally being
      disregarded. I'll get back to you soon.

Utkarsh



On Mon, Mar 8, 2010 at 9:50 AM, Utkarsh Ayachit
<utkarsh.ayachit at kitware.com> wrote:
> Paul,
>
> Good catch. I am looking into this. You fix does suffice since it
> would result in the block selection from the state totally being
> disregarded. I'll get back to you soon.
>
> Utkarsh
>
> On Mon, Mar 8, 2010 at 8:06 AM, Paul Edwards <paul.m.edwards at gmail.com> wrote:
>> 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
>>>
>> _______________________________________________
>> 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
>>
>


More information about the ParaView mailing list