This is the mail archive of the frysk@sourceware.org mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [SCM] master: swagiaal: created and used InlinedSubroutine.


This has been fixed...
the Wrong object was being used.

Thanks for the heads up

Sami

Mark Wielaard wrote:
Hi Sami,

On Mon, 2008-04-14 at 17:46 +0000, swagiaal@sourceware.org wrote:
commit 701ccd302e772219f2031219afa5fdcf69f27618
Author: Sami Wagiaalla <swagiaal@redhat.com>
Date:   Mon Apr 14 13:06:22 2008 -0400

swagiaal: created and used InlinedSubroutine.
frysk-core/frysk/scopes/ChangeLog
+2008-04-14 Sami Wagiaalla <swagiaal@redhat.com>
+
+ * TestScopeFactory.java: test InlinedSubroutine.
+ * ScopeFactory.java: Now handles InlinedSubroutine objects.
+ * Subroutine.java: Updated javadoc.
+ * InlinedSubroutine.java: New class.
[...]
diff --git a/frysk-core/frysk/scopes/ScopeFactory.java b/frysk-core/frysk/scopes/ScopeFactory.java
index af3685f..723d3cd 100644
--- a/frysk-core/frysk/scopes/ScopeFactory.java
+++ b/frysk-core/frysk/scopes/ScopeFactory.java
@@ -78,8 +78,11 @@ public class ScopeFactory {

case DwTag.INLINED_SUBROUTINE_:
case DwTag.SUBPROGRAM_:
- return new Subprogram(die, typeFactory);
-
+ Subprogram subprogram = new Subprogram(die, typeFactory);
+ if(subprogram.isInlined()){
+ return new InlinedSubroutine(die,typeFactory);
+ }
+ return subprogram;

After this commit I am seeing a lot of test failures (see below). The problem seems to be that there is a lot of dynamic type checking in DebugInfoFrame.java and DebugInfoStackFactory.java that do things like: if (scope instanceof Subprogram && ((Subprogram)scope).isInlined())) ... Those if statements now fail.

Could you take a look and see what the proper fix is here?

Thanks,

Mark

Failing tests:

