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

Dialog.dispose() method causing hang under JDK1.1.1 and win32

    XMLWordPrintable

Details

    • b01
    • x86
    • windows_nt
    • Not verified

    Description

      During our continued testing we've come across another scenario in which it
      appears that threads are blocking each other - causing the appletviewer session
      to hang. Similar to another bug we reported, this problem also occurs with the
      combination of:

         - Call to the dispose() method
         - AWT Finalizer

      however, what distinguishes this issue is that rather than a Graphics.dispose()
      call, this is occurring with a Dialog.dispose() call.
      To reproduce the problem, which is occurring with the WebForms Oracle product:

      on win95 or winNT run, in the /home/richie/orcl/web/tests directory:

        1 - appletviewer x.html
        2 - click on the checkbox labelled 'Master Detail Block'
        3 - in the second window which appears, select Query->Execute from the menu
        4 - click on the TextField labelled 'Dname'
        5 - select Edit->Edit from the menu
        6 - make a change to value displayed in the Editor dialog
        7 - click on the 'window close' button (top right corner)
        8 - click on the 'No' button in the following dialog
        9 - if the session isn't hung at this point, go to step 4 and repeat...

      Here is a stack trace of what is going on:

      Full thread dump:
          "Forms-DialogThread1" (TID:0xf8fa78, sys_thread_t:0x8b0670, Win32ID:0x60, state:CW) prio=5
              sun.awt.windows.WDialogPeer.show(WDialogPeer.java:55)
              java.awt.Dialog.show(Dialog.java:205)
              oracle.forms.uiClient.v1_4.ui.DialogThread.doDialog(DialogThread.java:231)
              oracle.forms.uiClient.v1_4.ui.DialogThread.run(DialogThread.java:214)
              java.lang.Thread.run(Thread.java:474)
          "AWT-Finalizer" (TID:0xf931d0, sys_thread_t:0x8a91e0, Win32ID:0xa0, state:CW) prio=8
              java.lang.Object.wait(Object.java:315)
              sun.awt.AWTFinalizer.run(AWTFinalizer.java:48)
          "Forms-Runform-1" (TID:0xf6fe10, sys_thread_t:0x889850, Win32ID:0xa6, state:S) prio=4
              java.lang.Object.wait(Object.java:315)
              oracle.forms.uiClient.v1_4.engine.Runform.startRunform(Runform.java:467)
              oracle.forms.uiClient.v1_4.engine.Runform.run(Runform.java:383)
              java.lang.Thread.run(Thread.java:474)
          "Screen Updater" (TID:0xf6f428, sys_thread_t:0x899750, Win32ID:0x99, state:CW) prio=4
              java.lang.Object.wait(Object.java:315)
              sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:78)
              sun.awt.ScreenUpdater.run(ScreenUpdater.java:98)
          "AWT-Windows" (TID:0xf6d9e8, sys_thread_t:0x894100, Win32ID:0x98, state:R) prio=5
              sun.awt.windows.WToolkit.run(WToolkit.java:103)
              java.lang.Thread.run(Thread.java:474)
          "AWT-EventQueue-0" (TID:0xf6d920, sys_thread_t:0x8942d0, Win32ID:0x4e, state:CW) prio=5
              java.lang.Object.wait(Object.java:315)
              java.awt.EventQueue.getNextEvent(EventQueue.java:113)
              java.awt.EventDispatchThread.run(EventDispatchThread.java:55)
          "thread applet-oracle.forms.uiClient.v1_4.engine.Main" (TID:0xf6cb70, sys_thread_t:0x88dd50, Win32ID:0x86, state:S) prio=4
              java.lang.Object.wait(Object.java:315)
              sun.applet.AppletPanel.getNextEvent(AppletPanel.java:204)
              sun.applet.AppletPanel.run(AppletPanel.java:230)
              java.lang.Thread.run(Thread.java:474)
          "Finalizer thread" (TID:0xf600d0, sys_thread_t:0x8749b0, Win32ID:0x5f, state:CW) prio=2
          "main" (TID:0xf600a8, sys_thread_t:0x87d720, Win32ID:0xa1, state:CW) prio=5
      Monitor Cache Dump:
          sun.applet.AppletViewerPanel@F6C838/FCECA8: <unowned>
              Waiters: 1
          sun.awt.AWTFinalizer@F931D0/F98968: <unowned>
              Waiters: 1
          sun.awt.ScreenUpdater@F6F428/FD87D0: <unowned>
              Waiters: 1
          sun.awt.windows.WDialogPeer@F90840/1013818: <unowned>
              Waiters: 1
          oracle.forms.uiClient.v1_4.engine.Runform@F6FD48/FD9BA0: <unowned>
              Waiters: 1
          java.awt.EventQueue@F6D8D0/FD2DA0: <unowned>
              Waiters: 1
      Registered Monitor Dump:
          Thread queue lock: <unowned>
              Waiters: 1
          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>
              Waiters: 1
          Monitor cache expansion lock: <unowned>
          Monitor registry: <unowned>

      Attachments

        Activity

          People

            jlockesunw Jonathan Locke (Inactive)
            rschiavisunw Richard Schiavi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: