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

Destroying a dialog with many text fields core dumps

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P1 P1
    • None
    • 1.1
    • client-libs
    • None
    • x86, sparc
    • solaris_2.5.1, windows_95



      Name: mc57594 Date: 02/12/97


      1) Run program and click on canvas to bring up dialog.
          Hit the "Cancel" button to destroy the dialog, java will
          core dump.
      2)
       $ more my_dialog.java
       
      import java.awt.TextField;
      import java.awt.Button;
      import java.awt.Component;
      import java.awt.Panel;
      import java.awt.Frame;
      import java.awt.GridLayout;
      import java.awt.GridBagConstraints;
      import java.awt.GridBagLayout;
      import java.awt.ScrollPane;
      import java.awt.Label;
      import java.awt.Event;
      import java.awt.Dialog;
       
       
       
      class my_dialog extends Dialog
      {
       
        Button ok_, cancel_;
        TextField textField_;
       
       
        my_dialog(Frame parent, String title, boolean modal)
        {
          super(parent, title, modal);
       
          Panel p1 = new Panel();
          Panel main_ = new Panel();
          ScrollPane sp = new ScrollPane();
          sp.add(main_);
          p1.setLayout(new GridLayout(1,2));
          GridBagConstraints gbc_ = new GridBagConstraints();
          gbc_.fill = GridBagConstraints.NONE;


          GridBagLayout gbl_ = new GridBagLayout();
          main_.setLayout(gbl_);

          int x,y;
          
          for (int i = 0; i < 400; i++)
          {
            TextField t = new TextField("intpu", 10);
            x = i % 15;
            y = i % 500;
            
            System.out.println(x+" "+y);

            constrain(t, gbl_, gbc_, x, y, 5, 1);
            main_.add(t);
          }

          p1.add(sp);

          // Create dialog buttons
          ok_ = new Button("Ok");
          cancel_ = new Button("Cancel");
       
          // Create a panel to contain the dialog buttons
          Panel p2 = new Panel();
          // p2.setLayout(new GridLayout(1,2));
          p2.add(ok_);
          p2.add(cancel_);
       
          add("Center", p1 );
          add("South", p2 );
          pack();
        }
       
      private void
      constrain(Component c, GridBagLayout gbl, GridBagConstraints gbc,
        int x, int y, int w, int h)
      {
        gbc.gridx = x;
        gbc.gridy = y;
        gbc.gridwidth = w;
        gbc.gridheight = h;
        gbl.setConstraints(c, gbc);
      }
       
        public boolean
        action(Event evt, Object arg)
        {
          // System.out.println("action "+evt);
          if (evt.target == ok_) {
          }
          else if (evt.target == cancel_) {
            dispose();
          }
          // carriage return same as OK
          else if(evt.target instanceof TextField) {
            if (evt.target.equals(textField_)) {
            }
          }
          else return super.action(evt, arg);
          return true;
        }
       
      }
       

       more client.java
       
       
      import java.awt.Dialog;
      import java.awt.Frame;
      import java.awt.Event;
      import my_dialog;
       
      class client extends Frame
      {
       
       
       
        client(String title)
        {
          super(title);
          this.resize(400,400);
          System.out.println("CLIENT: I'm here");
        }
       
       
         public boolean mouseUp(Event e, int x, int y)
         {
          Dialog d = new my_dialog(this, "test dialog", true);
              d.resize(400,400);
          d.show();
          return true;
         }
       
       
              public static void main(String args[])
              {
          new client("CLIENT").show();
              }
      }


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

      stackbase=EDF82000, stackpointer=EDF817E0

      Full thread dump:
          "Screen Updater" (TID:0xee710040, sys_thread_t:0xedf21de0, state:CW) prio=3
      java.lang.Object.wait(Object.java)
      sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:78)
      sun.awt.ScreenUpdater.run(ScreenUpdater.java:100)
          "AWT-Dispatch-Proxy" (TID:0xee7100e8, sys_thread_t:0xedf81de0, state:R) prio=5 *current thread*
      java.awt.Component.removeNotify(Component.java)
      java.awt.TextComponent.removeNotify(TextComponent.java)
      java.awt.Container.removeNotify(Container.java)
      java.awt.Container.removeNotify(Container.java)
      java.awt.Container.removeNotify(Container.java)
      java.awt.Container.removeNotify(Container.java)
      java.awt.Window.dispose(Window.java)
      my_dialog.action(my_dialog.java:89)
      java.awt.Component.handleEvent(Component.java)
      java.awt.Window.postEvent(Window.java)
      java.awt.Component.postEvent(Component.java)
      java.awt.Component.postEvent(Component.java)
      java.awt.Component.dispatchEvent(Component.java)
      java.awt.EventDispatchThread.run(EventDispatchThread.java)
          "AWT-Motif" (TID:0xee7042a0, sys_thread_t:0xedfb1de0, state:CW) prio=5
      java.lang.Thread.run(Thread.java)
          "AWT-Input" (TID:0xee704280, sys_thread_t:0xedfe1de0, state:CW) prio=5
          "AWT-EventQueue" (TID:0xee704250, sys_thread_t:0xee011de0, state:CW) prio=5
      java.awt.EventQueue.getNextEvent(EventQueue.java)
      java.awt.EventDispatchThread.run(EventDispatchThread.java)
          "Finalizer thread" (TID:0xee7002f8, sys_thread_t:0xee2c1de0, state:CW) prio=1
          "Async Garbage Collector" (TID:0xee7002b0, sys_thread_t:0xee2f1de0, state:CW) prio=1
          "Idle thread" (TID:0xee700268, sys_thread_t:0xee3c1de0, state:R) prio=0
          "Clock" (TID:0xee700180, sys_thread_t:0xee3f1de0, state:CW) prio=12
          "main" (TID:0xee700150, sys_thread_t:0x642d0, state:CW) prio=5
      Monitor Cache Dump:
       unknown key (key=0xee2f1de0): unowned
      Waiting to be notified:
          "Async Garbage Collector"
       java.awt.EventQueue@EE704238/EE751008 (key=0xee704238): unowned
      Waiting to be notified:
          "AWT-EventQueue"
               sun.awt.motif.MToolkit@EE704220/EE74C220 (key=0xee704220): monitor owner edf81de0: "AWT-Dispatch-Proxy"
      Waiting to be notified:
          "AWT-Motif"
       sun.awt.ScreenUpdater@EE710040/EE784330 (key=0xee710040): unowned
      Waiting to be notified:
          "Screen Updater"
      Registered Monitor Dump:
          Thread queue lock: unowned
      Waiting to be notified:
          "main"
          Name and type hash table lock: unowned
          String intern 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
              Waiting to be notified:
                  "AWT-Input"
          Alarm monitor: unowned
              Waiting to be notified:
                  "Clock"
          Sbrk lock: unowned
          Monitor cache expansion lock: unowned
          Monitor registry: monitor owner edf81de0: "AWT-Dispatch-Proxy"
      Thread Alarm Q:
          sys_thread_t 0xedfe1de0 [Timeout in 20 ms]
          sys_thread_t 0xee2f1de0 [Timeout in 291 ms]
      Abort (core dumped)

      4)
      5) SunOS 5.5.1 Generic_103640-04 sun4u sparc SUNW,Ultra-1

      company - Westinghouse , email - ###@###.###
      ======================================================================

            gsaab Georges Saab
            mchamnessunw Mark Chamness (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: