Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 5018566
Votes 0
Synopsis JavaBeans Bridge for Active X 1.3.1_11: combobox selection hangs
Category java_plugin:bridge
Reported Against 1.3.1_11
Release Fixed 1.3.1_12
State 10-Fix Delivered, bug
Priority: 2-High
Related Bugs
Submit Date 23-MAR-2004
Description
The application is written in Visual Basic and running under Windows XP. Inside this VB application, there is a Java component using the JavaBeans Bridge for Active X, Version 1.3.1_11.

After the Java application is started from within the VB application, a table appears. When selecting one of the table cells, a dropdown appears and one can select one of 4 items. After that selection, the whole application hangs without consuming CPU power. All values entered into the java application and the VB application are lost because the application needs to be killed and restarted.

A simplified test case is attached, including a readme that explains how to install. If the execution of the create_tlb_reg.bat file (step 5 in the readme) does not start the Packager, please perform the 2 steps of this batch file manually.

After the hang of the test application, one can only move the main window (however, only after some seconds - if you want to do it immediately, you have to use <ALT><SPACE> and select "move" from the menu). When clicking inside the window afterwards, the text "Not Responding" appears in the window title.
Work Around
disable comboboxes and use dialog boxes. Not really a workaround because of limited screen space and workflow issues.
Evaluation
Project1.exe couldn't be started if I followed the steps in readMe.txt of testcase.zip. I got an error window indicating the TestTable.tlb wasn't registered correctly.
I worked around the above by edit the TestTable.reg file and using the TestTable.tlb as is.

I could reproduce the hang using the following config:
WinNT SP6
VB 6
JRE 1.3.1_11

Java thread dump shows:
Full thread dump:^M
^M
"TimerQueue" daemon prio=5 tid=0x1165120 nid=0x1d5 waiting on monitor [0xc83f000^M
$ cat java_threads.txt
Full thread dump:

"TimerQueue" daemon prio=5 tid=0x1165120 nid=0x1d5 waiting on monitor [0xc83f000
..0xc83fdc0]
        at java.lang.Object.wait(Native Method)
        at javax.swing.TimerQueue.run(TimerQueue.java:228)
        at java.lang.Thread.run(Thread.java:479)

"Screen Updater" prio=5 tid=0x115d390 nid=0x1f0 waiting on monitor [0xc32f000..0
xc32fdc0]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:71)
        at sun.awt.ScreenUpdater.run(ScreenUpdater.java:90)

"AWT-Windows" prio=7 tid=0x1151ac0 nid=0x1f8 runnable [0xc22f000..0xc22fdc0]
        at sun.awt.windows.WToolkit.eventLoop(Native Method)
        at sun.awt.windows.WToolkit.run(WToolkit.java:183)
        at java.lang.Thread.run(Thread.java:479)

"SunToolkit.PostEventQueue-0" prio=7 tid=0x11506d0 nid=0x17e waiting on monitor
[0xc12f000..0xc12fdc0]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at sun.awt.PostEventQueue.run(SunToolkit.java:486)

"AWT-EventQueue-0" prio=7 tid=0x1150ec0 nid=0x48 runnable [0xc02f000..0xc02fdc0]

        at sun.awt.windows.WComponentPeer.hide(Native Method)
        at java.awt.Component.hide(Component.java:957)
        at java.awt.Window.hide(Window.java:442)
        at javax.swing.DefaultPopupFactory$WindowPopup.hide(DefaultPopupFactory.
java:495)
        at javax.swing.JPopupMenu.setVisible(JPopupMenu.java:670)
        at javax.swing.JPopupMenu.menuSelectionChanged(JPopupMenu.java:1133)
        at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager
