[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