Le 17/12/2014 21:43, Paul Hargrove a écrit : > > Dbx gives me > > t@1 (l@1) terminated by signal SEGV (no mapping at the fault address) > Current function is opal_hwloc172_hwloc_get_obj_by_depth > 74 return topology->levels[depth][idx]; > (dbx) where > current thread: t@1 > =>[1] opal_hwloc172_hwloc_get_obj_by_depth(topology = 0x4d49e0, > depth = 0, idx = 0), line 74 in "traversal.c" > [2] opal_hwloc172_hwloc_get_root_obj(topology = 0x4d49e0), line > 118 in "helper.h" > [3] opal_hwloc_base_get_nbobjs_by_type(topo = 0x4d49e0, target = > OPAL_HWLOC172_hwloc_OBJ_CORE, cache_level = 0, rtype = '\003'), > line 833 in "hwloc_base_util.c" > [4] orte_rmaps_rr_byobj(jdata = 0x43c940, app = 0x483fe0, > node_list = 0xfffffd7fffdff4b0, num_slots = 2, num_procs = 2U, > target = OPAL_HWLOC172_hwloc_OBJ_CORE, cache_level = 0), line 495 > in "rmaps_rr_mappers.c" > [5] orte_rmaps_rr_map(jdata = 0x43c940), line 165 in "rmaps_rr.c" > [6] orte_rmaps_base_map_job(fd = -1, args = 4, cbdata = > 0x4a3300), line 277 in "rmaps_base_map_job.c" > [7] event_process_active_single_queue(0x0, 0x0, 0x0, 0x0, 0x0, > 0x0), at 0xfffffd7fe453afbc > [8] event_process_active(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at > 0xfffffd7fe453b361 > [9] opal_libevent2021_event_base_loop(0x0, 0x0, 0x0, 0x0, 0x0, > 0x0), at 0xfffffd7fe453bc79 > [10] orterun(argc = 9, argv = 0xfffffd7fffdffa58), line 1081 in > "orterun.c" > [11] main(argc = 9, argv = 0xfffffd7fffdffa58), line 13 in "main.c" > (dbx) print depth > depth = 0 > (dbx) print index > index = 0xfffffd7fff19c174 > > > Pretty sure that index value is bogus. >
I see "idx" instead of "index" in the code above. index may be a pointer to the "index()" function in your standard library? Anyway, depth=0 and idx=0 is totally valid, especially when called from hwloc_get_root_obj(). Something bad happened to the topology object? Can you print the contents of topology and topology->nblevels and topology->levels ? Brice