Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-1183311

oakc generates huge core files

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 0.9
    • 0.9
    • tools
    • 0.9internal
    • sparc
    • generic
    • Not verified

      when oakc segvs it totally wedges my system until the file system is full.
      it needs something "set coredumpsize 0" set in a csh script

      It's worse - I set coredumpsize but it has no effect, perhaps because
      oakc is a sh script?

      It completely brings down my system, taking all available vm resources such
      that no process can start and several daemons spit out error msgs, e.g., sendmail

      Note also that this is really two bugs, as oakc shouldn't segv in the first place.


      It was compiling this file.

      /*
       * Preemptive scheduler test
       *
       * To compile type : ../OAKC/oakc HelloWorldActive.oak
       * To run type: ../oaki Clock
       *
       * @(#)HelloWorldActive.oak 1.4 94/04/25
       */

      import oak.lang.*;


      class Loop extends Thread {

          public void run() {

      while (true) {
      /*
      System.out.print("|" + "\\r");
      System.out.print("/" + "\\r");
      System.out.print("-" + "\\r");
      System.out.print("\\\\" + "\\r");
      */
      }
          }

          public Loop() {
      setName("Loop");
      setPriority(NORM_PRIORITY - 1);
      System.out.print("Loop\\n");
      start();
          }
      }

      class Clock extends Thread {
          private Loop loop;
      int i;

          public void run() {
      for (i = 0; i < 10; i++) {
      sleep(1000); // sleep for a second
      System.out.print("Clock Tick\\n");
      }
      loop.stop();
          }

          public Clock(Loop l) {
      setName("Clock");
      loop = l;
      setPriority(NORM_PRIORITY + 1);
      System.out.print("Initial loop is started.\\n");
      start();
          }

          public static void main(String args[]) {
      new Clock(new Loop());
          }
      }


      **************************

      Here's a smaller example - it looks like it has to do with an
      empty while (true) loop.

      import oak.lang.*;

      class CoreDump extends Thread {
          public void run() {
      while (true) {
      /*
      System.out.print("|" + "\\r");
      System.out.print("/" + "\\r");
      System.out.print("-" + "\\r");
      System.out.print("\\\\" + "\\r");
      */
      }
          }

          public CoreDump() {
      setName("CoreDump");
      setPriority(NORM_PRIORITY - 1);
      System.out.print("CoreDump\\n");
      start();
          }
      }

            ahoffsunw Arthur Hoff (Inactive)
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: