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

Java JDK 1.1.1 AWT Dialog based class yields segmentation violation

XMLWordPrintable

    • generic, sparc
    • solaris_2.5.1, solaris_2.6

      SUMMARY:

      The following JDK 1.1.1 application will stop with a segmentation violation.

      TO REPRODUCE:

      javac Popup.java
      java Popup

      Then press a key twice with the mouse pointer above the
      application will then SEGV.

      The stack trace is as follows:

      SIGSEGV 11* segmentation violation
          si_signo [11]: SIGSEGV 11* segmentation violation
          si_errno [0]: Error 0
          si_code [1]: SEGV_ACCERR [addr: 0x0]

              stackbase=EFFFEA00, stackpointer=EFFFE530

      Full thread dump:
          "AWT-Finalizer" (TID:0xee306238, sys_thread_t:0xede70de0, state:CW) prio=9
              java.lang.Object.wait(Object.java)
              sun.awt.AWTFinalizer.run(AWTFinalizer.java:48)
          "Screen Updater" (TID:0xee306010, sys_thread_t:0xedea0de0, state:CW) prio=4
              java.lang.Object.wait(Object.java)
              sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:78)
              sun.awt.ScreenUpdater.run(ScreenUpdater.java:98)
          "AWT-Motif" (TID:0xee304b40, sys_thread_t:0xedf20de0, state:MW) prio=5
              java.lang.Thread.run(Thread.java)
          "AWT-Input" (TID:0xee304b60, sys_thread_t:0xedf50de0, state:MW) prio=5
          "AWT-EventQueue-0" (TID:0xee304b70, sys_thread_t:0xef040de0, state:CW) prio=5
              java.lang.Object.wait(Object.java)
              java.awt.EventQueue.getNextEvent(EventQueue.java:113)
              java.awt.EventDispatchThread.run(EventDispatchThread.java:55)
          "Finalizer thread" (TID:0xee300220, sys_thread_t:0xef2e0de0, state:CW) prio=1
          "Async Garbage Collector" (TID:0xee3001d8, sys_thread_t:0xef310de0, state:CW) prio=1
          "Idle thread" (TID:0xee300190, sys_thread_t:0xef340de0, state:R) prio=0
          "Clock" (TID:0xee3000d0, sys_thread_t:0xef370de0, state:CW) prio=12
          "main" (TID:0xee3000a8, sys_thread_t:0x40e60, state:R) prio=5 *current thread*
              sun.awt.motif.MComponentPeer.initialize(MComponentPeer.java:66)
              sun.awt.motif.MComponentPeer.<init>(MComponentPeer.java:99)
              sun.awt.motif.MCanvasPeer.<init>(MCanvasPeer.java:39)
              sun.awt.motif.MPanelPeer.<init>(MPanelPeer.java:33)
              sun.awt.motif.MFramePeer.<init>(MFramePeer.java:47)
              sun.awt.motif.MToolkit.createFrame(MToolkit.java:120)
              java.awt.Frame.addNotify(Frame.java:139)
              java.awt.Dialog.show(Dialog.java:178)
              Popup.main(Popup.java:9)
      Monitor Cache Dump:
          sun.awt.ScreenUpdater@EE306010/EE356FA0: <unowned>
              Waiting to be notified:
                  "Screen Updater"
          <unknown key> (0xef310de0): <unowned>
              Waiting to be notified:
                  "Async Garbage Collector"
          java.awt.EventQueue@EE304B20/EE3509B0: <unowned>
              Waiting to be notified:
                  "AWT-EventQueue-0"
          java.lang.Object@EE303B50/EE34D390: owner "main" (0x40e60, 1 entry)
          sun.awt.AWTFinalizer@EE306238/EE3572A0: <unowned>
              Waiting to be notified:
                  "AWT-Finalizer"
          sun.awt.motif.MToolkit@EE304AF0/EE3508C0: owner "main" (0x40e60, 1 entry)
              Waiting to enter:
                  "AWT-Input"
                  "AWT-Motif"
      Registered Monitor Dump:
          Thread queue lock: <unowned>
          Name and type hash table lock: <unowned>
          String intern lock: <unowned>
          JNI pinning lock: <unowned>
          JNI global reference lock: <unowned>
          BinClass lock: <unowned>
          Class loading lock: <unowned>
          Java stack lock: <unowned>
          Code rewrite lock: <unowned>
          Heap lock: <unowned>
          Has finalization queue lock: <unowned>
          Finalize me queue lock: <unowned>
              Waiting to be notified:
                  "Finalizer thread"
          Monitor IO lock: <unowned>
          Child death monitor: <unowned>
          Event monitor: <unowned>
          I/O monitor: <unowned>
          Alarm monitor: <unowned>
              Waiting to be notified:
                  "Clock"
          Sbrk lock: <unowned>
          Monitor cache expansion lock: <unowned>
          Monitor registry: owner "main" (0x40e60, 1 entry)
      Thread Alarm Q:
          sys_thread_t 0xef310de0 [Timeout in 454 ms]
      Abort (core dumped)

      CODE:
       
              import java.awt.*;
              import java.awt.event.*;

              public class Popup extends Dialog implements KeyListener {
                  public static void main(String[] a) {
                      Popup p = new Popup();
                      p.show();
                      p = new Popup();
                      p.show(); // This causes a segmentation fault.
                  }
                  Popup() {
                      super(new Frame(), true );
                      enableEvents(AWTEvent.KEY_EVENT_MASK);
                      addKeyListener(this);
                  }
                  public void keyPressed(KeyEvent ke) {
                      dispose();
                  }
                  public void keyReleased(KeyEvent e) {}
                  public void keyTyped(KeyEvent e) {}
              }


      stephen.fitch@UK 1998-03-30

            duke J. Duke
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: