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 152351 - Frozen EDT when searching the history
Summary: Frozen EDT when searching the history
Status: RESOLVED FIXED
Alias: None
Product: versioncontrol
Classification: Unclassified
Component: Subversion (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: Marian Petras
URL:
Keywords: THREAD
: 158314 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-11-04 19:42 UTC by _ rkubacki
Modified: 2009-02-21 16:57 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 _ rkubacki 2008-11-04 19:42:52 UTC
NB6.5rc1, linux

Search history on a folder containing a few directories tracked by subversion + some other content. Then select some
revisions and do 'search'.

There is no reasonable feedback and UI frozen.

"AWT-EventQueue-1" prio=10 tid=0x081e9c00 nid=0x35e7 runnable [0xc45b9000..0xc45bafc0]
   java.lang.Thread.State: RUNNABLE
	at java.io.FileInputStream.readBytes(Native Method)
	at java.io.FileInputStream.read(FileInputStream.java:199)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
	- locked <0xc9352f98> (a java.io.BufferedInputStream)
	at org.netbeans.modules.subversion.client.parser.WorkingCopyDetails.isModifiedByByte(WorkingCopyDetails.java:350)
	at org.netbeans.modules.subversion.client.parser.WorkingCopyDetails.textModified(WorkingCopyDetails.java:305)
	at org.netbeans.modules.subversion.client.parser.SvnWcParser.getSingleStatus(SvnWcParser.java:120)
	at org.netbeans.modules.subversion.client.parser.SvnWcParser.getStatus(SvnWcParser.java:92)
	at org.netbeans.modules.subversion.client.parser.SvnWcParser.getStatus(SvnWcParser.java:77)
	at
org.netbeans.modules.subversion.client.SvnCmdLineClientInvocationHandler.handleIntern(SvnCmdLineClientInvocationHandler.java:98)
	at
org.netbeans.modules.subversion.client.SvnCmdLineClientInvocationHandler.invokeMethod(SvnCmdLineClientInvocationHandler.java:72)
	at org.netbeans.modules.subversion.client.SvnClientInvocationHandler.invoke(SvnClientInvocationHandler.java:120)
	at $Proxy17.getStatus(Unknown Source)
	at org.netbeans.modules.subversion.FileStatusCache.scanFolder(FileStatusCache.java:628)
	at org.netbeans.modules.subversion.FileStatusCache.getScannedFiles(FileStatusCache.java:596)
	at org.netbeans.modules.subversion.FileStatusCache.getStatus(FileStatusCache.java:265)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:131)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.<init>(SearchExecutor.java:96)
	at org.netbeans.modules.subversion.ui.history.SearchHistoryPanel.search(SearchHistoryPanel.java:283)
	- locked <0xcf5ba808> (a org.netbeans.modules.subversion.ui.history.SearchHistoryPanel)
	at org.netbeans.modules.subversion.ui.history.SearchHistoryPanel.access$000(SearchHistoryPanel.java:74)
	at org.netbeans.modules.subversion.ui.history.SearchHistoryPanel$1.actionPerformed(SearchHistoryPanel.java:141)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
	at java.awt.Component.processMouseEvent(Component.java:6038)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
	at java.awt.Component.processEvent(Component.java:5803)
	at java.awt.Container.processEvent(Container.java:2058)
	at java.awt.Component.dispatchEventImpl(Component.java:4410)
	at java.awt.Container.dispatchEventImpl(Container.java:2116)
	at java.awt.Component.dispatchEvent(Component.java:4240)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
	at java.awt.Container.dispatchEventImpl(Container.java:2102)
	at java.awt.Window.dispatchEventImpl(Window.java:2429)
	at java.awt.Component.dispatchEvent(Component.java:4240)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)


