This is quite impressive. After digging a little bit more, it appears that the 
orte/tools/orterun/debuggers.c is in the repository but it is not used for 
compilation. Thus, I really don't see where the second definition is coming 
from?

  george.

On Dec 15, 2011, at 17:02 , George Bosilca wrote:

> 
> On Dec 15, 2011, at 16:55 , Ashley Pittman wrote:
> 
>> There is a problem with 1.5.5rc1 that prevents padb from loading the process 
>> table start from the orterun process, what appears to be happening is that 
>> MPIR_proctable and MPIR_proctable_size is present in both orterun itself and 
>> also in libopen-rte.so, the code is correctly setting them in libopen-rte.so 
>> however when gdb is picking the variable from orterun in preference and 
>> hence padb is reading NULL values.
> 
> Indeed, there are two definitions, but a single declaration. This is true for 
> both the trunk and the 1.5.
> 
> ./orte/mca/debugger/base/base.h:61:ORTE_DECLSPEC extern struct MPIR_PROCDESC 
> *MPIR_proctable;
> ./orte/mca/debugger/base/base.h:62:ORTE_DECLSPEC extern int 
> MPIR_proctable_size;
> 
> ./orte/mca/debugger/base/debugger_base_open.c:42:struct MPIR_PROCDESC 
> *MPIR_proctable = NULL;
> ./orte/mca/debugger/base/debugger_base_open.c:43:int MPIR_proctable_size = 0;
> 
> ./orte/tools/orterun/debuggers.c:142:struct MPIR_PROCDESC *MPIR_proctable = 
> NULL;
> ./orte/tools/orterun/debuggers.c:143:int MPIR_proctable_size = 0;
> 
>  george.
> 
> 
>> Attached is a log showing the problem, the only change I made to the source 
>> is to add a call to orte_debugger_base_dump() before the return from 
>> orte_debugger_base_init_after_spawn(), it looks like this could also have 
>> been achieved via a debug setting but I couldn't see how.
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


Reply via email to