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

A program which calls Toolkit.getDefaultToolkit() won't terminate.

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Fixed
    • P3
    • 1.4.0
    • 1.1, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.2.0, 1.2.1, 1.2.2, 1.3.0, 1.3.1
    • client-libs
    • beta
    • generic, unknown, x86, sparc
    • generic, solaris_2, solaris_2.4, solaris_2.5, solaris_2.5.1, solaris_2.6, solaris_7, windows_95, windows_98, windows_nt, windows_2000

    Description


      Name: mc57594 Date: 02/06/97

      A program which calls the static method getDefaultToolkit()in
      class Toolkit won't terminate. The following is a simplest
      java source code for this bug.

      import java.awt.*;
      class Test {
          public static void main(String[] args) {
              Toolkit.getDefaultToolkit();
          }
      }

      After starting this program, it should return to OS. However,
      it hangs there forever.

      I use Window 95. I have tried this program on several different
      machines, e.g, standalone ones and network-attached ones, the
      problem is the same.
      company - dept of comp. sci. King's College London , email - ###@###.###
      ======================================================================

      Name: tb29552 Date: 02/08/99


      When java.awt.SystemColor is loaded, it calls Toolkit.getDefaultToolkit(), which
      creates two AWT threads. These threads never stop, and they are not daemon
      threads, so the program hangs.

      The following code demonstrates this problem:

      public class SimplCon {
      public SimplCon() {
      }

          static public void main(String args[]) {
              java.awt.Color color = java.awt.SystemColor.window;
          }
      }


      Note: I have reproduced this problem on a Windows 98 and NT 4.0
      machine. It only happens when you use JDK 1.2. It works fine in JDK 1.1.7A.
      ======================================================================

      Name: vi73552 Date: 06/14/99


      The AWT threads are *still* not Daemon threads (reported as bug 4030718).
      I have presented Sun with a fix for this, which they've had for 7 months.
      It's not that the problem is not fixable - so how come no-one has even
      evaluated the bug/fix? The report shows up as useless.
      (Review ID: 84317)
      ======================================================================

      Name: tb29552 Date: 04/03/2000


      java version "1.3.0rc2"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc2-Y)
      Java HotSpot(TM) Client VM (build 1.3.0rc2-Y, interpreted mode)

      In developing a system which needs to shutdown the grapics environment, I have
      found that it is impossible to cleanly close down the awt. The natively
      implemented event loop thread never checks for Java exceptions or any other
      exit condition, and as Thread.stop() is now deprecated, it is impossible to
      cleanly bring down the display. Here is the excerpt from awt_Motif.c as it
      stands - the possiblity of exitting has been considered by the authors, but not
      implemented...

      ...
          /*
           * ACTUALLY PROCESS EVENTS
           */
          
          while(True) {
              ...
      waitForEvents(env, fdXPipe, AWT_READPIPE);
              ...
          } /* while(True) */

          /* If we ever exit the loop, must unlock the toolkit */
      ...
      (Review ID: 103193)
      ======================================================================

      Attachments

        Issue Links

          Activity

            People

              dassunw Das Das (Inactive)
              mchamnessunw Mark Chamness (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: