[petsc-users] gnu debugger

Matthew Knepley knepley at gmail.com
Fri Jul 24 17:04:17 CDT 2015


On Fri, Jul 24, 2015 at 4:18 PM, Anthony Haas <aph at email.arizona.edu> wrote:

> Hi Barry,
>
> Thanks for your enlightening answers (as usual). It all makes sense now,
> indeed, I am calling PetscInitialize() multiple times. In my program, I use
> first PETSc alone to solve a linear system (I have a call to
> PetscInitialize and a call to PetscFinalize) and then I use SLEPc to
> compute eigenvalues. I did it like that because of memory consideration: I
> was thinking that some memory could be freed after the first petscfinalize
> but maybe I should only call slepcinitialize once and slepcfinalize once?
>

Yes, definitely.

  Thanks,

   Matt


> Anthony
>
>
>
>
> On 07/24/2015 02:00 PM, Barry Smith wrote:
>
>> On Jul 24, 2015, at 3:43 PM, Anthony Haas <aph at email.arizona.edu> wrote:
>>>
>>> Hi,
>>>
>>> I am trying to run my code through the gnu debugger with:
>>>
>>> ${PETSC_DIR}/${PETSC_ARCH}/bin/mpirun -n 2 ./BiGlobal_Spectral_Petsc.x
>>> -ksp_type preonly -pc_type lu -pc_factor_mat_solver_package superlu_dist
>>> -eps_view -st_ksp_type preonly -st_pc_type lu
>>> -st_pc_factor_mat_solver_package superlu_dist -start_in_debugger
>>>
>>> Following that command, I can see on my main screen:
>>>
>>> 3D POISEUILLE BASEFLOW COMPUTED ON GRID WITH NX = 15 NY = 15  ==> this
>>> is a comment in my program
>>>
>>> [0]PETSC ERROR: PETSC: Attaching gdb to ./BiGlobal_Spectral_Petsc.x of
>>> pid 30562 on display :0 on machine veltins.cfd.ame.arizona.edu
>>> [1]PETSC ERROR: PETSC: Attaching gdb to ./BiGlobal_Spectral_Petsc.x of
>>> pid 30563 on display :0 on machine veltins.cfd.ame.arizona.edu
>>>
>>>
>>> And at the same time, I have 2 xterms that open. I have attached (see
>>> below) the content of 1 of the xterms since their content is very similar.
>>> Upon opening, the xterms seem to load some debugging info and then, I get:
>>>
>>> (gdb)
>>>
>>> At that point I type continue in both xterms which then show something
>>> like: [Inferior 1 (process 30563) exited normally] (see below). And at the
>>> same time, 2 other xterms open (I have then 4 xterms open).
>>>
>>     This is not expected.  Are you calling PetscInitialize() multiple
>> times?
>>
>>  If I type continue in these 2 new xterms, I get: The program is not
>>> being run.
>>>
>>     Strange.
>>
>>
>>
>>>
>>> Is the command continue that I have used suitable here?
>>>
>>    Yes that is what I do.
>>
>>  Does the [Inferior 1 (process 30563) exited normally] means that no bug
>>> was detected?
>>>
>>    Usually yes.
>>
>>  Or does [0]PETSC ERROR: PETSC: Attaching gdb to ... means that something
>>> is going wrong?
>>>
>>    Our printing the string PETSC ERROR here is kind of silly cause there
>> is not really an error, I'll see if I can eliminate this.
>>
>>    What happens if you use just one MPI process?
>>       1) do you still get the "extra" xterm and gdb?
>>       2) if you use start_in_debugger with one MPI process does it again
>> offer an "extra" gdb after the first one?
>>
>>    Barry
>>
>>
>>> Thanks
>>>
>>> Anthony
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-64.el7
>>> Copyright (C) 2013 Free Software Foundation, Inc.
>>> License GPLv3+: GNU GPL version 3 or later <
>>> http://gnu.org/licenses/gpl.html>
>>> This is free software: you are free to change and redistribute it.
>>> There is NO WARRANTY, to the extent permitted by law.  Type "show
>>> copying"
>>> and "show warranty" for details.
>>> This GDB was configured as "x86_64-redhat-linux-gnu".
>>> For bug reporting instructions, please see:
>>> <http://www.gnu.org/software/gdb/bugs/>...
>>>
>>> Reading symbols from
>>> /home/anthony/Desktop/BiGlobal-Fortran-New/PETSc/Build-BiGlobal-Matrices/BiGlobal_Spectral_Petsc.x...done.
>>> Attaching to program:
>>> /home/anthony/Desktop/BiGlobal-Fortran-New/PETSc/Build-BiGlobal-Matrices/./BiGlobal_Spectral_Petsc.x,
>>> process 30563
>>> Reading symbols from
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libpetsc.so.3.6...done.
>>> Loaded symbols for
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libpetsc.so.3.6
>>> Reading symbols from /lib64/libpthread.so.0...(no debugging symbols
>>> found)...done.
>>> [Thread debugging using libthread_db enabled]
>>> Using host libthread_db library "/lib64/libthread_db.so.1".
>>> Loaded symbols for /lib64/libpthread.so.0
>>> Reading symbols from
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libparmetis.so...done.
>>> Loaded symbols for
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libparmetis.so
>>> Reading symbols from
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libmetis.so...done.
>>> Loaded symbols for
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libmetis.so
>>> Reading symbols from /lib64/libX11.so.6...Reading symbols from
>>> /lib64/libX11.so.6...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libX11.so.6
>>> Reading symbols from /lib64/libssl.so.10...Reading symbols from
>>> /lib64/libssl.so.10...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libssl.so.10
>>> Reading symbols from /lib64/libcrypto.so.10...Reading symbols from
>>> /lib64/libcrypto.so.10...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libcrypto.so.10
>>> Reading symbols from /lib64/libgfortran.so.3...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/libgfortran.so.3
>>> Reading symbols from /lib64/libm.so.6...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/libm.so.6
>>> Reading symbols from
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libmpifort.so.12...done.
>>> Loaded symbols for
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libmpifort.so.12
>>> Reading symbols from /lib64/libquadmath.so.0...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/libquadmath.so.0
>>> Reading symbols from
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libmpicxx.so.12...done.
>>> Loaded symbols for
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libmpicxx.so.12
>>> Reading symbols from /lib64/libstdc++.so.6...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/libstdc++.so.6
>>> Reading symbols from /lib64/libdl.so.2...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/libdl.so.2
>>> Reading symbols from
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superlu
>>> dist-complex/lib/libmpi.so.12...done.
>>> Loaded symbols for
>>> /home/anthony/LIB/petsc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libmpi.so.12
>>> Reading symbols from /lib64/libgcc_s.so.1...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/libgcc_s.so.1
>>> Reading symbols from
>>> /home/anthony/LIB/slepc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libslepc.so.3.6...done.
>>> Loaded symbols for
>>> /home/anthony/LIB/slepc-3.6.0/linux-gnu-debug-mumps-superludist-complex/lib/libslepc.so.3.6
>>> Reading symbols from /lib64/libc.so.6...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/libc.so.6
>>> Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/ld-linux-x86-64.so.2
>>> Reading symbols from /lib64/libxcb.so.1...Reading symbols from
>>> /lib64/libxcb.so.1...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libxcb.so.1
>>> Reading symbols from /lib64/libgssapi_krb5.so.2...Reading symbols from
>>> /lib64/libgssapi_krb5.so.2...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libgssapi_krb5.so.2
>>> Reading symbols from /lib64/libkrb5.so.3...Reading symbols from
>>> /lib64/libkrb5.so.3...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libkrb5.so.3
>>> Reading symbols from /lib64/libcom_err.so.2...Reading symbols from
>>> /lib64/libcom_err.so.2...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libcom_err.so.2
>>> Reading symbols from /lib64/libk5crypto.so.3...Reading symbols from
>>> /lib64/libk5crypto.so.3...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libk5crypto.so.3
>>> Reading symbols from /lib64/libz.so.1...Reading symbols from
>>> /lib64/libz.so.1...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libz.so.1
>>> Reading symbols from /lib64/librt.so.1...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/librt.so.1
>>> Reading symbols from /lib64/libXau.so.6...Reading symbols from
>>> /lib64/libXau.so.6...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libXau.so.6
>>> Reading symbols from /lib64/libkrb5support.so.0...Reading symbols from
>>> /lib64/libkrb5support.so.0...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libkrb5support.so.0
>>> Reading symbols from /lib64/libkeyutils.so.1...Reading symbols from
>>> /lib64/libkeyutils.so.1...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libkeyutils.so.1
>>> Reading symbols from /lib64/libresolv.so.2...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/libresolv.so.2
>>> Reading symbols from /lib64/libselinux.so.1...Reading symbols from
>>> /lib64/libselinux.so.1...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libselinux.so.1
>>> Reading symbols from /lib64/libpcre.so.1...Reading symbols from
>>> /lib64/libpcre.s
>>> o.1...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/libpcre.so.1
>>> Reading symbols from /lib64/liblzma.so.5...Reading symbols from
>>> /lib64/liblzma.so.5...(no debugging symbols found)...done.
>>> (no debugging symbols found)...done.
>>> Loaded symbols for /lib64/liblzma.so.5
>>> Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols
>>> found)...done.
>>> Loaded symbols for /lib64/libnss_files.so.2
>>> 0x00007faacd261470 in __nanosleep_nocancel () from /lib64/libc.so.6
>>> Missing separate debuginfos, use: debuginfo-install
>>> glibc-2.17-78.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64
>>> krb5-libs-1.12.2-14.el7.x86_64 libX11-1.6.0-2.1.el7.x86_64
>>> libXau-1.0.8-2.1.el7.x86_64 libcom_err-1.42.9-7.el7.x86_64
>>> libgcc-4.8.3-9.el7.x86_64 libgfortran-4.8.3-9.el7.x86_64
>>> libquadmath-4.8.3-9.el7.x86_64 libselinux-2.2.2-6.el7.x86_64
>>> libstdc++-4.8.3-9.el7.x86_64 libxcb-1.9-5.el7.x86_64
>>> openssl-libs-1.0.1e-42.el7.9.x86_64 pcre-8.32-14.el7.x86_64
>>> xz-libs-5.1.2-9alpha.el7.x86_64 zlib-1.2.7-13.el7.x86_64
>>> (gdb) continue
>>> Continuing.
>>> Detaching after fork from child process 30734.
>>> [Inferior 1 (process 30563) exited normally]
>>>
>>>
>


-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150724/557b6050/attachment-0001.html>


More information about the petsc-users mailing list