Bug 2936

Summary: [tracker] Backtraces
Product: frysk Reporter: Adam Jocksch <ajocksch>
Component: generalAssignee: Unassigned <frysk-bugzilla>
Status: ASSIGNED ---    
Severity: normal CC: mark, mcvet, qiyaoltc, tromey, woodzltc, zhengyo
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on: 3076, 3259, 3590, 3601, 3649, 3728, 3068, 3070, 3071, 3258, 3529, 3723, 3814    
Bug Blocks: 2935, 3177, 3192, 3198, 3250    

Description Adam Jocksch 2006-07-17 18:51:04 UTC
We are currently unable to get a stackbacktrace using libunwind
Comment 1 Mark Wielaard 2006-09-11 09:25:02 UTC
When running the frysk.rt.tests.TestStackBacktrace test on something that is not
x86 you get:

1) testBacktrace(frysk.rt.tests.TestStackBacktrace)java.lang.NullPointerException
   at frysk.rt.StackCallbacks.accessReg(TestRunner)
   at lib.unwind.StackTraceCreator.unwind_setup(TestRunner)
   at lib.unwind.StackTraceCreator.createStackTrace(TestRunner)
   at frysk.rt.StackFactory.createStackFrame(TestRunner)
   at frysk.rt.tests.TestStackBacktrace.testBacktrace(TestRunner)
   at frysk.junit.Runner.<init>(TestRunner)
   at TestRunner.main(TestRunner)

Currently the callbacks are setup through the RegisterX86 class which only
hardcodes x86 registers.
Comment 2 Mike Cvet 2006-09-12 15:27:25 UTC
Currently libunwind is not using dwarf2 - based remote unwinding, and is instead
falling back to using frame pointers - which will not work on anything non-x86.
Since binaries are often compiled with -fomit-frame-pointers anyway, this needs
to get fixed.