Bug 143224 - Search for '?' brings machine down to its knees
Summary: Search for '?' brings machine down to its knees
Status: ASSIGNED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Search (show other bugs)
Version: 3.2   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Platform-Search-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-23 10:31 EDT by Dani Megert CLA
Modified: 2019-09-06 16:12 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dani Megert CLA 2006-05-23 10:31:52 EDT
3.2 RC5

I started a search for "?" in JDT UI and Text plugin.xml files. This brought the machine down to the knees and I had to kill eclipse. Same problem if only JDT UI's plugin.xml is used.

Full thread dump Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode):

"Worker-37" prio=6 tid=0x05493a08 nid=0xa14 in Object.wait() [0x0506f000..0x0506fce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11faabe0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x11faabe0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-36" prio=6 tid=0x03b0fde0 nid=0x708 in Object.wait() [0x0502f000..0x0502fd68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11faabe0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x11faabe0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Worker-35" prio=6 tid=0x03a65c08 nid=0x940 in Object.wait() [0x0497f000..0x0497f9e8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11faabe0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x11faabe0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Timer-1" daemon prio=6 tid=0x052d4010 nid=0x250 in Object.wait() [0x0725f000..0x0725fc68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x1881bab0> (a java.util.TaskQueue)
        at java.lang.Object.wait(Object.java:474)
        at java.util.TimerThread.mainLoop(Timer.java:483)
        - locked <0x1881bab0> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

"Java2D Disposer" daemon prio=10 tid=0x02f7ac98 nid=0xa0c in Object.wait() [0x072df000..0x072dfce8]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x1881bb20> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at sun.java2d.Disposer.run(Disposer.java:107)
        at java.lang.Thread.run(Thread.java:595)

"AWT-Windows" daemon prio=6 tid=0x057a49a0 nid=0x3ec runnable [0x0729f000..0x0729fd68]
        at sun.awt.windows.WToolkit.eventLoop(Native Method)
        at sun.awt.windows.WToolkit.run(WToolkit.java:269)
        at java.lang.Thread.run(Thread.java:595)

"Thread-42" daemon prio=10 tid=0x0563cb08 nid=0x9bc runnable [0x071df000..0x071dfa68]
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
        - locked <0x18827530> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:450)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at intuitive.remote.CommandServer.run(CommandServer.java:110)
        at java.lang.Thread.run(Thread.java:595)

"Worker-30" prio=2 tid=0x05493480 nid=0x6ec runnable [0x0633f000..0x0633fb68]
        at java.util.ArrayList.indexOf(ArrayList.java:220)
        at java.util.ArrayList.contains(ArrayList.java:201)
        at org.eclipse.search.ui.text.AbstractTextSearchResult.doAddMatch(AbstractTextSearchResult.java:126)
        at org.eclipse.search.ui.text.AbstractTextSearchResult.addMatches(AbstractTextSearchResult.java:97)
        - locked <0x18e05608> (a java.util.HashMap)
        at org.eclipse.search.internal.ui.text.FileSearchQuery$TextSearchResultCollector.flushMatches(FileSearchQuery.java:85)
        at org.eclipse.search.internal.ui.text.FileSearchQuery$TextSearchResultCollector.acceptFile(FileSearchQuery.java:58)
        at org.eclipse.search.internal.core.text.TextSearchVisitor.processFile(TextSearchVisitor.java:241)
        at org.eclipse.search.internal.core.text.TextSearchVisitor.processFiles(TextSearchVisitor.java:189)
        at org.eclipse.search.internal.core.text.TextSearchVisitor.search(TextSearchVisitor.java:170)
        at org.eclipse.search.internal.core.text.TextSearchVisitor.search(TextSearchVisitor.java:182)
        at org.eclipse.search.core.text.TextSearchEngine$1.search(TextSearchEngine.java:54)
        at org.eclipse.search.internal.ui.text.FileSearchQuery.run(FileSearchQuery.java:122)
        at org.eclipse.search2.internal.ui.InternalSearchUI$InternalSearchJob.run(InternalSearchUI.java:93)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

"Worker-29" prio=6 tid=0x03b16d48 nid=0xd70 waiting on condition [0x0620f000..0x0620f9e8]
        at java.lang.Thread.sleep(Native Method)
        at org.eclipse.search.internal.core.text.TextSearchVisitor$1.run(TextSearchVisitor.java:154)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

"Worker-23" prio=6 tid=0x052f2408 nid=0xf44 in Object.wait() [0x0644f000..0x0644fc68]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11faabe0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:173)
        - locked <0x11faabe0> (a org.eclipse.core.internal.jobs.WorkerPool)
        at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:205)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

"Java indexing" daemon prio=4 tid=0x02fbcdc8 nid=0x988 in Object.wait() [0x049ff000..0x049ffae8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x126e7928> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
        at java.lang.Object.wait(Object.java:474)
        at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:349)
        - locked <0x126e7928> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
        at java.lang.Thread.run(Thread.java:595)

"Start Level Event Dispatcher" daemon prio=6 tid=0x0305e008 nid=0xdac in Object.wait() [0x0342f000..0x0342fce8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11b1c010> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:474)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349)
        - locked <0x11b1c010> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287)

"Framework Event Dispatcher" daemon prio=6 tid=0x02d87550 nid=0x788 in Object.wait() [0x033af000..0x033af9e8]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x11b1c188> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at java.lang.Object.wait(Object.java:474)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:349)
        - locked <0x11b1c188> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:287)

"Low Memory Detector" daemon prio=6 tid=0x00a92248 nid=0x33c runnable [0x00000000..0x00000000]

"CompilerThread0" daemon prio=10 tid=0x00a90e18 nid=0x9f4 waiting on condition [0x00000000..0x02cdf84c]

"Signal Dispatcher" daemon prio=10 tid=0x00a90198 nid=0x998 waiting on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=8 tid=0x00a872c8 nid=0xc50 in Object.wait() [0x02c5f000..0x02c5fc68]
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
        - locked <0x11af0388> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x00a85e30 nid=0x814 in Object.wait() [0x02c1f000..0x02c1fce8]
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x11af0070> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x000368a0 nid=0x97c waiting for monitor entry [0x0007e000..0x0007fc40]
        at org.eclipse.search.ui.text.AbstractTextSearchResult.getMatchCount(AbstractTextSearchResult.java:270)
        - waiting to lock <0x18e05608> (a java.util.HashMap)
        at org.eclipse.search.ui.text.AbstractTextSearchViewPage.updateBusyLabel(AbstractTextSearchViewPage.java:553)
        at org.eclipse.search.ui.text.AbstractTextSearchViewPage.runBatchedUpdates(AbstractTextSearchViewPage.java:1075)
        - locked <0x18e07c40> (a org.eclipse.search.internal.ui.text.FileSearchPage)
        at org.eclipse.search.ui.text.AbstractTextSearchViewPage.access$0(AbstractTextSearchViewPage.java:1062)
        at org.eclipse.search.ui.text.AbstractTextSearchViewPage$UpdateUIJob.runInUIThread(AbstractTextSearchViewPage.java:135)
        at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:94)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
        - locked <0x10bddaf8> (a org.eclipse.swt.widgets.RunnableLock)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3325)
        at org.eclipse.swt.widgets.Display.msgFilterProc(Display.java:2758)
        at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1918)
        at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:443)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334)
        at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1539)
        at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025)
        at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1918)
        at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:443)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334)
        at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1539)
        at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1634)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1923)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2966)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
        at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
        at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
        at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
        at org.eclipse.core.launcher.Main.run(Main.java:977)
        at org.eclipse.core.launcher.Main.main(Main.java:952)

"VM Thread" prio=10 tid=0x00a83408 nid=0xf50 runnable

"VM Periodic Task Thread" prio=10 tid=0x00a93428 nid=0x724 waiting on condition
Comment 1 Dani Megert CLA 2008-08-11 12:26:05 EDT
There are two bugs here:
1. the count that's displayed in the Search view is computed in the UI thread
2. even if the count is done in the background, displaying the search result
   takes forever even though the core search is done below 1s
Comment 2 Eclipse Webmaster CLA 2019-09-06 16:12:19 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.