Hi Jed,<br>My X server set up may be messed up somehow. Same error as before.<br><br>After I creat a new session using,<br>
vyan2000@vyan2000-linux:~/local/PPETSc/petsc-2.3.3-p15/src/ksp/ksp/examples/tutorials/ttt2$ screen -S sdebug<br><br>Still errors.<br><br>vyan2000@vyan2000-linux:~/local/PPETSc/petsc-2.3.3-p15/src/ksp/ksp/examples/tutorials/ttt2$ mpirun -n 4 ./rpisolve -start_in_debugger -debug_terminal &quot;screen -S sdebug -X screen&quot;<br>
[0]PETSC ERROR: PETSC: Attaching gdb to ./rpisolve on pid 9758 on vyan2000-linux<br>[1]PETSC ERROR: PETSC: Attaching gdb to ./rpisolve on pid 9755 on vyan2000-linux<br>[3]PETSC ERROR: PETSC: Attaching gdb to ./rpisolve on pid 9757 on vyan2000-linux<br>
[2]PETSC ERROR: PETSC: Attaching gdb to ./rpisolve on pid 9756 on vyan2000-linux<br><br>The number of the screen for gdb is not equal to the number of processes.(Mostly, less than), as you can see in the following &quot;bottom margin&quot; of my screen session.<br>
 <br>vyan2000-linux | 0.11 0.09 0.08 | 07-20 13:46 |0-$ shell  1$ gdb  2$ gdb  3$* gdb  <br><br>And I use backtrace as the first command in the survived gdb session, I get: <br>                                                  <br>
Loaded symbols for /usr/lib/libX11.so.6<br>Reading symbols from /usr/lib/libstdc++.so.6...done.<br>Loaded symbols for /usr/lib/libstdc++.so.6<br>Reading symbols from /usr/lib/liblapack.so.3gf...done.<br>Loaded symbols for /usr/lib/liblapack.so.3gf<br>
Reading symbols from /usr/lib/libblas.so.3gf...done.<br>Loaded symbols for /usr/lib/libblas.so.3gf<br>Reading symbols from /lib/tls/i686/cmov/libdl.so.2...done.<br>Loaded symbols for /lib/tls/i686/cmov/libdl.so.2<br>Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...done.<br>
[Thread debugging using libthread_db enabled]<br>[New Thread 0xb739c6c0 (LWP 10213)]<br>Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0<br>Reading symbols from /lib/tls/i686/cmov/librt.so.1...done.<br>Loaded symbols for /lib/tls/i686/cmov/librt.so.1<br>
Reading symbols from /lib/libgcc_s.so.1...done.<br>Loaded symbols for /lib/libgcc_s.so.1<br>Reading symbols from /usr/lib/libgfortran.so.2...done.<br>Loaded symbols for /usr/lib/libgfortran.so.2<br>Reading symbols from /lib/tls/i686/cmov/libm.so.6...done.<br>
Loaded symbols for /lib/tls/i686/cmov/libm.so.6<br>Reading symbols from /lib/tls/i686/cmov/libc.so.6...done.<br>Loaded symbols for /lib/tls/i686/cmov/libc.so.6<br>Reading symbols from /usr/lib/libxcb-xlib.so.0...done.<br>
Loaded symbols for /usr/lib/libxcb-xlib.so.0<br>Reading symbols from /usr/lib/libxcb.so.1...done.<br>Loaded symbols for /usr/lib/libxcb.so.1<br>Reading symbols from /lib/ld-linux.so.2...done.<br>Loaded symbols for /lib/ld-linux.so.2<br>
Reading symbols from /usr/lib/libXau.so.6...done.<br>Loaded symbols for /usr/lib/libXau.so.6<br>Reading symbols from /usr/lib/libXdmcp.so.6...done.<br>Loaded symbols for /usr/lib/libXdmcp.so.6<br>Reading symbols from /lib/tls/i686/cmov/libnss_compat.so.2...done.<br>
Loaded symbols for /lib/tls/i686/cmov/libnss_compat.so.2<br>Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...done.<br>Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1<br>Reading symbols from /lib/tls/i686/cmov/libnss_nis.so.2...done.<br>
Loaded symbols for /lib/tls/i686/cmov/libnss_nis.so.2<br>Reading symbols from /lib/tls/i686/cmov/libnss_files.so.2...done.<br>Loaded symbols for /lib/tls/i686/cmov/libnss_files.so.2<br>0xb7f5b410 in __kernel_vsyscall ()<br>
(gdb) backtrace<br>#0  0xb7f5b410 in __kernel_vsyscall ()<br>#1  0xb7456c90 in nanosleep () from /lib/tls/i686/cmov/libc.so.6<br>#2  0xb7456ac7 in sleep () from /lib/tls/i686/cmov/libc.so.6<br>#3  0x085cd836 in PetscSleep (s=10) at psleep.c:40<br>
#4  0x0860976f in PetscAttachDebugger () at adebug.c:412<br>#5  0x085b87ee in PetscOptionsCheckInitial_Private () at init.c:378<br>#6  0x085bd223 in PetscInitialize (argc=0xbfacffe0, args=0xbfacffe4, file=0x0, <br>    help=0x89cbac0 &quot;output the matrix A, rhs b.\n   exact solution x : check \n&quot;, &#39; &#39; &lt;repeats 21 times&gt;, &quot;\n\n&quot;) at pinit.c:573<br>
#7  0x0804bf43 in main (argc=9, args=0x3a0001c6) at rpisolve.c:71<br><br>I have no idea how to debug this. <br><br>Yan<br><br><br><br><br><div class="gmail_quote">On Mon, Jul 20, 2009 at 5:47 AM, Jed Brown <span dir="ltr">&lt;<a href="mailto:jed@59a2.org">jed@59a2.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">Ryan Yan wrote:<br>
&gt; Only debugging one processes is a way to go for my current bug(s).<br>
<br>
</div>There is another option for debugging multiple processes using screen<br>
instead of X.  For the sake of cleanliness, start a new terminal and<br>
open a special screen session for debugging<br>
<br>
$ screen -S sdebug<br>
<br>
Now in your original terminal, run the program like<br>
<br>
$ mpirun -n 4 ./myapp -start_in_debugger -debug_terminal &quot;screen -S sdebug -X screen&quot;<br>
<br>
(the quotes are important)<br>
<br>
This opens four new windows within the screen session named &quot;sdebug&quot;.<br>
<br>
<br>
Recent versions of MPICH2 have a -gdb option which is a lightweight skin<br>
for gdb that sends commands to all processes and collates the results,<br>
but also allows you to drop to per-process debugging.  I had trouble<br>
with it prior to release 1.1.<br>
<font color="#888888"><br>
<br>
Jed<br>
<br>
</font></blockquote></div><br>