[petsc-dev] PetscFinalize broken with -options_table ?

Barry Smith bsmith at mcs.anl.gov
Tue Mar 18 23:52:38 CDT 2014


  Bill,

    Fixed in maint and soon to be pushed to next and then master

     Thanks for providing a working program that exhibits the problem so well. It was a rather convoluted bug. So long as you either avoid the -options_left option or make sure all PETSc objects are destroyed before PetscFinalize() it should not bit you until you get the fix.

   Barry

On Mar 18, 2014, at 10:46 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

> 
>   False alarm, problem is not as general as I stated.
> 
>   I can reproduce the problem in maint with your example code when -breakme is on 
> 
>    Problem also happens in master
> 
>   Still working on it.
> 
>    Barry
> 
> 
> 
> 
> 
> 
> On Mar 18, 2014, at 10:17 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
>> 
>>  This looks like a problem unrelated to viewers, options,  etc. 
>> 
>>  In maint, 3.4.3 and 3.4.4 PetscFinalize() crashes if any PETSc object (like your viewer) is not destroyed before PetscFinalize(). This does not occur in master and is not suppose to happen.
>> 
>>   Trying to track it down but could take a while to determine what change broke this.
>> 
>>  Barry
>> 
>> 
>> 
>> 
>> 
>> On Mar 18, 2014, at 6:20 PM, William Perkins <william.perkins at pnnl.gov> wrote:
>> 
>>> All,
>>> 
>>> I also ran into this today.
>>> 
>>> Attached is a minimal program that exhibited the problem for me. Initially, I thought it was because I was using non-default formats (e.g. MATLAB) for VecView and MatView, but I think any Viewer use causes the problem.
>>> 
>>> Thanks.
>>> 
>>> Bill
>>> 
>>> P.S. I'm using 3.4.3 configured as follows:
>>> 
>>> python ./config/configure.py \
>>>  PETSC_ARCH=arch-macosx-complex-opt \
>>>  --with-prefix="$prefix" \
>>>  --with-mpi=1 \
>>>  --with-cc=mpicc \
>>>  --with-fc=mpif90 \
>>>  --with-cxx=mpicxx \
>>>  --with-c++-support=1 \
>>>  --with-c-support=0 \
>>>  --with-fortran=0 \
>>>  --with-scalar-type=complex \
>>>  --with-fortran-kernels=generic \
>>>  --with-valgrind=0 \
>>>  --download-superlu_dist \
>>>  --download-parmetis \
>>>  --download-metis \
>>>  --download-f2cblaslapack=1 \
>>>  --with-clanguage=c++ \
>>>  --with-shared-libraries=0 \
>>>  --with-dynamic-loading=0 \
>>>  --with-x=0 \
>>>  --with-mpirun=mpiexec \
>>>  --with-mpiexec=mpiexec \
>>>  --with-debugging=0
>>> 
>>> 
>>> On 03/12/2014 04:30 AM, Matthew Knepley wrote:
>>>> On Wed, Mar 12, 2014 at 4:52 AM, Václav Hapla <vaclav.hapla at vsb.cz
>>>> <mailto:vaclav.hapla at vsb.cz>> wrote:
>>>> 
>>>>  You're right this is not happening with the petsc example. Thus it's
>>>>  probably problem in my code. I'll come back when I know what's the
>>>>  true reason.
>>>> 
>>>> 
>>>> It could still be our bug. If you can strip down your code and send it,
>>>> I will look at it.
>>>> 
>>>> Thanks,
>>>> 
>>>>    Matt
>>>> 
>>>>  Matt, sorry for replying to your personal address only.
>>>> 
>>>>  Thank you,
>>>>  Vaclav
>>>> 
>>>> 
>>>>  Dne 11.3.2014 16:04, Matthew Knepley napsal(a):
>>>>>  On Tue, Mar 11, 2014 at 9:27 AM, Václav Hapla <vaclav.hapla at vsb.cz
>>>>>  <mailto:vaclav.hapla at vsb.cz>> wrote:
>>>>> 
>>>>>      FWICS PetscFinalize in petsc-current contains the following bug.
>>>>>      It calls
>>>>>         PetscObjectRegisterDestroyAll()
>>>>>      and after that, if -options_table is present, it calls
>>>>>      PetscViewerASCIIGetStdout(PETSC_COMM_WORLD,&viewer);
>>>>>         PetscOptionsView(viewer);
>>>>>      causing
>>>>>         [0]PETSC ERROR: No support for this operation for this
>>>>>      object type!
>>>>>         [0]PETSC ERROR: Only supports ASCII viewer!
>>>>>      because the viewer is destroyed already by
>>>>>      PetscObjectRegisterDestroyAll.
>>>>> 
>>>>>      I haven't tested petsc-dev but I can see in it's the same
>>>>>      situation in the pinit.c source.
>>>>> 
>>>>> 
>>>>>  I cannot reproduce this on 'next':
>>>>> 
>>>>>  next $:/PETSc3/petsc/petsc-dev/src/snes/examples/tutorials$ ./ex19
>>>>>  -options_table -snes_monitor
>>>>>  PETSC_OPTIONS="-cublas 0" ./ex19 -options_table -snes_monitor
>>>>>  lid velocity = 0.0625, prandtl # = 1, grashof # = 1
>>>>>    0 SNES Function norm 2.391552133017e-01
>>>>>    1 SNES Function norm 6.839858507066e-05
>>>>>    2 SNES Function norm 8.558777232425e-11
>>>>>  Number of SNES iterations = 2
>>>>>  #PETSc Option Table entries:
>>>>>  -options_table
>>>>>  -snes_monitor
>>>>>  #End of PETSc Option Table entries
>>>>> 
>>>>>  Can you reproduce this with a PETSc example?
>>>>> 
>>>>>    Thanks,
>>>>> 
>>>>>       Matt
>>>>> 
>>>>>      Best regards,
>>>>>      Vaclav
>>>>> 
>>>>> 
>>>>>      --
>>>>> 
>>>>>      Vaclav Hapla
>>>>>      Junior researcher / PhD student
>>>>>      IT4Innovations <http://www.it4i.eu/> / Dept. of Applied
>>>>>      Mathematics <http://am.vsb.cz/>
>>>>> 
>>>>>      _office PI 328_
>>>>>      tel.: (+420) 597 329 078 <tel:%28%2B420%29%20597%20329%20078>
>>>>>      Podnikatelsky inkubator VSB-TUO
>>>>>      Studentska 6202/17
>>>>>      708 00 Ostrava-Poruba
>>>>>      Czech Republic
>>>>> 
>>>>>      _contact address_
>>>>>      IT4Innovations
>>>>>      VSB - Technical University of Ostrava
>>>>>      17. listopadu 15/2172
>>>>>      708 33 Ostrava-Poruba
>>>>>      Czech Republic
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>  --
>>>>>  What most experimenters take for granted before they begin their
>>>>>  experiments is infinitely more interesting than any results to
>>>>>  which their experiments lead.
>>>>>  -- Norbert Wiener
>>>> 
>>>>  --
>>>> 
>>>>  Vaclav Hapla
>>>>  Junior researcher / PhD student
>>>>  IT4Innovations <http://www.it4i.eu/> / Dept. of Applied Mathematics
>>>>  <http://am.vsb.cz/>
>>>> 
>>>>  _office PI 328_
>>>>  tel.: (+420) 597 329 078 <tel:%28%2B420%29%20597%20329%20078>
>>>>  Podnikatelsky inkubator VSB-TUO
>>>>  Studentska 6202/17
>>>>  708 00 Ostrava-Poruba
>>>>  Czech Republic
>>>> 
>>>>  _contact address_
>>>>  IT4Innovations
>>>>  VSB - Technical University of Ostrava
>>>>  17. listopadu 15/2172
>>>>  708 33 Ostrava-Poruba
>>>>  Czech Republic
>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> What most experimenters take for granted before they begin their
>>>> experiments is infinitely more interesting than any results to which
>>>> their experiments lead.
>>>> -- Norbert Wiener
>>> 
>>> -- 
>>> Bill Perkins
>>> Research Engineer
>>> Hydrology Group
>>> 
>>> Pacific Northwest National Laboratory
>>> 902 Battelle Boulevard
>>> P.O. Box 999, MSIN K9-36
>>> Richland, WA  99352 USA
>>> Tel:  509-372-6131
>>> Fax: 509-372-6089
>>> william.perkins at pnnl.gov
>>> www.pnnl.gov
>>> <viewer.cpp><viewer.out>
>> 
> 




More information about the petsc-dev mailing list