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

Invocation of java.awt.Frame.pack() can crash VM

XMLWordPrintable

    • 1.2.2
    • x86
    • linux
    • Not verified



      Name: kaC94536 Date: 01/12/2000



      The following test crashes Linux VM if you change environment variable LANG to unexistent locale.
      ( For instance, in bash you can use : export LANG=12345)

      ----------------------------- motif.java ------------------------
      import java.awt.Frame;
      public class motif
      {
          public static void main(String[] args) {
              new Frame().pack();
          }

      }
      ---------------------------------------------------------------

      VM crashes If you change LANG to unexistent locale:
      -------------------------------- output --------------------------
      [kotl@linux-5 test]$ export LANG=12345
      [kotl@linux-5 test]$ java motif
      Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fonts
      pecific]
      /* font errors cut */

      method unknown (eip = 400f6170)
      SIGSEGV 11* segmentation violation
          si_signo [11]: SIGSEGV 11* segmentation violation
          si_errno [0]: Success
          si_code [0]: SI_USER [pid: 0, uid: 0]
              stackpointer=0xbfffd920

      Full thread dump Classic VM (1.2.2-RC2-J, green threads):
          "AWT-Motif" (TID:0x40eb4748, sys_thread_t:0x82d2860, state:MW) prio=5
              at sun.awt.motif.MToolkit.run(Native Method)
              at java.lang.Thread.run(Thread.java:479)
          "SunToolkit.PostEventQueue-0" (TID:0x40eb4b68, sys_thread_t:0x82a40c0, state:CW) prio=5
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java, Compiled Code)
              at sun.awt.PostEventQueue.run(SunToolkit.java:413)
          "AWT-EventQueue-0" (TID:0x40eb4b38, sys_thread_t:0x829c798, state:CW) prio=6
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java, Compiled Code)
              at java.awt.EventQueue.getNextEvent(EventQueue.java:208)
              at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:100)
              at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:92)
              at java.awt.EventDispatchThread.run(EventDispatchThread.java:83)
          "Finalizer" (TID:0x40e95320, sys_thread_t:0x8108048, state:CW) prio=8
              at java.lang.Object.wait(Native Method)
                                                                                                    é "AWT-EventQueue-0" (0x829c798)
          java.awt.Component$AWTTreeLock@40E9CA08/40F045C0: owner "main" (0x804c2b0) 1 entry
          java.lang.ref.Reference$Lock@40E953C0/40ECAB20: <unowned>
              Waiting to be notified:
                  "Reference Handler" (0x81032f8)
          java.lang.ref.ReferenceQueue$Lock@40E95338/40ECB028: <unowned>
              Waiting to be notified:
                  "Finalizer" (0x8108048)
          java.lang.Class@40EA6450/40F3DF68: owner "main" (0x804c2b0) 1 entry
              Waiting to enter:
                  "AWT-Motif" (0x82d2860)
          sun.awt.PostEventQueue@40EB4B68/40EF9690: <unowned>
              Waiting to be notified:
                  "SunToolkit.PostEventQueue-0" (0x82a40c0)
      Registered Monitor Dump:
          Invoker change lock: <unowned>
          utf8 hash table: <unowned>
          JNI pinning lock: <unowned>
          JNI global reference lock: <unowned>
          BinClass lock: <unowned>
          Class linking lock: <unowned>
          System class loader lock: <unowned>
          Code rewrite lock: <unowned>
          Heap lock: <unowned>
          Monitor cache lock: owner "main" (0x804c2b0) 1 entry
          Dynamic loading lock: <unowned>
          Monitor IO lock: <unowned>
          User signal monitor: <unowned>
              Waiting to be notified:
                  "Signal dispatcher" (0x8101440)
          Child death monitor: <unowned>
          I/O monitor: <unowned>
          Alarm monitor: <unowned>
              Waiting to be notified:
                  <unknown thread> (0x8057718)
          Thread queue lock: owner "main" (0x804c2b0) 1 entry
          Monitor registry: owner "main" (0x804c2b0) 1 entry

      ---------------------------------------------------------------
      Everything is ok with LANG=C:
      --------------------------------- output -----------------------
      [kotl@linux-5 test]$ export LANG=C
      [kotl@linux-5 test]$ java motif
      Font specified in font.properties not found [--symbol-medium-r-normal--*-%d-*-*-p-*-adobe-fonts
      pecific]
      /* font errors cut */
      [kotl@linux-5 test]$
      ======================================================================
      ======================================================================

            mbronsonsunw Mike Bronson (Inactive)
            kanisimosunw Konstantin Anisimov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: