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 140780 - [65cat] NetBeans locks up for minutes during code refactoring and reformatting
Summary: [65cat] NetBeans locks up for minutes during code refactoring and reformatting
Status: RESOLVED FIXED
Alias: None
Product: editor
Classification: Unclassified
Component: Formatting & Indentation (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: Dusan Balek
URL:
Keywords:
: 136596 141718 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-07-18 16:55 UTC by wobster
Modified: 2008-08-14 12:55 UTC (History)
0 users

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 wobster 2008-07-18 16:55:56 UTC
During the following, the NetBeans AWT event queue locked up (gray screen with no refresh) for a few minutes. It
eventually came back, but there some step is blocking the event queue for a long time.

1.) Start NetBeans

2.) Open project

3.) NetBeans starts to scan classpath and the included directories. (I have one large directory containing map data in
my classpath that NetBeans insists on scanning every time I start it and I can't stop it. I've written a bug on that one.)

4.) Clone a file and start manually refactoring a class (converting from a JFrame to a JApplet)

5.) Before all syntax errors were fixed, I reformatted the code

6.) The IDE locked up for a few minutes

Here is the stack trace I got from jconsole near the end of the lockup:

Name: AWT-EventQueue-1

State: WAITING on java.util.concurrent.locks.ReentrantLock$FairSync@127a12c owned by: Java Source Worker Thread

Total blocked: 1,041  Total waited: 6,748

 

Stack trace:

sun.misc.Unsafe.park(Native Method)

java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)

java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)

java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)

java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)

java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:201)

java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)

org.netbeans.api.java.source.JavaSource$JavaSourceAccessorImpl.lockJavaCompiler(JavaSource.java:2132)

org.netbeans.modules.java.source.save.Reformatter$Lock.lock(Reformatter.java:306)

org.netbeans.modules.editor.indent.TaskHandler$MimeItem.lock(TaskHandler.java:497)

org.netbeans.modules.editor.indent.TaskHandler.lock(TaskHandler.java:232)

org.netbeans.modules.editor.indent.IndentImpl.reformatLock(IndentImpl.java:159)

   - locked org.netbeans.modules.editor.indent.IndentImpl@ca6c00

org.netbeans.modules.editor.indent.FormatterImpl.reformatLock(FormatterImpl.java:93)

org.netbeans.editor.ActionFactory$FormatAction.actionPerformed(ActionFactory.java:1526)

org.netbeans.editor.BaseAction.actionPerformed(BaseAction.java:291)

javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

javax.swing.AbstractButton.doClick(AbstractButton.java:357)

javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1220)

javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1261)

java.awt.Component.processMouseEvent(Component.java:6041)

javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

java.awt.Component.processEvent(Component.java:5806)

java.awt.Container.processEvent(Container.java:2058)

java.awt.Component.dispatchEventImpl(Component.java:4413)

java.awt.Container.dispatchEventImpl(Container.java:2116)

java.awt.Component.dispatchEvent(Component.java:4243)

java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

java.awt.Container.dispatchEventImpl(Container.java:2102)

java.awt.Window.dispatchEventImpl(Window.java:2440)

java.awt.Component.dispatchEvent(Component.java:4243)

java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)

java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Comment 1 wobster 2008-07-19 19:44:58 UTC
Here is another stack trace of the AWT Event Queue with the EDT being blocked. (no repainting):

Name: AWT-EventQueue-1
State: WAITING on java.util.concurrent.locks.ReentrantLock$FairSync@b1de2d owned by: Default RequestProcessor
Total blocked: 326  Total waited: 1,585

Stack trace: 
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
java.util.concurrent.locks.ReentrantLock$FairSync.lock(ReentrantLock.java:201)
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
org.netbeans.napi.gsfret.source.Source$JavaSourceAccessorImpl.lockParser(Source.java:1707)
org.netbeans.modules.gsf.GsfReformatTask$Lock.lock(GsfReformatTask.java:111)
org.netbeans.modules.editor.indent.TaskHandler$MimeItem.lock(TaskHandler.java:497)
org.netbeans.modules.editor.indent.TaskHandler.lock(TaskHandler.java:232)
org.netbeans.modules.editor.indent.IndentImpl.reformatLock(IndentImpl.java:159)
   - locked org.netbeans.modules.editor.indent.IndentImpl@17daac3
