public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
* Broken build
@ 2007-07-26  3:49 Kris Van Hees
  2007-07-26  6:36 ` Mark Wielaard
  0 siblings, 1 reply; 3+ messages in thread
From: Kris Van Hees @ 2007-07-26  3:49 UTC (permalink / raw)
  To: frysk

The following checkin broke the build (as verified by both the automated
build process and manual verification).  I'd recommend not doing a cvs
update until this is resolved.

2007-07-25  Andrew Cagney  <cagney@redhat.com>

        * StressAttachDetachRapidlyForkingMainTask.java: Update;
        frysk.testbed.TestLib.AttachedDaemonProcess moved to
        frysk.testbed.DaemonBlockedAtEntry.
        * TestMemory.java: Ditto.
        * TestProcGet.java: Ditto.
        * TestTaskForkedObserver.java: Ditto.
        * TestTaskSyscallObserver.java: Ditto.
        * TestTaskObserverBlocked.java: Ditto.
        * TestRegisters.java: Ditto.
        * TestTaskClonedObserver.java: Ditto.
        * TestTaskTerminateObserver.java: Ditto.

        * StressAttachDetachManyTasks.java: Update; TaskObserverBase
        * moved
        from frysk.testbed.TestLib to frysk.testbed.TaskObserverBase.
        * StressAttachDetachRapidlyCloningMainTask.java: Ditto.
        * StressAttachDetachRapidlyForkingMainTask.java: Ditto.
        * StressAttachDetachSignaledTask.java: Ditto.
        * SyscallExaminer.java: Ditto.
        * TestMemory.java: Ditto.
        * TestExec.java: Ditto.
        * TestIsa.java: Ditto.
        * TestRegisters.java: Ditto.
        * TestRun.java: Ditto.
        * TestTaskClonedObserver.java: Ditto.
        * TestTaskObserverBlocked.java: Ditto.
        * TestTaskObserverDetach.java: Ditto.
        * TestTaskSyscallObserver.java: Ditto.
        * TestTaskObserver.java: Ditto.
        * TestTaskForkedObserver.java: Ditto.
        * TestTaskTerminateObserver.java: Ditto.

        * TestProcTasksObserver.java: Update; TaskSet moved from
        frysk.testbed.TestLib to frysk.testbed.TaskSet.
        * TestRun.java: Ditto.
        * TestTaskObserverBlocked.java: Ditto.

        * TestTaskClonedObserver.java: Update; Fibonacci moved from
        frysk.testbed.TestLib to separate class.
        * TestTaskObserverBlocked.java: Ditto.
        * TestTaskForkedObserver.java: Ditto.

The reported error is:

/home/frysk/build_farm/frysk_incr/frysk_config/frysk-core/frysk/proc/StressAttachDetachRapidlyForkingMainTask.java:47:
error: Class or interface 'frysk.testbed.DaemonBlockedAtEntry' not found
in import.
import frysk.testbed.DaemonBlockedAtEntry;
          ^
/home/frysk/build_farm/frysk_incr/frysk_config/frysk-core/frysk/proc/StressAttachDetachRapidlyForkingMainTask.java:76:
error: Type 'DaemonBlockedAtEntry' not found in the declaration of the
local variable 'child'.
        DaemonBlockedAtEntry child = new DaemonBlockedAtEntry (new
String[]
           ^
2 errors
make[2]: *** [frysk/proc/StressAttachDetachRapidlyForkingMainTask.o]
Error 1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Broken build
  2007-07-26  3:49 Broken build Kris Van Hees
@ 2007-07-26  6:36 ` Mark Wielaard
  2007-07-26 17:45   ` Andrew Cagney
  0 siblings, 1 reply; 3+ messages in thread
From: Mark Wielaard @ 2007-07-26  6:36 UTC (permalink / raw)
  To: Kris Van Hees; +Cc: frysk

[-- Attachment #1: Type: text/plain, Size: 4188 bytes --]

Hi Kris,

On Wed, 2007-07-25 at 20:49 -0700, Kris Van Hees wrote:
> The following checkin broke the build (as verified by both the automated
> build process and manual verification).  I'd recommend not doing a cvs
> update until this is resolved.

Thanks for the warning.

> 2007-07-25  Andrew Cagney  <cagney@redhat.com>
> 
>         * StressAttachDetachRapidlyForkingMainTask.java: Update;
>         frysk.testbed.TestLib.AttachedDaemonProcess moved to
>         frysk.testbed.DaemonBlockedAtEntry.
> [...]
> The reported error is:
> 
> /home/frysk/build_farm/frysk_incr/frysk_config/frysk-core/frysk/proc/StressAttachDetachRapidlyForkingMainTask.java:47:
> error: Class or interface 'frysk.testbed.DaemonBlockedAtEntry' not found
> in import.
> import frysk.testbed.DaemonBlockedAtEntry;
>           ^
> /home/frysk/build_farm/frysk_incr/frysk_config/frysk-core/frysk/proc/StressAttachDetachRapidlyForkingMainTask.java:76:
> error: Type 'DaemonBlockedAtEntry' not found in the declaration of the
> local variable 'child'.
>         DaemonBlockedAtEntry child = new DaemonBlockedAtEntry (new
> String[]
>            ^
> 2 errors
> make[2]: *** [frysk/proc/StressAttachDetachRapidlyForkingMainTask.o]
> Error 1

I tried to reconstruct this commit and came up with the following:

2007-07-26  Mark Wielaard  <mwielaard@redhat.com>

       * DaemonBlockedAtEntry.java: New file.

This seems to do what was intended. It doesn't give a full clean
testrun, but the following failures seem to not be caused by this change
(I haven't had a full clean testrun for a while now):

There were 2 errors:
1) testHpdClass(frysk.hpd.TestPrint)frysk.expunit.TimeoutException: Timeout of 5 expired
   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.hpd.TestPrint.testHpdClass(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runArchCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
2) testHpdArray(frysk.hpd.TestPrint)frysk.expunit.TimeoutException: Timeout of 5 expired
   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.hpd.TestPrint.testHpdArray(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runArchCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
There were 3 failures:
1) testSliceAddressSpace(frysk.proc.live.TestByteBuffer)junit.framework.AssertionFailedError: unexpected signal Sig_IO
   at frysk.testbed.AttachedSelf$2.signal(TestRunner)
   at frysk.sys.Wait.wait(TestRunner)
   at frysk.sys.Wait.wait(TestRunner)
   at frysk.testbed.AttachedSelf.<init>(TestRunner)
   at frysk.proc.live.TestByteBuffer.setUp(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runArchCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
2) testVarOutOfScope(frysk.rt.TestDisplayValue)junit.framework.AssertionFailedError: Variable value at first breakpoint expected:<5> but was:<0>
   at frysk.rt.TestDisplayValue.testVarOutOfScope(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runArchCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
3) testValues(frysk.rt.TestFrameDebugInfo)junit.framework.AssertionFailedError: Value expected:<0> but was:<3>
   at frysk.rt.TestFrameDebugInfo.testValues(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runArchCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)

FAILURES!!!
Tests run: 387,  Failures: 3,  Errors: 2

Still would be nice to get these fixed. The above is on Fedora Core 6
x86_64 with kernel 2.6.20-1.2962.fc6

Cheers,

Mark

[-- Attachment #2: lost-testbed-file.patch --]
[-- Type: text/x-patch, Size: 4293 bytes --]

Index: frysk-core/frysk/testbed/DaemonBlockedAtEntry.java
===================================================================
RCS file: frysk-core/frysk/testbed/DaemonBlockedAtEntry.java
diff -N frysk-core/frysk/testbed/DaemonBlockedAtEntry.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ frysk-core/frysk/testbed/DaemonBlockedAtEntry.java	26 Jul 2007 06:34:51 -0000
@@ -0,0 +1,102 @@
+// This file is part of the program FRYSK.
+//
+// Copyright 2005, 2006, 2007, Red Hat Inc.
+//
+// FRYSK is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by
+// the Free Software Foundation; version 2 of the License.
+//
+// FRYSK is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with FRYSK; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+// 
+// In addition, as a special exception, Red Hat, Inc. gives You the
+// additional right to link the code of FRYSK with code not covered
+// under the GNU General Public License ("Non-GPL Code") and to
+// distribute linked combinations including the two, subject to the
+// limitations in this paragraph. Non-GPL Code permitted under this
+// exception must only link to the code of FRYSK through those well
+// defined interfaces identified in the file named EXCEPTION found in
+// the source code files (the "Approved Interfaces"). The files of
+// Non-GPL Code may instantiate templates or use macros or inline
+// functions from the Approved Interfaces without causing the
+// resulting work to be covered by the GNU General Public
+// License. Only Red Hat, Inc. may make changes or additions to the
+// list of Approved Interfaces. You must obey the GNU General Public
+// License in all respects for all of the FRYSK code and other code
+// used in conjunction with FRYSK except the Non-GPL Code covered by
+// this exception. If you modify this file, you may extend this
+// exception to your version of the file, but you are not obligated to
+// do so. If you do not wish to provide this exception without
+// modification, you must delete this exception statement from your
+// version and license this file solely under the GPL without
+// exception.
+
+package frysk.testbed;
+
+import frysk.proc.Action;
+import frysk.proc.TaskObserver;
+import frysk.proc.Task;
+import frysk.proc.Manager;
+import frysk.sys.Signal;
+
+/**
+ * Creates an attached process halted at it's first instruction
+ * (just after the exec call to start it running).
+ */
+public class DaemonBlockedAtEntry extends TestLib {
+  public final Task mainTask;
+  
+  TaskObserver.Execed execBlockingObserver;
+  
+  /**
+   * Create an attached process blocked at it's entry-point (i.e., just after
+   * the exec).
+   */
+  public DaemonBlockedAtEntry (String[] argv) {
+    // Create the child.
+    AckProcess child = new DetachedAckProcess((String) null, argv);
+    this.mainTask = child.findTaskUsingRefresh(true);
+    // Create and add an exec observer that blocks the task.
+    class ExecBlockingObserver
+      extends TaskObserverBase
+      implements TaskObserver.Execed
+    {
+      public void addedTo (Object o) {
+	super.addedTo(o);
+	Manager.eventLoop.requestStop();
+      }
+      
+      public Action updateExeced (Task task) {
+	Manager.eventLoop.requestStop();
+	return Action.BLOCK;
+      }
+    }
+    execBlockingObserver = new ExecBlockingObserver();
+	    mainTask.requestAddExecedObserver(execBlockingObserver);
+	    assertRunUntilStop("add exec observer to DaemonBlockedAtEntry");
+	    // Run to the exec call.
+	    Signal.tkill(mainTask.getTid(), execSig);
+	    assertRunUntilStop("run to exec");
+  }
+  
+  /**
+   * Resume the attached process.
+   */
+  public void requestUnblock() {
+    mainTask.requestUnblock(execBlockingObserver);
+  }
+
+  public void requestRemoveBlock() {
+    mainTask.requestDeleteExecedObserver(execBlockingObserver);
+  }
+  
+  public Task getMainTask () {
+    return this.mainTask;
+  }
+}

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Broken build
  2007-07-26  6:36 ` Mark Wielaard
