This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 101628 - ConcurrentModificationException appears during parsing query
Summary: ConcurrentModificationException appears during parsing query
Status: VERIFIED FIXED
Alias: None
Product: obsolete
Classification: Unclassified
Component: visualweb (show other bugs)
Version: 6.x
Hardware: All All
: P1 blocker (vote)
Assignee: _ jimdavidson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-18 18:02 UTC by Alexey Butenko
Modified: 2007-04-20 13:03 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Butenko 2007-04-18 18:02:51 UTC
Issue found with new org-netbeans-modules-db-sql-visualeditor.jar
in netbeans build 070417

It is not always appears, but the most reproducible steps are:
Open Query editor, add one or more tables to query in graph view.
And then parse query by clicking Parse Query from popup menu in query editor, following exception 
will appear, and query editor corrupted or become empty. 

java.util.ConcurrentModificationException
   at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
   at java.util.HashMap$KeyIterator.next(HashMap.java:823)
   at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
   at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilderGraphFrame.clearGraph
(QueryBuilderGraphFrame.java:1460)
   at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilderPane.clear
(QueryBuilderPane.java:304)
   at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilder.generate(QueryBuilder.java:
1339)
   at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilder.populate(QueryBuilder.java:
704)
   at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilderSqlTextArea.actionPerformed
(QueryBuilderSqlTextArea.java:588)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1882)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2202)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:334)
   at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1000)
   at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1041)
   at java.awt.Component.processMouseEvent(Component.java:5554)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
   at java.awt.Component.processEvent(Component.java:5319)
   at java.awt.Container.processEvent(Container.java:2010)
   at java.awt.Component.dispatchEventImpl(Component.java:4021)
   at java.awt.Container.dispatchEventImpl(Container.java:2068)
   at java.awt.Component.dispatchEvent(Component.java:3869)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3936)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
   at java.awt.Container.dispatchEventImpl(Container.java:2054)
   at java.awt.Window.dispatchEventImpl(Window.java:1774)
   at java.awt.Component.dispatchEvent(Component.java:3869)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
   at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Comment 1 Alexey Butenko 2007-04-18 18:05:30 UTC
I've found further, if to close query editor in such corrupted state, it leads to next exception in project:

java.lang.IllegalStateException: [Winsys] TopComponent 
org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilder[jdbc:derby://localhost:1527/travel 
[travel on TRAVEL],
2,0,745x694,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=320
,maximumSize=,minimumSize=,preferredSize=] throws runtime exception from its componentHidden() 
method. Repair it!
	at org.openide.windows.WindowManager.componentHidden(WindowManager.java:339)
	at org.netbeans.core.windows.WindowManagerImpl.componentHidden(WindowManagerImpl.java:
1018)
	at org.netbeans.core.windows.view.DefaultView.changeGUI(DefaultView.java:464)
	at org.netbeans.core.windows.ViewRequestor.dispatchRequest(ViewRequestor.java:247)
	at org.netbeans.core.windows.ViewRequestor.processRequest(ViewRequestor.java:223)
	at org.netbeans.core.windows.ViewRequestor.postRequest(ViewRequestor.java:161)
	at org.netbeans.core.windows.ViewRequestor.scheduleRequest(ViewRequestor.java:101)
	at org.netbeans.core.windows.Central.removeModeTopComponent(Central.java:902)
	at org.netbeans.core.windows.Central.userClosedTopComponent(Central.java:1794)
	at org.netbeans.core.windows.view.DefaultView.userClosedTopComponent(DefaultView.java:714)
	at org.netbeans.core.windows.view.ui.TabbedHandler.actionPerformed(TabbedHandler.java:299)
	at org.netbeans.swing.tabcontrol.TabbedContainer.postActionEvent(TabbedContainer.java:652)
	at org.netbeans.swing.tabcontrol.TabbedContainerUI.shouldPerformAction
(TabbedContainerUI.java:140)
	at org.netbeans.swing.tabcontrol.plaf.DefaultTabbedContainerUI.access$2600
(DefaultTabbedContainerUI.java:87)
	at org.netbeans.swing.tabcontrol.plaf.DefaultTabbedContainerUI
$DisplayerActionListener.actionPerformed(DefaultTabbedContainerUI.java:1232)
	at org.netbeans.swing.tabcontrol.TabDisplayer.postActionEvent(TabDisplayer.java:521)
	at org.netbeans.swing.tabcontrol.TabDisplayerUI.shouldPerformAction(TabDisplayerUI.java:150)
	at org.netbeans.swing.tabcontrol.plaf.BasicTabDisplayerUI.access$1500(BasicTabDisplayerUI.java:
94)
	at org.netbeans.swing.tabcontrol.plaf.BasicTabDisplayerUI
$BasicDisplayerMouseListener.performCommand(BasicTabDisplayerUI.java:693)
	at org.netbeans.swing.tabcontrol.plaf.BasicTabDisplayerUI
$BasicDisplayerMouseListener.potentialCommand(BasicTabDisplayerUI.java:678)
	at org.netbeans.swing.tabcontrol.plaf.BasicTabDisplayerUI
$BasicDisplayerMouseListener.mouseReleased(BasicTabDisplayerUI.java:726)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
	at java.awt.Component.processMouseEvent(Component.java:5554)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5319)
	at java.awt.Container.processEvent(Container.java:2010)
	at java.awt.Component.dispatchEventImpl(Component.java:4021)
	at java.awt.Container.dispatchEventImpl(Container.java:2068)
	at java.awt.Component.dispatchEvent(Component.java:3869)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3936)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
	at java.awt.Container.dispatchEventImpl(Container.java:2054)
	at java.awt.Window.dispatchEventImpl(Window.java:1774)
	at java.awt.Component.dispatchEvent(Component.java:3869)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
	at java.util.HashMap$KeyIterator.next(HashMap.java:823)
	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
	at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilderGraphFrame.clearGraph
(QueryBuilderGraphFrame.java:1460)
	at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilderPane.clear
(QueryBuilderPane.java:304)
	at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilder.disableVisualEditing
(QueryBuilder.java:767)
	at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilder.promptForContinuation
(QueryBuilder.java:757)
	at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilder.populate
(QueryBuilder.java:686)
	at org.netbeans.modules.db.sql.visualeditor.querybuilder.QueryBuilder.componentHidden
(QueryBuilder.java:1499)
	at org.openide.windows.WindowManager.componentHidden(WindowManager.java:337)
	... 41 more
Comment 2 _ jimdavidson 2007-04-19 17:04:36 UTC
This was already marked as fixed last night.  

The IssueZilla software needs to be fixed.
Comment 3 Alexey Butenko 2007-04-20 13:03:33 UTC
verified with build 070420