Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 341456 - Symbol-lookup locks editor window for a very long time (+10 minutes at least) when no proxy is set
Summary: Symbol-lookup locks editor window for a very long time (+10 minutes at least)...
Status: CLOSED WONTFIX
Alias: None
Product: Linux Tools
Classification: Tools
Component: Libhover (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 0.8.0   Edit
Assignee: Jeff Johnston CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-31 05:30 EDT by Jonas Jonsson CLA
Modified: 2011-06-02 18:34 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 Jonas Jonsson CLA 2011-03-31 05:30:22 EDT
Build Identifier: M20110210-1200

When trying to refer to an enum value in an other class, the editing window hangs and eclipse becomes totally un-responsive.

Reproducible: Always

Steps to Reproduce:
1. Make sure no proxy is set (if working on a corporate lan that requires that) or set a faulty proxy address if having direct internet connection.
2. Create a sample managed 'hello world' C++ project and add a class with an anonymous enum.
3. Try to refer to the enum from the main-function of the 'hello world' program, when the second ':' is entered, eclipse will be stuck for a very long time.

Example program:
// File: TheEnum.hpp
#ifndef _TheEnum_hpp_
#define _TheEnum_hpp_

class TheEnum {
public:
   enum {
     FOO,
     BAR,
     BAZ
   };

   TheEnum();
   virtual ~TheEnum();
};
#endif

// File: TheEnum.cpp
#include "TheEnum.hpp"

TheEnum::TheEnum() {
	// TODO Auto-generated constructor stub

}

TheEnum::~TheEnum() {
	// TODO Auto-generated destructor stub
}

// File: foo.cpp
#include <iostream>
#include "TheEnum.hpp"
using namespace std;
int main() {
   cout << "Hello world" << endl;
   cout << "Value of FOO is " << TheEnum:
//                                       ^ When the next ':' is entered, the editing window gets totally stuck and hangs for a very long time.
   return 0;
}
Comment 1 Jonas Jonsson CLA 2011-03-31 06:03:06 EDT
2011-03-31 11:59:53
Full thread dump Java HotSpot(TM) 64-Bit Server VM (17.1-b03 mixed mode):

"AutoAssist Delay" prio=10 tid=0x00007f5c00551000 nid=0x4fef in Object.wait() [0x00007f5bf45a5000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4b2bc8a0> (a org.eclipse.swt.widgets.RunnableLock)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:186)
	- locked <0x00007f5c4b2bc8a0> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4282)
	at org.eclipse.jface.text.contentassist.ContentAssistant$AutoAssistListener.showAssist(ContentAssistant.java:365)
	at org.eclipse.jface.text.contentassist.ContentAssistant$AutoAssistListener.run(ContentAssistant.java:277)
	at java.lang.Thread.run(Unknown Source)

"[ThreadPool Manager] - Idle Thread" daemon prio=10 tid=0x000000004026b000 nid=0x4fd0 in Object.wait() [0x00007f5bf47a7000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4955c828> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
	- locked <0x00007f5c4955c828> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

"Worker-9" prio=10 tid=0x00007f5c04001000 nid=0x4fae in Object.wait() [0x00007f5bf49a9000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-8" prio=10 tid=0x00007f5c0100d800 nid=0x4fad in Object.wait() [0x00007f5bf4b03000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Bundle File Closer" daemon prio=10 tid=0x00007f5bfc8c9800 nid=0x4fac in Object.wait() [0x00007f5bf4c07000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c46b3a788> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
	- locked <0x00007f5c46b3a788> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Worker-7" prio=10 tid=0x0000000040284800 nid=0x4fab in Object.wait() [0x00007f5bf4d08000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-6" prio=10 tid=0x0000000040283800 nid=0x4faa in Object.wait() [0x00007f5bf4e09000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-5" prio=10 tid=0x0000000040283000 nid=0x4fa9 in Object.wait() [0x00007f5bf4f0a000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-4" prio=10 tid=0x0000000040639800 nid=0x4fa8 in Object.wait() [0x00007f5bf500b000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-3" prio=10 tid=0x0000000040639000 nid=0x4fa6 in Object.wait() [0x00007f5bf5476000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-2" prio=10 tid=0x0000000040686000 nid=0x4fa5 in Object.wait() [0x00007f5bf5ad7000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Java indexing" daemon prio=10 tid=0x00007f5c00a12000 nid=0x4fa4 in Object.wait() [0x00007f5bf51f9000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4e94fb30> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:381)
	- locked <0x00007f5c4e94fb30> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
	at java.lang.Thread.run(Unknown Source)

"org.eclipse.cdt.internal.ui.text.CReconciler" daemon prio=10 tid=0x00007f5c00fb7800 nid=0x4fa3 in Object.wait() [0x00007f5bf5359000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f149360> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
	at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
	- locked <0x00007f5c4f149360> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)

"Worker-1" prio=10 tid=0x00007f5c0075a000 nid=0x4f70 in Object.wait() [0x00007f5bf59d6000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-0" prio=10 tid=0x00007f5c008a4800 nid=0x4f6d in Object.wait() [0x00007f5bf7426000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:185)
	- locked <0x00007f5c4f14a6f0> (a org.eclipse.core.internal.jobs.WorkerPool)
	at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:217)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

"Worker-JM" prio=10 tid=0x00000000407dc800 nid=0x4f68 in Object.wait() [0x00007f5bf7224000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14af98> (a java.util.ArrayList)
	at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:58)
	- locked <0x00007f5c4f14af98> (a java.util.ArrayList)

"[Timer] - Main Queue Handler" daemon prio=10 tid=0x0000000040773000 nid=0x4f66 in Object.wait() [0x00007f5bf7325000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14b228> (a java.lang.Object)
	at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
	- locked <0x00007f5c4f14b228> (a java.lang.Object)
	at java.lang.Thread.run(Unknown Source)

"Framework Event Dispatcher" daemon prio=10 tid=0x0000000040358800 nid=0x4f64 in Object.wait() [0x00007f5bf7527000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14b648> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
	- locked <0x00007f5c4f14b648> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"Start Level Event Dispatcher" daemon prio=10 tid=0x00007f5c0020b800 nid=0x4f63 in Object.wait() [0x00007f5bf7688000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f14b968> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at java.lang.Object.wait(Object.java:485)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:397)
	- locked <0x00007f5c4f14b968> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:333)

"State Data Manager" daemon prio=10 tid=0x00007f5c0026e800 nid=0x4f62 waiting on condition [0x00007f5bf7789000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(Native Method)
	at org.eclipse.osgi.internal.baseadaptor.StateManager.run(StateManager.java:319)
	at java.lang.Thread.run(Unknown Source)

"Low Memory Detector" daemon prio=10 tid=0x00007f5c00097000 nid=0x4f60 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread1" daemon prio=10 tid=0x00007f5c00094800 nid=0x4f5f waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x00007f5c00091800 nid=0x4f5d waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x00007f5c0008f000 nid=0x4f5c waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x00007f5c00072000 nid=0x4f5b in Object.wait() [0x00007f5c09ad2000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f136688> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x00007f5c4f136688> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x00007f5c00070000 nid=0x4f5a in Object.wait() [0x00007f5c09bd3000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00007f5c4f136600> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
	- locked <0x00007f5c4f136600> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x0000000040113000 nid=0x4f4b runnable [0x00007f5c5fbbe000]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	- locked <0x00007f5c4b6544c8> (a java.net.SocksSocketImpl)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at sun.net.NetworkClient.doConnect(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	- locked <0x00007f5c4b6538e0> (a sun.net.www.http.HttpClient)
	at sun.net.www.http.HttpClient.<init>(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	- locked <0x00007f5c4b64c338> (a sun.net.www.protocol.http.HttpURLConnection)
	at org.eclipse.linuxtools.internal.cdt.libhover.LibHoverLibrary.getHoverInfo(LibHoverLibrary.java:106)
	at org.eclipse.linuxtools.internal.cdt.libhover.LibHover.getMatchingFunctions(LibHover.java:503)
	at org.eclipse.cdt.internal.ui.text.CHelpSettings.getMatchingFunctions(CHelpSettings.java:138)
	at org.eclipse.cdt.internal.ui.CHelpProviderManager.getMatchingFunctions(CHelpProviderManager.java:169)
	at org.eclipse.cdt.internal.ui.text.contentassist.HelpCompletionProposalComputer.computeCompletionProposals(HelpCompletionProposalComputer.java:91)
	at org.eclipse.cdt.internal.ui.text.contentassist.ParsingBasedProposalComputer.computeCompletionProposals(ParsingBasedProposalComputer.java:55)
	at org.eclipse.cdt.internal.ui.text.contentassist.CompletionProposalComputerDescriptor.computeCompletionProposals(CompletionProposalComputerDescriptor.java:300)
	at org.eclipse.cdt.internal.ui.text.contentassist.CompletionProposalCategory.computeCompletionProposals(CompletionProposalCategory.java:261)
	at org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistProcessor.collectProposals(ContentAssistProcessor.java:267)
	at org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistProcessor.computeCompletionProposals(ContentAssistProcessor.java:220)
	at org.eclipse.jface.text.contentassist.ContentAssistant.computeCompletionProposals(ContentAssistant.java:1834)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.computeProposals(CompletionProposalPopup.java:556)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$16(CompletionProposalPopup.java:553)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup$2.run(CompletionProposalPopup.java:488)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.text.contentassist.CompletionProposalPopup.showProposals(CompletionProposalPopup.java:482)
	at org.eclipse.jface.text.contentassist.ContentAssistant$2.run(ContentAssistant.java:376)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	- locked <0x00007f5c4b2bc8a0> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3164)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1384)

"VM Thread" prio=10 tid=0x00007f5c0006c000 nid=0x4f59 runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x0000000040126800 nid=0x4f4c runnable 

"GC task thread#1 (ParallelGC)" prio=10 tid=0x0000000040128000 nid=0x4f4d runnable 

"GC task thread#2 (ParallelGC)" prio=10 tid=0x000000004012a000 nid=0x4f4e runnable 

"GC task thread#3 (ParallelGC)" prio=10 tid=0x000000004012c000 nid=0x4f4f runnable 

"GC task thread#4 (ParallelGC)" prio=10 tid=0x000000004012d800 nid=0x4f50 runnable 

"GC task thread#5 (ParallelGC)" prio=10 tid=0x000000004012f800 nid=0x4f51 runnable 

"GC task thread#6 (ParallelGC)" prio=10 tid=0x0000000040131800 nid=0x4f52 runnable 

"GC task thread#7 (ParallelGC)" prio=10 tid=0x0000000040133000 nid=0x4f53 runnable 

"GC task thread#8 (ParallelGC)" prio=10 tid=0x0000000040135000 nid=0x4f54 runnable 

"GC task thread#9 (ParallelGC)" prio=10 tid=0x0000000040137000 nid=0x4f55 runnable 

"GC task thread#10 (ParallelGC)" prio=10 tid=0x0000000040138800 nid=0x4f56 runnable 

"GC task thread#11 (ParallelGC)" prio=10 tid=0x000000004013a800 nid=0x4f57 runnable 

"GC task thread#12 (ParallelGC)" prio=10 tid=0x000000004013c800 nid=0x4f58 runnable 

"VM Periodic Task Thread" prio=10 tid=0x00007f5c000a9800 nid=0x4f61 waiting on condition 

JNI global references: 2404

Heap
 PSYoungGen      total 152896K, used 108272K [0x00007f5c46810000, 0x00007f5c592b0000, 0x00007f5c5bd60000)
  eden space 131072K, 65% used [0x00007f5c46810000,0x00007f5c4bc83d40,0x00007f5c4e810000)
  from space 21824K, 99% used [0x00007f5c4e810000,0x00007f5c4fd58678,0x00007f5c4fd60000)
  to   space 21824K, 0% used [0x00007f5c57d60000,0x00007f5c57d60000,0x00007f5c592b0000)
 PSOldGen        total 349568K, used 22063K [0x00007f5c1bd60000, 0x00007f5c312c0000, 0x00007f5c46810000)
  object space 349568K, 6% used [0x00007f5c1bd60000,0x00007f5c1d2ebf70,0x00007f5c312c0000)
 PSPermGen       total 73472K, used 73435K [0x00007f5c0bd60000, 0x00007f5c10520000, 0x00007f5c1bd60000)
  object space 73472K, 99% used [0x00007f5c0bd60000,0x00007f5c10516dd8,0x00007f5c10520000)
Comment 2 Markus Schorn CLA 2011-03-31 07:31:20 EDT
Http request is done by the Linux Tools.
Comment 3 Jonas Jonsson CLA 2011-03-31 07:54:36 EDT
org.eclipse.linuxtools.cdt.libhover version is 1.0.3.201102160611
org.eclipse.linuxtools.cdt.libhover.library_docs version is 1.0.1.201102160611
Comment 4 Jeff Johnston CLA 2011-03-31 12:10:29 EDT
(In reply to comment #3)
> org.eclipse.linuxtools.cdt.libhover version is 1.0.3.201102160611
> org.eclipse.linuxtools.cdt.libhover.library_docs version is 1.0.1.201102160611

The reason that libhover used http is that the documentation and subsequently the binary libhover data formed from it has licenses that were not approved by Eclipse.org and thus libhover was not permitted to include the binary data in the plug-ins themselves and had to access it somewhere external.

However, some additional points:

1. The GFDL has recently been approved by Eclipse.org.  This means that the
   org.eclipse.linuxtools.cdt.libhover.glibc plug-in can ship the glibc libhover
   inside the plug-in and no http access is required.  The latest nightly builds
   of Linux tools for Indigo and the latest Indigo EPP packages should have
   this fix. org.eclipse.linuxtools.cdt.libhover (1.1.0)
 
2. If you use Fedora to install eclipse-cdt, both glibc and libstdc++ libhover
   install the data within the plug-ins  as the licensing is not an issue 
   with Fedora.

3. The libstdc++ hover data is under a non-approved license.  We are trying to
   convince the gcc folks to change over to the GFDL, but this will be
   a long process.  If you don't use Fedora, the libstdc++ libhover plug-in
   has to use http to access the binary data.  If you have the
   org.eclipse.linuxtools.cdt.libhover.libstdcxx plug-in installed, you will
   have to either uninstall it or disable it by going to:
   Project->Properties->C/C++ General->Documentation and unclicking libstdc++
   for each C++ project.

4. The latest and greatest Indigo libhover (1.1.0) also caches the binary data
   in the workspace.  If you update and get the libstdc++ libhover data loaded 
   once, you will be able to use it in the future without web access.
Comment 5 Jeff Johnston CLA 2011-04-01 14:35:13 EDT
(In reply to comment #3)
> org.eclipse.linuxtools.cdt.libhover version is 1.0.3.201102160611
> org.eclipse.linuxtools.cdt.libhover.library_docs version is 1.0.1.201102160611


I forgot to mention a few things:

1. the libstdc++ libhover plug-in is not part of the current Eclipse.org build and not part of the shipped libhover feature, except in Fedora where the binary data is supplied.  If you have downloaded the plug-in yourself to play with, be aware that it accesses http.

2. not setting the Eclipse proxy or setting is known to cause hanging under Eclipse.  You may receive such problems if you simply access help contents and so it is highly recommended that you set your Eclipse proxy settings appropriately.

If you were experiencing problems with the glibc libhover plug-in (i.e. only glibc shows up in the list of Documentation sources under Project->Properties->C/C++ General->Documentation), that issue has been fixed with the latest versions of the plug-in in Indigo.  If you downloaded the libstdc++ libhover plug-in yourself, you must either set your Eclipse proxy settings or disable the plug-in or the hang will continue to occur.

I am closing this bug as WONTFIX with regards to libhover and Linux Tools.  If you wish to, you may open a new bug against the Eclipse platform with regards to the hang issue occurring to see if there is something that can be done to avoid the hang in general.