Seems that way, it works for me on Linux.<br><br><div class="gmail_quote">On Sat, Jun 30, 2012 at 7:40 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
   Both windows just disappear and program ends if I hit y or Y. Maybe a Mac thing.<br>
<span class="HOEnZb"><font color="#888888"><br>
   Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Jun 30, 2012, at 7:51 PM, Jed Brown wrote:<br>
<br>
> Did you try this?<br>
><br>
> mpiexec -n 2 xterm -e valgrind --db-attach=yes ./ex -args<br>
><br>
> On Sat, Jun 30, 2012 at 4:33 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
>    Has anyone documented a simple way to run parallel programs with mpiexec and valgrind and use the --db-attach=yes option to use the debugger on a process to see what is going on?<br>
><br>
>    My simple minded attempt leads to uselessness; it tries to ask me about using the debugger but seems to be in tty hell.<br>
><br>
>     Thanks<br>
><br>
>     Barry<br>
><br>
><br>
> barry-smiths-macbook-pro:LuLu barrysmith$ ~/Src/petsc-dev/arch-gnu/bin/mpiexec -n 2 valgrind --tool=memcheck --db-attach=yes --dsymutil=yes --num-callers=20  -q  ./ex26 -ts_type beuler<br>
> --55788-- run: /usr/bin/dsymutil "./ex26"<br>
> --55789-- run: /usr/bin/dsymutil "./ex26"<br>
> error: No such file or directory - old dSYM file cannot be overwritten:         old: './ex26.dSYM/Contents/Resources/DWARF/ex26'<br>
>         new:'./ex26.dSYM/Contents/Resources/DWARF/ex26.x86_64'.<br>
> --55789-- run: /usr/bin/dsymutil "/Users/barrysmith/Src/petsc-dev/arch-gnu/lib/libpetsc.dylib"<br>
> --55788-- run: /usr/bin/dsymutil "/Users/barrysmith/Src/petsc-dev/arch-gnu/lib/libpetsc.dylib"<br>
> error: No such file or directory - old dSYM file cannot be overwritten:         old: '/Users/barrysmith/Src/petsc-dev/arch-gnu/lib/libpetsc.dylib.dSYM/Contents/Resources/DWARF/libpetsc.dylib'<br>
>         new:'/Users/barrysmith/Src/petsc-dev/arch-gnu/lib/libpetsc.dylib.dSYM/Contents/Resources/DWARF/libpetsc.dylib.x86_64'.<br>
> --55788-- run: /usr/bin/dsymutil "/Users/barrysmith/Src/petsc-dev/arch-gnu/lib/libparmetis.dylib"<br>
> --55789-- run: /usr/bin/dsymutil "/Users/barrysmith/Src/petsc-dev/arch-gnu/lib/libparmetis.dylib"<br>
> --55788-- run: /usr/bin/dsymutil "/Users/barrysmith/Src/petsc-dev/arch-gnu/lib/libmetis.dylib"<br>
> --55789-- run: /usr/bin/dsymutil "/Users/barrysmith/Src/petsc-dev/arch-gnu/lib/libmetis.dylib"<br>
><br>
> warning: (x86_64) /Users/barrysmith/Src/petsc-dev/externalpackages/mpich2-1.4.1p1/lib/.tmp/wtimef.o unable to open object file<br>
> warning: no debug symbols in executable (-arch x86_64)<br>
> 4x4 grid, water viscosity = 1, oil vescosity # = 1,<br>
>  connate water saturation # = 0 irreducible oil saturation # =0<br>
> timestep 0 time 0<br>
> ==55789== Use of uninitialised value of size 8<br>
> ==55789==    at 0x100002B3C: Mobility (ex26.c:116)<br>
> ==55789==    by 0x10000637F: FormIFunctionLocal (ex26.c:579)<br>
> ==55789==    by 0x100007791: FormIFunction (ex26.c:680)<br>
> ==55789==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55789==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55789==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55789==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55789==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55789==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55789==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55789==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55789==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55789==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55789==<br>
> ==55789==<br>
> ==55789== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- ==55789== Invalid read of size 8<br>
> ==55789==    at 0x100002B3C: Mobility (ex26.c:116)<br>
> ==55789==    by 0x10000637F: FormIFunctionLocal (ex26.c:579)<br>
> ==55789==    by 0x100007791: FormIFunction (ex26.c:680)<br>
> ==55789==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55789==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55789==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55789==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55789==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55789==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55789==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55789==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55789==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55789==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55789==  Address 0x8 is not stack'd, malloc'd or (recently) free'd<br>
> ==55789==<br>
> ==55789== Conditional jump or move depends on uninitialised value(s)<br>
> ==55789==    at 0x102738F7B: signal__ (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x100181B19: PetscDefaultSignalHandler (signal.c:143)<br>
> ==55789==    by 0x1001818AE: PetscSignalHandler_Private (signal.c:53)<br>
> ==55789==    by 0x138048EF3: ???<br>
> ==55789==    by 0x10000637F: FormIFunctionLocal (ex26.c:579)<br>
> ==55789==    by 0x100007791: FormIFunction (ex26.c:680)<br>
> ==55789==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55789==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55789==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55789==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55789==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55789==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55789==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55789==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55789==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55789==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55789==<br>
> ==55789== Conditional jump or move depends on uninitialised value(s)<br>
> ==55789==    at 0x102738FD7: sigaction (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x102738FA6: signal__ (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x100181B19: PetscDefaultSignalHandler (signal.c:143)<br>
> ==55789==    by 0x1001818AE: PetscSignalHandler_Private (signal.c:53)<br>
> ==55789==    by 0x138048EF3: ???<br>
> ==55789==    by 0x10000637F: FormIFunctionLocal (ex26.c:579)<br>
> ==55789==    by 0x100007791: FormIFunction (ex26.c:680)<br>
> ==55789==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55789==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55789==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55789==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55789==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55789==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55789==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55789==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55789==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55789==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55789==<br>
> ==55789== Conditional jump or move depends on uninitialised value(s)<br>
> ==55789==    at 0x102738FDC: sigaction (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x102738FA6: signal__ (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x100181B19: PetscDefaultSignalHandler (signal.c:143)<br>
> ==55789==    by 0x1001818AE: PetscSignalHandler_Private (signal.c:53)<br>
> ==55789==    by 0x138048EF3: ???<br>
> ==55789==    by 0x10000637F: FormIFunctionLocal (ex26.c:579)<br>
> ==55789==    by 0x100007791: FormIFunction (ex26.c:680)<br>
> ==55789==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55789==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55789==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55789==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55789==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55789==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55789==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55789==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55789==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55789==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55789==<br>
> ==55789== Conditional jump or move depends on uninitialised value(s)<br>
> ==55789==    at 0x102738FE1: sigaction (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x102738FA6: signal__ (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x100181B19: PetscDefaultSignalHandler (signal.c:143)<br>
> ==55789==    by 0x1001818AE: PetscSignalHandler_Private (signal.c:53)<br>
> ==55789==    by 0x138048EF3: ???<br>
> ==55789==    by 0x10000637F: FormIFunctionLocal (ex26.c:579)<br>
> ==55789==    by 0x100007791: FormIFunction (ex26.c:680)<br>
> ==55789==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55789==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55789==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55789==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55789==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55789==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55789==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55789==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55789==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55789==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55789==<br>
> ==55789== Syscall param sigaction(signum) contains uninitialised byte(s)<br>
> ==55789==    at 0x102739032: __sigaction (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x102738FA6: signal__ (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x100181B19: PetscDefaultSignalHandler (signal.c:143)<br>
> ==55789==    by 0x1001818AE: PetscSignalHandler_Private (signal.c:53)<br>
> ==55789==    by 0x138048EF3: ???<br>
> ==55789==    by 0x10000637F: FormIFunctionLocal (ex26.c:579)<br>
> ==55789==    by 0x100007791: FormIFunction (ex26.c:680)<br>
> ==55789==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55789==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55789==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55789==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55789==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55789==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55789==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55789==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55789==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55789==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55789==<br>
> ==55789==<br>
> ==55789== Process terminating with default action of signal 11 (SIGSEGV)<br>
> ==55789==  General Protection Fault<br>
> ==55789==    at 0x1027F0FC1: dyld_stub_binder (in /usr/lib/libSystem.B.dylib)<br>
> ==55789==    by 0x101C4549F: ??? (in /Users/barrysmith/Src/petsc-dev/arch-gnu/lib/libpetsc.dylib)<br>
> ==55789==    by 0x100181B31: PetscDefaultSignalHandler (signal.c:144)<br>
> ==55789==    by 0x1001818AE: PetscSignalHandler_Private (signal.c:53)<br>
> ==55789==    by 0x138048EF3: ???<br>
> ==55789==    by 0x10000637F: FormIFunctionLocal (ex26.c:579)<br>
> ==55789==    by 0x100007791: FormIFunction (ex26.c:680)<br>
> ==55789==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55789==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55789==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55789==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55789==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55789==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55789==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55789==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55789==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55789==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55788== Invalid read of size 8<br>
> ==55788==    at 0x100006443: FormIFunctionLocal (ex26.c:581)<br>
> ==55788==    by 0x100007791: FormIFunction (ex26.c:680)<br>
> ==55788==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55788==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55788==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55788==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55788==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55788==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55788==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55788==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55788==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55788==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55788==  Address 0x1045cf920 is 1,936 bytes inside a block of size 1,940 alloc'd<br>
> ==55788==    at 0x1000251EF: malloc (vg_replace_malloc.c:236)<br>
> ==55788==    by 0x1000CC71B: PetscMallocAlign (mal.c:37)<br>
> ==55788==    by 0x1000CDF89: PetscTrMallocDefault (mtr.c:190)<br>
> ==55788==    by 0x1002B338B: VecGetArray2d (rvector.c:1759)<br>
> ==55788==    by 0x1009430B0: DMDAVecGetArray (dagetarray.c:72)<br>
> ==55788==    by 0x100007536: FormIFunction (ex26.c:673)<br>
> ==55788==    by 0x100DACF67: TSComputeIFunction (ts.c:374)<br>
> ==55788==    by 0x100DA3778: SNESTSFormFunction_Theta (theta.c:204)<br>
> ==55788==    by 0x100DC2D27: SNESTSFormFunction (ts.c:2560)<br>
> ==55788==    by 0x100CACE87: SNESComputeFunction (snes.c:1901)<br>
> ==55788==    by 0x100CF7651: SNESSolve_LS (ls.c:161)<br>
> ==55788==    by 0x100CBF982: SNESSolve (snes.c:3549)<br>
> ==55788==    by 0x100DA223F: TSStep_Theta (theta.c:114)<br>
> ==55788==    by 0x100DBC4B9: TSStep (ts.c:1827)<br>
> ==55788==    by 0x100DBDA12: TSSolve (ts.c:1951)<br>
> ==55788==    by 0x1000047A8: main (ex26.c:327)<br>
> ==55788==<br>
> ==55788==<br>
> ==55788== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ----<br>
> =====================================================================================<br>
> =   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES<br>
> =   EXIT CODE: 11<br>
> =   CLEANING UP REMAINING PROCESSES<br>
> =   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES<br>
> =================================================================================<br>
><br>
><br>
<br>
</div></div></blockquote></div><br>