Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] openmpi MPI_Init doesn't work after fork under gdb
From: Geoffrey Irving (irving_at_[hidden])
Date: 2013-02-21 18:50:45


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.

Geoffrey

On Thu, Feb 21, 2013 at 3:36 PM, Ralph Castain <rhc_at_[hidden]> wrote:
> 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 <irving_at_[hidden]> wrote:
>
>> 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?
>>
>> Thanks,
>> Geoffrey
>>
>> cone:scratch% /usr/local/bin/mpicc -o fork-bug fork-bug.c
>> cone:scratch% ./fork-bug
>> We're an MPI program!
>> child status = 0
>> cone:scratch% gdb ./fork-bug
>> gdb ./fork-bug
>> GNU gdb 6.3.50-20050815 (Apple version gdb-1824) (Thu Nov 15 10:42:43 UTC 2012)
>> Copyright 2004 Free Software Foundation, Inc.
>> GDB is free software, covered by the GNU General Public License, and you are
>> welcome to change it and/or distribute copies of it under certain conditions.
>> Type "show copying" to see the conditions.
>> There is absolutely no warranty for GDB. Type "show warranty" for details.
>> This GDB was configured as "x86_64-apple-darwin"...Reading symbols for
>> shared libraries ... done
>>
>> (gdb) run
>> Reading symbols for shared libraries ++............................. done
>> child status = 5
>>
>> Program exited normally.
>> (gdb) cone:scratch%
>> <fork-bug.c>_______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users