There were 6 errors:
1) testBackTraceWithInline(frysk.bindir.TestFstack)frysk.expunit.EndOfFileException: end-of-file; expecting:  <<\#0 .* third>>; buffer <<Task #25752
#0 0x0000000000400486 in main() .../funit-stack-inlined.c#47
#1 0x0000003a1681e074 in __libc_start_main () from .../libc.so.6
#2 0x00000000004003b9 in _start () from .../funit-stack-inlined

   at frysk.expunit.Child.expectMilliseconds(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.bindir.TestFstack.testBackTraceWithInline(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
2) testBackTraceWithRich(frysk.bindir.TestFstack)frysk.expunit.EndOfFileException: end-of-file; expecting:  <<\#0 .* third\(int arg3.*\)>>; buffer <<Task #25764
#0 0x0000000000400486 in main() .../funit-stack-inlined.c#47
 {
  int some_int = < value unavailable at pc=0x400486> line#61
 }
#1 0x0000003a1681e074 in __libc_start_main () from .../libc.so.6
#2 0x00000000004003b9 in _start () from .../funit-stack-inlined

   at frysk.expunit.Child.expectMilliseconds(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.bindir.TestFstack.testBackTraceWithRich(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
3) testHpdBreakpointInline(frysk.hpd.TestBreakpoints)frysk.expunit.TimeoutException: timeout of 5000 milliseconds expired; expecting:  <<where.*#0.* add *\(.+\).*\(fhpd\) >>; buffer <<where
#0 0x00000000004008ec in main(int argc,char ** argv) /home/mark/src/frysk/frysk-core/frysk/pkglibdir/test1.c#31
#1 0x0000003a1681e074 in __libc_start_main () from /lib64/libc-2.7.so
#2 0x0000000000400729 in _start () from /home/mark/src/frysk-obj/frysk-core/frysk/pkglibdir/test1
(fhpd) >>
   at frysk.expunit.Child.expectMilliseconds(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.hpd.TestBreakpoints.testHpdBreakpointInline(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
4) testWhereVirtual(frysk.hpd.TestStackCommands)frysk.expunit.TimeoutException: timeout of 5000 milliseconds expired; expecting:  <<\#0 .*third[^\r\n]*\[inline\]>>; buffer <<where
#0 0x0000000000400486 in main() /home/mark/src/frysk/frysk-core/frysk/pkglibdir/funit-stack-inlined.c#47
#1 0x0000003a1681e074 in __libc_start_main () from /lib64/libc.so.6
#2 0x00000000004003b9 in _start () from /home/mark/src/frysk-obj/frysk-core/frysk/pkglibdir/funit-stack-inlined
(fhpd) >>
   at frysk.expunit.Child.expectMilliseconds(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.hpd.TestStackCommands.checkWhere(TestRunner)
   at frysk.hpd.TestStackCommands.testWhereVirtual(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
5) testWhereWithVirtualLocals(frysk.hpd.TestStackCommands)frysk.expunit.TimeoutException: timeout of 5000 milliseconds expired; expecting:  <<.*var3>>; buffer <<where -locals
#0 0x0000000000400486 in main() /home/mark/src/frysk/frysk-core/frysk/pkglibdir/funit-stack-inlined.c#47
 {
  int some_int = < value unavailable at pc=0x400486> line#61
 }
#1 0x0000003a1681e074 in __libc_start_main () from /lib64/libc.so.6
#2 0x00000000004003b9 in _start () from /home/mark/src/frysk-obj/frysk-core/frysk/pkglibdir/funit-stack-inlined
(fhpd) >>
   at frysk.expunit.Child.expectMilliseconds(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.expunit.Expect.expect(TestRunner)
   at frysk.hpd.TestStackCommands.checkWhereWithLocals(TestRunner)
   at frysk.hpd.TestStackCommands.testWhereWithVirtualLocals(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
6) testGetTasks(frysk.proc.TestProcGet)java.lang.RuntimeException: /proc/$$/task contains bad pid (pid 0)
   at frysk.sys.proc.ProcBuilder.scan(TestRunner)
   at frysk.sys.proc.ProcBuilder.construct(TestRunner)
   at frysk.sys.proc.ProcBuilder.construct(TestRunner)
   at frysk.testbed.TearDownProcess.tearDown(TestRunner)
   at frysk.testbed.TestLib.tearDown(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
There were 7 failures:
1) testFerrorTracesPID(frysk.bindir.TestFerror)junit.framework.AssertionFailedError: run until signal: assertSendAddCloneWaitForAcks(signals {SIGUSR1(10),SIGUSR2(12)}); outstanding: {SIGUSR2(12)}
   at frysk.testbed.SignalWaiter.assertRunUntilSignaled(TestRunner)
   at frysk.testbed.SlaveOffspring.spawn(TestRunner)
   at frysk.testbed.SlaveOffspring.assertSendAddCloneWaitForAcks(TestRunner)
   at frysk.bindir.TestFerror.testFerrorTracesPID(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
2) testGetInlinedSubroutines(frysk.debuginfo.TestFrameDebugInfo)junit.framework.AssertionFailedError: Number of inline functions expected:<3> but was:<0>
   at frysk.debuginfo.TestFrameDebugInfo.getInlinedSubroutines(TestRunner)
   at frysk.debuginfo.TestFrameDebugInfo.testGetInlinedSubroutines(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
3) testGetInlinedSubroutinesNoDebug(frysk.debuginfo.TestFrameDebugInfo)junit.framework.AssertionFailedError: Number of inline functions expected:<3> but was:<0>
   at frysk.debuginfo.TestFrameDebugInfo.getInlinedSubroutines(TestRunner)
   at frysk.debuginfo.TestFrameDebugInfo.testGetInlinedSubroutinesNoDebug(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
4) testGetInlinedSubroutinesNoEH(frysk.debuginfo.TestFrameDebugInfo)junit.framework.AssertionFailedError: Number of inline functions expected:<3> but was:<0>
   at frysk.debuginfo.TestFrameDebugInfo.getInlinedSubroutines(TestRunner)
   at frysk.debuginfo.TestFrameDebugInfo.testGetInlinedSubroutinesNoEH(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
5) testVirtualStackTrace(frysk.debuginfo.TestFrameDebugInfo)junit.framework.AssertionFailedError: contains first
   at frysk.debuginfo.TestFrameDebugInfo.virtualStackTrace(TestRunner)
   at frysk.debuginfo.TestFrameDebugInfo.testVirtualStackTrace(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
6) testVirtualStackTraceNoDebug(frysk.debuginfo.TestFrameDebugInfo)junit.framework.AssertionFailedError: contains first
   at frysk.debuginfo.TestFrameDebugInfo.virtualStackTrace(TestRunner)
   at frysk.debuginfo.TestFrameDebugInfo.testVirtualStackTraceNoDebug(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
7) testVirtualStackTraceNoEH(frysk.debuginfo.TestFrameDebugInfo)junit.framework.AssertionFailedError: contains first
   at frysk.debuginfo.TestFrameDebugInfo.virtualStackTrace(TestRunner)
   at frysk.debuginfo.TestFrameDebugInfo.testVirtualStackTraceNoEH(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)

FAILURES!!!
Tests run: 1032,  Failures: 7,  Errors: 6





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]