Bug 5671

Summary: fdebuginfo doesn't stop the process
Product: frysk Reporter: Andrew Cagney <cagney>
Component: generalAssignee: Teresa Thomas <tthomas>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 5656    

Description Andrew Cagney 2008-01-25 17:15:24 UTC
when determining the debug-info, fdebuginfo makes calls that only work reliably
when the process is blocked, for instance:

 testPathListing(frysk.bindir.TestFdebuginfo)frysk.expunit.EndOfFileException:
end-of-file; expecting: 
<</home/scratch/frysk/git/native/frysk-core/frysk/pkglibdir/funit-slave>>;
buffer <<Exception in thread "main" java.lang.NullPointerException: ISA
unavailable; task
{frysk.proc.live.LinuxPtraceTask@37334f81,pid=30365,tid=30365,state=detached}
has no observers
   at frysk.proc.live.LinuxPtraceTask.getISA(fdebuginfo)
   at frysk.proc.live.LinuxPtraceTask.getMemory(fdebuginfo)
   at frysk.dwfl.DwflFactory.updateDwfl(fdebuginfo)
   at frysk.dwfl.DwflCache.getDwfl(fdebuginfo)
   at frysk.util.DebuginfoPaths.getDebuginfo(fdebuginfo)
   at frysk.bindir.fdebuginfo.printDebuginfo(fdebuginfo)
   at frysk.bindir.fdebuginfo.access$0(fdebuginfo)
   at frysk.bindir.fdebuginfo$1.parsePids(fdebuginfo)
   at frysk.util.CommandlineParser.doParse(fdebuginfo)
   at frysk.util.CommandlineParser.parse(fdebuginfo)
   at frysk.bindir.fdebuginfo.main(fdebuginfo)
>>
   at frysk.expunit.Expect.expectMilliseconds(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.bindir.TestFdebuginfo.testPathListing(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
Comment 1 Teresa Thomas 2008-01-29 15:52:13 UTC
    Stop task before gathering debugging info.
    
    frysk-core/frysk/bindir/ChangeLog
    2008-01-28  Teresa Thomas  <tthomas@redhat.com>
    
    	* fdebuginfo.java (PrintDebuginfoEvent): New.
    	(PrintDebuginfoAction): New.
    	(.parseCores, .parseCommand): Use PrintDebuginfoEvent.
    	(.parsePids): Use PrintDebuginfoAction.
    	* TestFdebuginfo.java (testPathListing): Remove unresolved.