@ 2007-07-26 17:45   ` Andrew Cagney
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Cagney @ 2007-07-26 17:45 UTC (permalink / raw)
  To: Mark Wielaard, Kris Van Hees; +Cc: frysk

Mark Wielaard wrote:
> I tried to reconstruct this commit and came up with the following:
> 2007-07-26  Mark Wielaard  <mwielaard@redhat.com>
>
>        * DaemonBlockedAtEntry.java: New file.
>
>   
weird; thanks.  Only tweak was to make more fields private.

Kris, just fyi, change log entries such as:

        * TestProcTasksObserver.java: Update; TaskSet moved from
        frysk.testbed.TestLib to frysk.testbed.TaskSet.
        * TestRun.java: Ditto.
        * TestTaskObserverBlocked.java: Ditto.

        * TestTaskClonedObserver.java: Update; Fibonacci moved from
        frysk.testbed.TestLib to separate class.
        * TestTaskObserverBlocked.java: Ditto.
        * TestTaskForkedObserver.java: Ditto.

being separated by blank lines, normally denote separate commits (and here has no bearing).  Can we try to post what is relevant?

Andrew

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-07-26 17:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-07-26  3:49 Broken build Kris Van Hees
2007-07-26  6:36 ` Mark Wielaard
2007-07-26 17:45   ` Andrew Cagney

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).