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, Fe
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: http://sourceware.org/gdb/onlinedocs/gdb/
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, Geoff
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 stac
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.
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!
> child status = 0
> Ralp
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 soft
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, unfortunately
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 attached program illust
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?
Than
10 matches
Mail list logo