Ah...I take that back. We changed this and now we _do_ indeed go down that code path. Not good.
So yes, we need that putenv so it gets the jobid from the HNP that was launched, like it used to do. You want to throw that in? Thanks Ralph > On Sep 14, 2016, at 8:18 PM, r...@open-mpi.org wrote: > > Nah, something isn’t right here. The singleton doesn’t go thru that code > line, or it isn’t supposed to do so. I think the problem lies in the way the > singleton in 2.x is starting up. Let me take a look at how singletons are > working over there. > >> On Sep 14, 2016, at 8:10 PM, Gilles Gouaillardet <gil...@rist.or.jp> wrote: >> >> Ralph, >> >> >> i think i just found the root cause :-) >> >> >> from pmix1_client_init() in opal/mca/pmix/pmix112/pmix1_client.c >> >> /* store our jobid and rank */ >> if (NULL != getenv(OPAL_MCA_PREFIX"orte_launch")) { >> /* if we were launched by the OMPI RTE, then >> * the jobid is in a special format - so get it */ >> mca_pmix_pmix112_component.native_launch = true; >> opal_convert_string_to_jobid(&pname.jobid, my_proc.nspace); >> } else { >> /* we were launched by someone else, so make the >> * jobid just be the hash of the nspace */ >> OPAL_HASH_STR(my_proc.nspace, pname.jobid); >> /* keep it from being negative */ >> pname.jobid &= ~(0x8000); >> } >> >> >> in this case, there is no OPAL_MCA_PREFIX"orte_launch" in the environment, >> so we end up using a jobid that is a hash of the namespace >> >> the initial error message was >> [lorien:142766] [[9325,5754],0] usock_peer_recv_connect_ack: received >> unexpected process identifier [[9325,0],0] from [[5590,0],0] >> >> and with little surprise >> ((9325 << 16) + 1) and ((5590 << 16) + 1) have the same hash as calculated >> by OPAL_HASH_STR >> >> >> i am now thinking the right fix is to simply >> putenv(OPAL_MCA_PREFIX"orte_launch=1"); >> in ess/singleton >> >> makes sense ? >> >> >> Cheers, >> >> Gilles >> >> On 9/15/2016 2:58 AM, Eric Chamberland wrote: >>> Ok, >>> >>> one test segfaulted *but* I can't tell if it is the *same* bug because >>> there has been a segfault: >>> >>> stderr: >>> http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.14.10h38m52s.faultyCerr.Triangle.h_cte_1.txt >>> >>> >>> [lorien:190552] [[INVALID],INVALID] plm:rsh_lookup on agent ssh : rsh path >>> NULL >>> [lorien:190552] plm:base:set_hnp_name: initial bias 190552 nodename hash >>> 1366255883 >>> [lorien:190552] plm:base:set_hnp_name: final jobfam 53310 >>> [lorien:190552] [[53310,0],0] plm:rsh_setup on agent ssh : rsh path NULL >>> [lorien:190552] [[53310,0],0] plm:base:receive start comm >>> *** Error in `orted': realloc(): invalid next size: 0x0000000001e58770 *** >>> ... >>> ... >>> [lorien:190306] [[INVALID],INVALID] ORTE_ERROR_LOG: Unable to start a >>> daemon on the local node in file ess_singleton_module.c at line 573 >>> [lorien:190306] [[INVALID],INVALID] ORTE_ERROR_LOG: Unable to start a >>> daemon on the local node in file ess_singleton_module.c at line 163 >>> *** An error occurred in MPI_Init_thread >>> *** on a NULL communicator >>> *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, >>> *** and potentially your MPI job) >>> [lorien:190306] Local abort before MPI_INIT completed completed >>> successfully, but am not able to aggregate error messages, and not able to >>> guarantee that all other processes were killed! >>> >>> stdout: >>> >>> -------------------------------------------------------------------------- >>> It looks like orte_init failed for some reason; your parallel process is >>> likely to abort. There are many reasons that a parallel process can >>> fail during orte_init; some of which are due to configuration or >>> environment problems. This failure appears to be an internal failure; >>> here's some additional information (which may only be relevant to an >>> Open MPI developer): >>> >>> orte_ess_init failed >>> --> Returned value Unable to start a daemon on the local node (-127) >>> instead of ORTE_SUCCESS >>> -------------------------------------------------------------------------- >>> -------------------------------------------------------------------------- >>> It looks like MPI_INIT failed for some reason; your parallel process is >>> likely to abort. There are many reasons that a parallel process can >>> fail during MPI_INIT; some of which are due to configuration or environment >>> problems. This failure appears to be an internal failure; here's some >>> additional information (which may only be relevant to an Open MPI >>> developer): >>> >>> ompi_mpi_init: ompi_rte_init failed >>> --> Returned "Unable to start a daemon on the local node" (-127) instead of >>> "Success" (0) >>> -------------------------------------------------------------------------- >>> >>> openmpi content of $TMP: >>> >>> /tmp/tmp.GoQXICeyJl> ls -la >>> total 1500 >>> drwx------ 3 cmpbib bib 250 Sep 14 13:34 . >>> drwxrwxrwt 356 root root 61440 Sep 14 13:45 .. >>> ... >>> drwx------ 1848 cmpbib bib 45056 Sep 14 13:34 >>> openmpi-sessions-40031@lorien_0 >>> srw-rw-r-- 1 cmpbib bib 0 Sep 14 12:24 pmix-190552 >>> >>> cmpbib@lorien:/tmp/tmp.GoQXICeyJl/openmpi-sessions-40031@lorien_0> find . >>> -type f >>> ./53310/contact.txt >>> >>> cat 53310/contact.txt >>> 3493724160.0;usock;tcp://132.203.7.36:54605 >>> 190552 >>> >>> egrep 'jobfam|stop' */*/Cerr* ../BIBTV/*/*/*/Cerr*|grep 53310 >>> dev/Test.FonctionsSUPG/Cerr.Triangle.h_cte_1.txt:[lorien:190552] >>> plm:base:set_hnp_name: final jobfam 53310 >>> >>> (this is the faulty test) >>> full egrep: >>> http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.14.10h38m52s.egrep.txt >>> >>> >>> config.log: >>> http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.14.10h38m52s_config.log >>> >>> >>> ompi_info: >>> http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.14.10h38m52s_ompi_info_all.txt >>> >>> >>> Maybe it aborted (instead of giving the other message) while doing the >>> error because of export OMPI_MCA_plm_base_verbose=5 ? >>> >>> Thanks, >>> >>> Eric >>> >>> >>> On 14/09/16 10:27 AM, Gilles Gouaillardet wrote: >>>> Eric, >>>> >>>> do you mean you have a unique $TMP per a.out ? >>>> or a unique $TMP per "batch" of run ? >>>> >>>> in the first case, my understanding is that conflicts cannot happen ... >>>> >>>> once you hit the bug, can you please please post the output of the >>>> failed a.out, >>>> and run >>>> egrep 'jobfam|stop' >>>> on all your logs, so we might spot a conflict >>>> >>>> Cheers, >>>> >>>> Gilles >>>> >>>> On Wednesday, September 14, 2016, Eric Chamberland >>>> <eric.chamberl...@giref.ulaval.ca >>>> <mailto:eric.chamberl...@giref.ulaval.ca>> wrote: >>>> >>>> Lucky! >>>> >>>> Since each runs have a specific TMP, I still have it on disc. >>>> >>>> for the faulty run, the TMP variable was: >>>> >>>> TMP=/tmp/tmp.wOv5dkNaSI >>>> >>>> and into $TMP I have: >>>> >>>> openmpi-sessions-40031@lorien_0 >>>> >>>> and into this subdirectory I have a bunch of empty dirs: >>>> >>>> cmpbib@lorien:/tmp/tmp.wOv5dkNaSI/openmpi-sessions-40031@lorien_0> >>>> ls -la |wc -l >>>> 1841 >>>> >>>> cmpbib@lorien:/tmp/tmp.wOv5dkNaSI/openmpi-sessions-40031@lorien_0> >>>> ls -la |more >>>> total 68 >>>> drwx------ 1840 cmpbib bib 45056 Sep 13 03:49 . >>>> drwx------ 3 cmpbib bib 231 Sep 13 03:50 .. >>>> drwx------ 2 cmpbib bib 6 Sep 13 02:10 10015 >>>> drwx------ 2 cmpbib bib 6 Sep 13 03:05 10049 >>>> drwx------ 2 cmpbib bib 6 Sep 13 03:15 10052 >>>> drwx------ 2 cmpbib bib 6 Sep 13 02:22 10059 >>>> drwx------ 2 cmpbib bib 6 Sep 13 02:22 10110 >>>> drwx------ 2 cmpbib bib 6 Sep 13 02:41 10114 >>>> ... >>>> >>>> If I do: >>>> >>>> lsof |grep "openmpi-sessions-40031" >>>> lsof: WARNING: can't stat() fuse.gvfsd-fuse file system >>>> /run/user/1000/gvfs >>>> Output information may be incomplete. >>>> lsof: WARNING: can't stat() tracefs file system >>>> /sys/kernel/debug/tracing >>>> Output information may be incomplete. >>>> >>>> nothing... >>>> >>>> What else may I check? >>>> >>>> Eric >>>> >>>> >>>> On 14/09/16 08:47 AM, Joshua Ladd wrote: >>>> >>>> Hi, Eric >>>> >>>> I **think** this might be related to the following: >>>> >>>> https://github.com/pmix/master/pull/145 >>>> <https://github.com/pmix/master/pull/145> >>>> >>>> I'm wondering if you can look into the /tmp directory and see if you >>>> have a bunch of stale usock files. >>>> >>>> Best, >>>> >>>> Josh >>>> >>>> >>>> On Wed, Sep 14, 2016 at 1:36 AM, Gilles Gouaillardet >>>> <gil...@rist.or.jp >>>> <mailto:gil...@rist.or.jp>> wrote: >>>> >>>> Eric, >>>> >>>> >>>> can you please provide more information on how your tests >>>> are launched ? >>>> >>>> do you >>>> >>>> mpirun -np 1 ./a.out >>>> >>>> or do you simply >>>> >>>> ./a.out >>>> >>>> >>>> do you use a batch manager ? if yes, which one ? >>>> >>>> do you run one test per job ? or multiple tests per job ? >>>> >>>> how are these tests launched ? >>>> >>>> >>>> do the test that crashes use MPI_Comm_spawn ? >>>> >>>> i am surprised by the process name [[9325,5754],0], which >>>> suggests >>>> there MPI_Comm_spawn was called 5753 times (!) >>>> >>>> >>>> can you also run >>>> >>>> hostname >>>> >>>> on the 'lorien' host ? >>>> >>>> if you configure'd Open MPI with --enable-debug, can you >>>> >>>> export OMPI_MCA_plm_base_verbose 5 >>>> >>>> then run one test and post the logs ? >>>> >>>> >>>> from orte_plm_base_set_hnp_name(), "lorien" and pid 142766 >>>> should >>>> produce job family 5576 (but you get 9325) >>>> >>>> the discrepancy could be explained by the use of a batch manager >>>> and/or a full hostname i am unaware of. >>>> >>>> >>>> orte_plm_base_set_hnp_name() generate a 16 bits job family >>>> from the >>>> (32 bits hash of the) hostname and the mpirun (32 bits ?) pid. >>>> >>>> so strictly speaking, it is possible two jobs launched on >>>> the same >>>> node are assigned the same 16 bits job family. >>>> >>>> >>>> the easiest way to detect this could be to >>>> >>>> - edit orte/mca/plm/base/plm_base_jobid.c >>>> >>>> and replace >>>> >>>> OPAL_OUTPUT_VERBOSE((5, >>>> orte_plm_base_framework.framework_output, >>>> "plm:base:set_hnp_name: final >>>> jobfam %lu", >>>> (unsigned long)jobfam)); >>>> >>>> with >>>> >>>> OPAL_OUTPUT_VERBOSE((4, >>>> orte_plm_base_framework.framework_output, >>>> "plm:base:set_hnp_name: final >>>> jobfam %lu", >>>> (unsigned long)jobfam)); >>>> >>>> configure Open MPI with --enable-debug and rebuild >>>> >>>> and then >>>> >>>> export OMPI_MCA_plm_base_verbose=4 >>>> >>>> and run your tests. >>>> >>>> >>>> when the problem occurs, you will be able to check which pids >>>> produced the faulty jobfam, and that could hint to a conflict. >>>> >>>> >>>> Cheers, >>>> >>>> >>>> Gilles >>>> >>>> >>>> >>>> On 9/14/2016 12:35 AM, Eric Chamberland wrote: >>>> >>>> Hi, >>>> >>>> It is the third time this happened into the last 10 days. >>>> >>>> While running nighlty tests (~2200), we have one or two >>>> tests >>>> that fails at the very beginning with this strange error: >>>> >>>> [lorien:142766] [[9325,5754],0] usock_peer_recv_connect_ack: >>>> received unexpected process identifier [[9325,0],0] from >>>> [[5590,0],0] >>>> >>>> But I can't reproduce the problem right now... ie: If I >>>> launch >>>> this test alone "by hand", it is successful... the same >>>> test was >>>> successful yesterday... >>>> >>>> Is there some kind of "race condition" that can happen >>>> on the >>>> creation of "tmp" files if many tests runs together on >>>> the same >>>> node? (we are oversubcribing even sequential runs...) >>>> >>>> Here are the build logs: >>>> >>>> >>>> http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.13.01h16m01s_config.log >>>> <http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.13.01h16m01s_config.log> >>>> >>>> <http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.13.01h16m01s_config.log >>>> <http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.13.01h16m01s_config.log>> >>>> >>>> >>>> http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.13.01h16m01s_ompi_info_all.txt >>>> <http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.13.01h16m01s_ompi_info_all.txt> >>>> >>>> <http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.13.01h16m01s_ompi_info_all.txt >>>> <http://www.giref.ulaval.ca/~cmpgiref/dernier_ompi/2016.09.13.01h16m01s_ompi_info_all.txt>> >>>> >>>> >>>> Thanks, >>>> >>>> Eric >>>> _______________________________________________ >>>> devel mailing list >>>> devel@lists.open-mpi.org <mailto:devel@lists.open-mpi.org> >>>> >>>> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel >>>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel> >>>> >>>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel >>>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel>> >>>> >>>> >>>> _______________________________________________ >>>> devel mailing list >>>> devel@lists.open-mpi.org <mailto:devel@lists.open-mpi.org> >>>> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel >>>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel> >>>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel >>>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel>> >>>> >>>> >>>> _______________________________________________ >>>> devel mailing list >>>> devel@lists.open-mpi.org >>>> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel >>>> <https://rfd.newmexicoconsortium.org/mailman/listinfo/devel> >>>> >>> _______________________________________________ >>> devel mailing list >>> devel@lists.open-mpi.org >>> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel >>> >> >> _______________________________________________ >> devel mailing list >> devel@lists.open-mpi.org >> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel > > _______________________________________________ > devel mailing list > devel@lists.open-mpi.org > https://rfd.newmexicoconsortium.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@lists.open-mpi.org https://rfd.newmexicoconsortium.org/mailman/listinfo/devel