.java:73)
        at javax.swing.MenuSelectionManager.clearSelectedPath(MenuSelectionManag
er.java:105)
        at javax.swing.plaf.basic.BasicComboPopup.hide(BasicComboPopup.java:129)

        at javax.swing.plaf.basic.BasicComboBoxUI.setPopupVisible(BasicComboBoxU
I.java:888)
        at javax.swing.plaf.basic.BasicComboBoxUI$FocusHandler.focusLost(BasicCo
mboBoxUI.java:436)
        at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:166)
        at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:165)
        at java.awt.Component.processFocusEvent(Component.java:3637)
        at javax.swing.JComponent.processFocusEvent(JComponent.java:1975)
        at java.awt.Component.processEvent(Component.java:3530)
        at java.awt.Container.processEvent(Container.java:1159)
        at java.awt.Component.dispatchEventImpl(Component.java:2588)
        at java.awt.Container.dispatchEventImpl(Container.java:1208)
        at java.awt.Component.dispatchEvent(Component.java:2492)
        at java.awt.LightweightDispatcher.setFocusRequest(Container.java:2071)
        at java.awt.Container.proxyRequestFocus(Container.java:1330)
        at java.awt.Component.requestFocus(Component.java:4169)
        at javax.swing.JComponent.grabFocus(JComponent.java:910)
        at javax.swing.JComponent.requestFocus(JComponent.java:892)
        at javax.swing.JTable.removeEditor(JTable.java:3608)
        at javax.swing.JTable.editingStopped(JTable.java:2988)
        at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.
java:107)
        at javax.swing.DefaultCellEditor$EditorDelegate.stopCellEditing(DefaultC
ellEditor.java:237)
        at javax.swing.DefaultCellEditor.stopCellEditing(DefaultCellEditor.java:
171)
        at javax.swing.DefaultCellEditor$EditorDelegate.actionPerformed(DefaultC
ellEditor.java:246)
        at javax.swing.JComboBox.fireActionEvent(JComboBox.java:865)
        at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:889)
        at javax.swing.JComboBox.contentsChanged(JComboBox.java:941)
        at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.j
ava:74)
        at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel
.java:81)
        at javax.swing.JComboBox.setSelectedItem(JComboBox.java:410)
        at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:450)
        at javax.swing.plaf.basic.BasicComboPopup$ListMouseHandler.mouseReleased
(BasicComboPopup.java:577)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:2
26)
        at java.awt.Component.processMouseEvent(Component.java:3710)
        at java.awt.Component.processEvent(Component.java:3539)
        at java.awt.Container.processEvent(Container.java:1159)
        at java.awt.Component.dispatchEventImpl(Component.java:2588)
        at java.awt.Container.dispatchEventImpl(Container.java:1208)
        at java.awt.Component.dispatchEvent(Component.java:2492)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
        at java.awt.Container.dispatchEventImpl(Container.java:1195)
        at java.awt.Window.dispatchEventImpl(Window.java:923)
        at java.awt.Component.dispatchEvent(Component.java:2492)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:126)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:93)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:88)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:80)

"Signal Dispatcher" daemon prio=10 tid=0x113a1e0 nid=0x1e2 waiting on monitor [0
..0]

"Finalizer" daemon prio=9 tid=0x11376e0 nid=0x1d1 waiting on monitor [0xb9bf000.
.0xb9bfdc0]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:103)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:157)

"Reference Handler" daemon prio=10 tid=0x1136480 nid=0x1b4 waiting on monitor [0
xb8bf000..0xb8bfdc0]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:415)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:105)

"main" prio=5 tid=0x1132530 nid=0x1b7 waiting for monitor entry [0x12f000..0x12f
b68]
        at sun.awt.im.InputContext.focusGained(InputContext.java:239)
        at sun.awt.im.InputContext.dispatchEvent(InputContext.java:193)
        at sun.awt.im.InputMethodContext.dispatchEvent(InputMethodContext.java:1
72)
        at java.awt.Component.dispatchEventImpl(Component.java:2522)
        at java.awt.Container.dispatchEventImpl(Container.java:1208)
        at java.awt.Component.dispatchEvent(Component.java:2492)
        at java.awt.LightweightDispatcher.setFocusRequest(Container.java:2099)
        at java.awt.Container.proxyRequestFocus(Container.java:1330)
        at java.awt.Component.requestFocus(Component.java:4169)
        at javax.swing.JComponent.grabFocus(JComponent.java:910)
        at javax.swing.JComponent.requestFocus(JComponent.java:892)
        at sun.beans.ole.OleEmbeddedFrame.requestFocus(Unknown Source)

"VM Thread" prio=5 tid=0x11355b0 nid=0x1f7 runnable

"VM Periodic Task Thread" prio=10 tid=0x11395f0 nid=0x42 waiting on monitor
"Suspend Checker Thread" prio=10 tid=0x1139050 nid=0x1f2 runnable
$ 

 xxxxx@xxxxx  2004-03-23
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang