Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-22 Thread Geoffrey Irving
More info: it works fine if I exec after the fork (or equivalently, run anything via system). This provides a sufficient workaround at least for me, so it's probably not worth complaining further that a proprietarily modified decade old version of gdb doesn't work. :) Thanks, Geoffrey On Fri,

Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-22 Thread George Bosilca
Geoffrey, If I understand correctly your problem, I think it is a gdb issue. You should inform gdb that after the fork call instead of following the parent you expect to follow the child. set follow-fork-mode child (should do the trick). For more info:

Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-22 Thread Geoffrey Irving
No luck with gdb 7.5.1. I can get it to run, but it hits an internal error and bails out. Thus, I'm stuck with Apple's 6.3.50. I suppose I'll try to restructure the app so that I don't have to spawn the mpi process with a fork from the other one. Geoffrey On Thu, Feb 21, 2013 at 4:38 PM,

Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-21 Thread Geoffrey Irving
No, I don't really have any idea what it's doing. You have to add manual sleeps and attach another instance of gdb if you want to step through the child, since I also can't get follow-fork-mode child to work. I only tried that once, and it segfaulted accessing the zero pointer destroying the

Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-21 Thread Ralph Castain
Hmmm...how about that? Yeah, it doesn't work with the devel trunk either - I'd missed that point. No idea why, I'm afraid - never tried it before. Are you sure it "crashes"? I'm still getting a child status of "0", but no message output. My guess is that the I/O is being lost for some reason.

Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-21 Thread Geoffrey Irving
Actually, I don't see it printing "We're an MPI program!" under gdb, which means it isn't working. Geoffrey On Thu, Feb 21, 2013 at 4:07 PM, Ralph Castain wrote: > Hmmm...works with 1.6.4 for me on Mac 10.8.2: > > Ralphs-iMac:v1.6 rhc$ ./fork-bug > We're an MPI program! >

Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-21 Thread Ralph Castain
Hmmm...works with 1.6.4 for me on Mac 10.8.2: Ralphs-iMac:v1.6 rhc$ ./fork-bug We're an MPI program! child status = 0 Ralphs-iMac:v1.6 rhc$ gdb ./fork-bug GNU gdb 6.3.50-20050815 (Apple version gdb-1820) (Sat Jun 16 02:40:11 UTC 2012) Copyright 2004 Free Software Foundation, Inc. GDB is free

Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-21 Thread Geoffrey Irving
The singleton fork/exec itself is fine, since normal MPI programs work under gdb (e.g., fork-bug.c without the fork). gdb is has follow-fork-mode set to parent, so it's odd that gdb is looking at the child process's trickery at all. I've confirmed that it's still broken under 1.6.4,

Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-21 Thread Ralph Castain
Singletons fork/exec a daemon to support them - my guess is that gdb may not like it on your machine? FWIW - it runs fine for me using the developer's trunk. You might try with 1.6.4 in case it's a bug in 1.6.0 On Feb 21, 2013, at 3:18 PM, Geoffrey Irving wrote: > The

[OMPI users] openmpi MPI_Init doesn't work after fork under gdb

2013-02-21 Thread Geoffrey Irving
The attached program illustrates the problem. It forks, and the child calls MPI_Init. This works fine unless I'm inside gdb. Inside gdb, MPI_Init silently crashes. I'm using OpenMPI 1.6.0 on Mac 10.8.2. I'm running the program directly, not through mpirun. Any ideas what might be wrong?