Bug 348971 - Debugger on local openMPI program reports "No registers"
Summary: Debugger on local openMPI program reports "No registers"
Status: NEW
Alias: None
Product: PTP
Classification: Tools
Component: Debug Core (show other bugs)
Version: 5.0   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2011-06-09 17:34 EDT by Beth Tibbitts CLA
Modified: 2014-05-30 10:16 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Beth Tibbitts CLA 2011-06-09 17:34:11 EDT
Running epp-parallel
20110609-1630_eclipse-parallel-indigo-RC4-macosx.cocoa.x86_64.tar.gz

Make new C project, MPI Hello World.
Build sdm for mac.
Run MPI hello world.  Runs ok, shows console output, but doesn't switch to parallel runtime perspective.
Manually switching to it, it looks ok.

Try to debug, didn't set sdm on debug configuration (on purpose) (REALLY!)
complained about not being able to talk to sdm.  made sense.
edited Debug Configuration to point to the sdm i built.
relaunched debugger. stepped over MPI_Init.
Stepped process 0 once.  OK.
put breakpoints on the print statements inside each side of the for loop.
Ran.  All stopped ok.
Ran all processes. 
Got popup: "Error on tasks: 0 - internal error
Reason: Debugger error: No registers.

Last set of stuff on console is:
============================
================= TIME ALL SUSPENDED: 432
Msg: EventRequestManager - addEventRequest(): Request: Set Line Breakpoint Request in status [UNKNOWN] for {0-3}.
**** Msg: AbstractEventManager - registerEventRequest(): Request: Set Line Breakpoint Request in status [RUNNING] for {0-3}.
**** Msg: AbstractEventManager - notifyEventRequest(): Request: Set Line Breakpoint Request in status [DONE] for {}.
Msg: EventRequestManager - addEventRequest(): Request: Set Line Breakpoint Request in status [UNKNOWN] for {0-3}.
**** Msg: AbstractEventManager - registerEventRequest(): Request: Set Line Breakpoint Request in status [RUNNING] for {0-3}.
**** Msg: AbstractEventManager - notifyEventRequest(): Request: Set Line Breakpoint Request in status [DONE] for {}.
Msg: EventRequestManager - addEventRequest(): Request: Resume request in status [UNKNOWN] for {0-3}.
**** Msg: AbstractEventManager - registerEventRequest(): Request: Resume request in status [RUNNING] for {0-3}.
Msg: NotifyJob - size of runnables: 8
**** Msg: AbstractEventManager - notifyEventRequest(): Request: Resume request in status [DONE] for {}.
Msg: NotifyJob - size of runnables: 6
Msg: EventRequestManager - addEventRequest(): Request: List stack frames request in status [UNKNOWN] for {1}.
**** Msg: AbstractEventManager - registerEventRequest(): Request: List stack frames request in status [RUNNING] for {1}.
**** Msg: AbstractEventManager - notifyEventRequest(): Request: List stack frames request in status [DONE] for {}.
Msg: NotifyJob - size of runnables: 7
Msg: EventRequestManager - addEventRequest(): Request: Get info thread request in status [UNKNOWN] for {0}.
**** Msg: AbstractEventManager - registerEventRequest(): Request: Get info thread request in status [RUNNING] for {0}.
**** Msg: AbstractEventManager - notifyEventRequest(): Request: Get info thread request in status [DONE] for {}.
Msg: EventRequestManager - addEventRequest(): Request: Retrieve stack info depth request in status [UNKNOWN] for {0}.
**** Msg: AbstractEventManager - registerEventRequest(): Request: Retrieve stack info depth request in status [RUNNING] for {0}.
================= TIME RESUME: 1307654808210
================= TIME ALL SUSPENDED: 0
**** Msg: AbstractEventManager - notifyEventRequest(): Request: Retrieve stack info depth request in status [DONE] for {}.
Msg: EventRequestManager - addEventRequest(): Request: List stack frames request in status [UNKNOWN] for {0}.
**** Msg: AbstractEventManager - registerEventRequest(): Request: List stack frames request in status [RUNNING] for {0}.
**** Msg: AbstractEventManager - notifyEventRequest(): Request: List stack frames request in status [DONE] for {}.
Msg: EventRequestManager - addEventRequest(): Request: List stack frames request in status [UNKNOWN] for {0}.
**** Msg: AbstractEventManager - registerEventRequest(): Request: List stack frames request in status [RUNNING] for {0}.
**** Msg: AbstractEventManager - notifyEventRequest(): Request: List stack frames request in status [DONE] for {}.
================= TIME ALL SUSPENDED: 376
Msg: EventRequestManager - addEventRequest(): Request: Resume request in status [UNKNOWN] for {0-3}.
**** Msg: AbstractEventManager - registerEventRequest(): Request: Resume request in status [RUNNING] for {0-3}.
Msg: NotifyJob - size of runnables: 8
**** Msg: AbstractEventManager - notifyEventRequest(): Request: Resume request in status [DONE] for {}.
================= TIME RESUME: 1307654818637
Msg: NotifyJob - size of runnables: 6
Msg: NotifyJob - size of runnables: 6
Msg: NotifyJob - size of runnables: 6
Msg: NotifyJob - size of runnables: 6


Nothing in .log file after not being able to connect to debugger when there was no sdm.
Comment 1 Beth Tibbitts CLA 2011-06-09 17:38:58 EDT
P.S. was running with 4 processes.



Restarted debugger. 
Same scenario (breakpoints still existed from first run, did not reset them)
run to bkpt had task 0 in the else but other tasks with no current instr pointer.
Hmm. they are still up at MPI_Comm_Rank line

Run all processes again, other tasks hit their breakpoint
put bkpt on MPI_Finalize, everybody gets there,
run again, get Debugger error: no registers again.
Comment 2 Greg Watson CLA 2014-05-30 10:16:45 EDT
Needs a repeatable test case to debug properly. Otherwise should be closed.