From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12319 invoked by alias); 15 Apr 2008 18:05:53 -0000 Received: (qmail 12294 invoked by uid 22791); 15 Apr 2008 18:05:49 -0000 X-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_43,J_CHICKENPOX_44,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 15 Apr 2008 18:05:33 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id m3FI5UUf014883; Tue, 15 Apr 2008 14:05:30 -0400 Received: from pobox-3.corp.redhat.com (pobox-3.corp.redhat.com [10.11.255.67]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m3FI5TmW029988; Tue, 15 Apr 2008 14:05:29 -0400 Received: from toner.yyz.redhat.com (toner.yyz.redhat.com [10.15.16.55]) by pobox-3.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m3FI5Pap022788; Tue, 15 Apr 2008 14:05:28 -0400 Message-ID: <4804EE65.8010800@redhat.com> Date: Wed, 16 Apr 2008 08:05:00 -0000 From: Sami Wagiaalla User-Agent: Thunderbird 2.0.0.12 (X11/20080226) MIME-Version: 1.0 To: Mark Wielaard CC: frysk@sourceware.org, swagiaal@sourceware.org Subject: Re: [SCM] master: swagiaal: created and used InlinedSubroutine. References: <20080414174653.13175.qmail@sourceware.org> <1208272888.28544.4.camel@dijkstra.wildebeest.org> In-Reply-To: <1208272888.28544.4.camel@dijkstra.wildebeest.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-IsSubscribed: yes Mailing-List: contact frysk-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-owner@sourceware.org X-SW-Source: 2008-q2/txt/msg00056.txt.bz2 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 >> Date: Mon Apr 14 13:06:22 2008 -0400 >> >> swagiaal: created and used InlinedSubroutine. >> >> frysk-core/frysk/scopes/ChangeLog >> +2008-04-14 Sami Wagiaalla >> + >> + * 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 < #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 < #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: <>; buffer < #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 < #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 < #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 > > >