Jacob,

   Perhaps the cleanup can be done automatically so as to not require the user 
to know they need to call the Destroy first? The current API seems odd.



> On Jun 13, 2023, at 10:25 AM, Jacob Faibussowitsch <[email protected]> 
> wrote:
> 
> Call PetscInfoDestroy() first.
> 
> https://petsc.org/main/manualpages/Profiling/PetscInfoDestroy/
> 
> Best regards,
> 
> Jacob Faibussowitsch
> (Jacob Fai - booss - oh - vitch)
> 
>> On Jun 13, 2023, at 10:16, Jeremy Theler (External) via petsc-users 
>> <[email protected]> wrote:
>> 
>> Hello all.
>> 
>> I've asked this question to Satish personally last week at the conference, 
>> but I'm stuck so any help would be appreciated.
>> For some reason not worth explaining, I need to activate -info after 
>> PetscInitialize() has been already called.
>> I'm trying something like this:
>> 
>> PetscOptionsSetValue(NULL, "-info", NULL);        
>> PetscInfoSetFromOptions(NULL);
>> 
>> The second call fails with
>> 
>> [0]PETSC ERROR: --------------------- Error Message 
>> --------------------------------------------------------------
>> [0]PETSC ERROR: Object is in wrong state
>> [0]PETSC ERROR: PetscInfoSetClasses() cannot be called after 
>> PetscInfoGetClass() or PetscInfoProcessClass()
>> [0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
>> [0]PETSC ERROR: Petsc Release Version 3.19.2, Jun 01, 2023
>> [0]PETSC ERROR: reflexCLI on a double-int32-release named LIN54Z7SQ3 by 
>> jtheler Tue Jun 13 11:08:29 2023
>> [0]PETSC ERROR: Configure options --download-eigen --download-hdf5 
>> --download-hypre --download-metis --download-mumps --download-parmetis 
>> --download-pragmatic --download-scalapack --download-slepc 
>> --with-64-bit-indices=no --with-debugging=no --with-precision=double 
>> --with-scalar-type=real COPTFLAGS=-O3 CXXOPTFLAGS=-O3 FOPTFLAGS=-O3 
>> --download-egads --download-opencascade --download-tetgen
>> [0]PETSC ERROR: #1 PetscInfoSetClasses() at 
>> /home/jtheler/libs/petsc-3.19.2/src/sys/info/verboseinfo.c:182
>> [0]PETSC ERROR: #2 PetscInfoSetFromOptions() at 
>> /home/jtheler/libs/petsc-3.19.2/src/sys/info/verboseinfo.c:407
>> 
>> But if I ignore the non-zero return value and I allow my program to 
>> continue, the required logging is enabled.
>> I also tried using a local PetscOptions object but the result is the same.
>> 
>> Any ideas to avoid that wrong state error?
>> 
>> Thanks
>> --
>> jeremy
> 
> 

Reply via email to