public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: frysk@sourceware.org
Cc: swagiaal@sourceware.org
Subject: Re: [SCM]  master: swagiaal: created and used InlinedSubroutine.
Date: Tue, 15 Apr 2008 18:05:00 -0000	[thread overview]
Message-ID: <1208272888.28544.4.camel@dijkstra.wildebeest.org> (raw)
In-Reply-To: <20080414174653.13175.qmail@sourceware.org>

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



       reply	other threads:[~2008-04-15 15:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20080414174653.13175.qmail@sourceware.org>
2008-04-15 18:05 ` Mark Wielaard [this message]
2008-04-16  8:05   ` Sami Wagiaalla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1208272888.28544.4.camel@dijkstra.wildebeest.org \
    --to=mark@klomp.org \
    --cc=frysk@sourceware.org \
    --cc=swagiaal@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).