"AWT-EventQueue-1" prio=10 tid=0x081e9c00 nid=0x35e7 in Object.wait() [0xc45b9000..0xc45bafc0]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0xc9544970> (a java.lang.UNIXProcess$Gate)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.UNIXProcess$Gate.waitForExit(UNIXProcess.java:64)
	- locked <0xc9544970> (a java.lang.UNIXProcess$Gate)
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:145)
	at java.lang.ProcessImpl.start(ProcessImpl.java:65)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
	at java.lang.Runtime.exec(Runtime.java:593)
	at java.lang.Runtime.exec(Runtime.java:509)
	at org.netbeans.modules.subversion.client.cli.Commandline.exec(Commandline.java:113)
	at org.netbeans.modules.subversion.client.cli.CommandlineClient.exec(CommandlineClient.java:729)
	at org.netbeans.modules.subversion.client.cli.CommandlineClient.propertyGet(CommandlineClient.java:559)
	at org.netbeans.modules.subversion.client.cli.CommandlineClient.propertyGet(CommandlineClient.java:546)
	at org.tigris.subversion.svnclientadapter.AbstractClientAdapter.getIgnoredPatterns(AbstractClientAdapter.java:93)
	at org.netbeans.modules.subversion.client.cli.CommandlineClient.getIgnoredPatterns(CommandlineClient.java:585)
	at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.netbeans.modules.subversion.client.SvnClientInvocationHandler.handle(SvnClientInvocationHandler.java:241)
	at
org.netbeans.modules.subversion.client.SvnCmdLineClientInvocationHandler.invokeMethod(SvnCmdLineClientInvocationHandler.java:77)
	at org.netbeans.modules.subversion.client.SvnClientInvocationHandler.invoke(SvnClientInvocationHandler.java:123)
	- locked <0xce6402b8> (a java.lang.Object)
	at $Proxy17.getIgnoredPatterns(Unknown Source)
	at org.netbeans.modules.subversion.Subversion.isIgnored(Subversion.java:346)
	at org.netbeans.modules.subversion.FileStatusCache.createMissingEntryFileInformation(FileStatusCache.java:839)
	at org.netbeans.modules.subversion.FileStatusCache.createFileInformation(FileStatusCache.java:687)
	at org.netbeans.modules.subversion.FileStatusCache.scanFolder(FileStatusCache.java:657)
	at org.netbeans.modules.subversion.FileStatusCache.getScannedFiles(FileStatusCache.java:596)
	at org.netbeans.modules.subversion.FileStatusCache.getStatus(FileStatusCache.java:265)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:131)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.populatePathToRoot(SearchExecutor.java:135)
	at org.netbeans.modules.subversion.ui.history.SearchExecutor.<init>(SearchExecutor.java:96)
	at org.netbeans.modules.subversion.ui.history.SearchHistoryPanel.search(SearchHistoryPanel.java:283)
	- locked <0xcf5ba808> (a org.netbeans.modules.subversion.ui.history.SearchHistoryPanel)
	at org.netbeans.modules.subversion.ui.history.SearchHistoryPanel.access$000(SearchHistoryPanel.java:74)
	at org.netbeans.modules.subversion.ui.history.SearchHistoryPanel$1.actionPerformed(SearchHistoryPanel.java:141)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
	at java.awt.Component.processMouseEvent(Component.java:6038)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
	at java.awt.Component.processEvent(Component.java:5803)
	at java.awt.Container.processEvent(Container.java:2058)
	at java.awt.Component.dispatchEventImpl(Component.java:4410)
	at java.awt.Container.dispatchEventImpl(Container.java:2116)
	at java.awt.Component.dispatchEvent(Component.java:4240)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
	at java.awt.Container.dispatchEventImpl(Container.java:2102)
	at java.awt.Window.dispatchEventImpl(Window.java:2429)
	at java.awt.Component.dispatchEvent(Component.java:4240)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Comment 1 Marian Petras 2008-12-10 13:47:28 UTC
The freeze was caused by a long-running task running in the event-dispatching thread (EDT).
Comment 2 Marian Petras 2008-12-10 13:54:03 UTC
Fixed.

The critical part of code (the one causing the freeze) was called from the constructor, which is called from the EDT. I
moved this part of code to the beginning of method run(), which is called from a request processor thread.

Changeset Id:
fec1228f9433
(http://hg.netbeans.org/main/rev/fec1228f9433)
Comment 3 Quality Engineering 2008-12-14 05:27:09 UTC
Integrated into 'main-golden', will be available in build *200812140201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main/rev/fec1228f9433
User: Marian Petras <mpetras@netbeans.org>
Log: fixed bug #152351 - "Frozen EDT when searching the history"
Comment 4 Ondrej Vrabec 2009-02-21 16:57:27 UTC
*** Issue 158314 has been marked as a duplicate of this issue. ***