[Paraview] Xdmf segfault

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Mon Mar 8 10:57:01 EST 2010


Paul,

I've committed a fix for this. Feel free to give it a try.

/cvsroot/ParaView3/ParaView3/Utilities/Xdmf2/vtk/vtkXdmfReader.cxx,v
<--  Utilities/Xdmf2/vtk/vtkXdmfReader.cxx
new revision: 1.74; previous revision: 1.73
/cvsroot/ParaView3/ParaView3/Utilities/Xdmf2/vtk/vtkXdmfReader.h,v
<--  Utilities/Xdmf2/vtk/vtkXdmfReader.h
new revision: 1.15; previous revision: 1.14
/cvsroot/ParaView3/ParaView3/Utilities/Xdmf2/vtk/vtkXdmfReaderInternal.h,v
 <--  Utilities/Xdmf2/vtk/vtkXdmfReaderInternal.h
new revision: 1.2; previous revision: 1.1

Utkarsh

On Mon, Mar 8, 2010 at 9:55 AM, Utkarsh Ayachit
<utkarsh.ayachit at kitware.com> wrote:
> 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