org.netbeans.modules.editor.indent.api.Reformat.lock(Reformat.java:111)
org.netbeans.modules.web.core.syntax.JSPKit$JspDefaultKeyTypedAction.reformat(JSPKit.java:548)
org.netbeans.modules.web.core.syntax.JSPKit$JspDefaultKeyTypedAction.handleTagClosingSymbol(JSPKit.java:535)
org.netbeans.modules.web.core.syntax.JSPKit$JspDefaultKeyTypedAction.insertString(JSPKit.java:478)
org.netbeans.editor.BaseKit$DefaultKeyTypedAction.actionPerformed(BaseKit.java:1108)
org.netbeans.editor.ext.ExtKit$ExtDefaultKeyTypedAction.actionPerformed(ExtKit.java:1015)
org.netbeans.modules.web.core.syntax.JSPKit$JspDefaultKeyTypedAction.actionPerformed(JSPKit.java:449)
org.netbeans.editor.BaseAction.actionPerformed(BaseAction.java:291)
com.raelity.jvi.swing.OpsBase.xact(OpsBase.java:50)
org.netbeans.modules.jvi.NbOps.xop(NbOps.java:45)
com.raelity.jvi.swing.OpsBase.xop(OpsBase.java:60)
com.raelity.jvi.swing.TextView.insertTypedChar(TextView.java:368)
com.raelity.jvi.swing.TextView.insertChar(TextView.java:354)
com.raelity.jvi.Misc.ins_char(Misc.java:417)
com.raelity.jvi.Edit.insertchar(Edit.java:840)
com.raelity.jvi.Edit.insert_special(Edit.java:825)
com.raelity.jvi.Edit.edit(Edit.java:494)
com.raelity.jvi.Normal.processInputChar(Normal.java:137)
com.raelity.jvi.GetChar.gotc(GetChar.java:85)
com.raelity.jvi.ViManager.keyStroke(ViManager.java:639)
com.raelity.jvi.swing.DefaultViFactory$EnqueCharAction.actionPerformed(DefaultViFactory.java:571)
javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
javax.swing.JComponent.processKeyBinding(JComponent.java:2849)
javax.swing.JComponent.processKeyBindings(JComponent.java:2884)
javax.swing.JComponent.processKeyEvent(JComponent.java:2812)
java.awt.Component.processEvent(Component.java:5818)
java.awt.Container.processEvent(Container.java:2058)
java.awt.Component.dispatchEventImpl(Component.java:4413)
java.awt.Container.dispatchEventImpl(Container.java:2116)
java.awt.Component.dispatchEvent(Component.java:4243)
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:697)
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:962)
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:834)
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661)
java.awt.Component.dispatchEventImpl(Component.java:4285)
java.awt.Container.dispatchEventImpl(Container.java:2116)
java.awt.Window.dispatchEventImpl(Window.java:2440)
java.awt.Component.dispatchEvent(Component.java:4243)
java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Comment 2 Peter Pis 2008-07-28 09:20:34 UTC
Reassigning to "editor".
Comment 3 Jan Becicka 2008-07-29 10:37:17 UTC
Dusane, please take a look at it. Thanks.
Comment 4 Dusan Balek 2008-07-30 15:59:36 UTC
Fixed.

changeset c6da592d35ec in main
details: http://hg.netbeans.org/main?cmd=changeset;node=c6da592d35ec
Comment 5 Quality Engineering 2008-07-31 04:19:57 UTC
Integrated into 'main-golden', available in build *200807310201* on http://bits.netbeans.org/dev/nightly/
Changeset: http://hg.netbeans.org/main/rev/c6da592d35ec
User: Dusan Balek <dbalek@netbeans.org>
Log: Issue #140780: [65cat] NetBeans locks up for minutes during code refactoring and reformatting - fixed.
Comment 6 Jan Becicka 2008-08-13 10:02:21 UTC
*** Issue 136596 has been marked as a duplicate of this issue. ***
Comment 7 Jan Lahoda 2008-08-14 12:55:49 UTC
*** Issue 141718 has been marked as a duplicate of this issue. ***