Community
Participate
Working Groups
I am trying to install callisto using the update manager of 3.2RC2. On the Update Search results page, when I try to expand the nodes, it takes quite some time to do so (1-15 sec per node). And even worse, while doing so, the UI is blocked. (see the stack-trace). Also doing "select required", it blocks for many seconds with a similar stack trace (ending in a HTTPUrlConnection and socked reads). I think, doing a HTTP connection from within the main (UI) thread is a very bad idea, because it can block unpredictably long. "main" prio=7 tid=0x00034e78 nid=0x142c runnable [7d000..7fc3c] at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.read1(BufferedInputStream.java:220) at java.io.BufferedInputStream.read(BufferedInputStream.java:277) - locked <0x103080f8> (a java.io.BufferedInputStream) at sun.net.www.MeteredStream.read(MeteredStream.java:106) - locked <0x10309060> (a sun.net.www.MeteredStream) at java.io.FilterInputStream.read(FilterInputStream.java:111) at java.io.FilterInputStream.read(FilterInputStream.java:111) at org.eclipse.update.internal.core.connection.HttpResponse$MonitoringInputStream.read(HttpResponse.java:92) at java.io.FilterInputStream.read(FilterInputStream.java:90) at org.eclipse.update.internal.core.connection.HttpResponse$MonitoringInputStream.read(HttpResponse.java:83) at org.eclipse.update.internal.core.UpdateManagerUtils.copy(UpdateManagerUtils.java:926) at org.eclipse.update.core.FeatureContentProvider.asLocalReference(FeatureContentProvider.java:292) - locked <0x10300488> (a java.lang.String) at org.eclipse.update.internal.core.FeaturePackagedContentProvider.getFeatureEntryArchiveReferences(FeaturePackagedContentProvider.java:153) at org.eclipse.update.internal.core.FeaturePackagedContentProvider.getFeatureManifestReference(FeaturePackagedContentProvider.java:79) at org.eclipse.update.internal.core.FeaturePackagedFactory.createFeature(FeaturePackagedFactory.java:39) at org.eclipse.update.core.Site.createFeature(Site.java:527) at org.eclipse.update.core.FeatureReference.createFeature(FeatureReference.java:122) at org.eclipse.update.core.FeatureReference.getFeature(FeatureReference.java:110) at org.eclipse.update.core.FeatureReference.getFeature(FeatureReference.java:97) at org.eclipse.update.core.IncludedFeatureReference.getFeature(IncludedFeatureReference.java:145) at org.eclipse.update.internal.operations.OperationValidator.computeFeatureSubtree(OperationValidator.java:522) at org.eclipse.update.internal.ui.wizards.ReviewPage.isFeatureProblematic(ReviewPage.java:1529) at org.eclipse.update.internal.ui.wizards.ReviewPage.access$4(ReviewPage.java:1513) at org.eclipse.update.internal.ui.wizards.ReviewPage$TreeLabelProvider.getImage(ReviewPage.java:263) at org.eclipse.jface.viewers.StructuredViewer.buildLabel(StructuredViewer.java:2097) at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:253) at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:89) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:843) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149) at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:834) at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:465) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:843) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149) at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:1949) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:738) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:716) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:690) at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:872) at org.eclipse.update.internal.ui.wizards.ContainerCheckedTreeViewer.createChildren(ContainerCheckedTreeViewer.java:204) at org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1234) at org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:1246) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:181) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:925) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:949) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:934) at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:6217) at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:3794) at org.eclipse.swt.widgets.Composite.WM_NOTIFY(Composite.java:1166) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3298) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025) at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1842) at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1292) at org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:5137) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3279) at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:4734) 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.jface.window.Window.runEventLoop(Window.java:820) at org.eclipse.jface.window.Window.open(Window.java:796) at org.eclipse.update.internal.ui.wizards.ResizableInstallWizardDialog.open(ResizableInstallWizardDialog.java:59) at org.eclipse.update.internal.ui.wizards.InstallWizardOperation$UpdateJobChangeListener.openInstallWizard2(InstallWizardOperation.java:100) at org.eclipse.update.internal.ui.wizards.InstallWizardOperation$UpdateJobChangeListener.access$0(InstallWizardOperation.java:85) at org.eclipse.update.internal.ui.wizards.InstallWizardOperation$3.run(InstallWizardOperation.java:77) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.update.internal.ui.wizards.InstallWizardOperation$2.run(InstallWizardOperation.java:75) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) - locked <0x14b055f8> (a org.eclipse.swt.widgets.RunnableLock) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3325) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971) 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:324) 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=5 tid=0x00318698 nid=0x1214 runnable "VM Periodic Task Thread" prio=10 tid=0x0031cce8 nid=0x1258 waiting on condition "Suspend Checker Thread" prio=10 tid=0x00319b80 nid=0xbc0 runnable
Michael, are you making digests for callisto? We put digest support exactly to avoid this problem, so unless you do, there is nothing we can do at this point. Digests dramatically cut on the need to make multiple URL connections while browsing or validating selections.
Dejan, what do you mean "making digets for callisto"? I simply used the update sine to install callisto.
Sorry, I didn't check the domain and confused you with somebody from the Callisto team. We have a new site enhancement utility that can produce a single site digest file that Update downloads instead of downloading all the features individually just for browsing and validation checking. Once the Callisto site is digest-enabled, browsing will become much faster.
*** This bug has been marked as a duplicate of 144876 ***
I am stil having this issue with Eclipse 3.2.0 and 3.2.1 M20060802-0800 when I try to install new features from the WTP update site. In my configuration, over a slow connection, this takes 3-4 minutes. Stack trace: java.net.SocketInputStream.socketRead0(Native Method) java.net.SocketInputStream.read(Unknown Source) java.io.BufferedInputStream.fill(Unknown Source) java.io.BufferedInputStream.read1(Unknown Source) java.io.BufferedInputStream.read(Unknown Source) sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source) sun.net.www.http.HttpClient.parseHTTP(Unknown Source) sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) java.net.HttpURLConnection.getResponseCode(Unknown Source) org.eclipse.update.internal.core.connection.HttpResponse.getStatusCode(HttpResponse.java:189) org.eclipse.update.internal.core.UpdateManagerUtils.checkConnectionResult(UpdateManagerUtils.java:554) org.eclipse.update.core.ContentReference.getInputStream(ContentReference.java:153) org.eclipse.update.core.FeatureContentProvider.asLocalReference(FeatureContentProvider.java:268) org.eclipse.update.internal.core.FeaturePackagedContentProvider.getFeatureEntryArchiveReferences(FeaturePackagedContentProvider.java:157) org.eclipse.update.internal.core.FeaturePackagedContentProvider.getFeatureManifestReference(FeaturePackagedContentProvider.java:83) org.eclipse.update.internal.core.FeaturePackagedFactory.createFeature(FeaturePackagedFactory.java:39) org.eclipse.update.core.Site.createFeature(Site.java:527) org.eclipse.update.core.FeatureReference.createFeature(FeatureReference.java:122) org.eclipse.update.core.FeatureReference.getFeature(FeatureReference.java:110) org.eclipse.update.core.FeatureReference.getFeature(FeatureReference.java:97) org.eclipse.update.core.IncludedFeatureReference.getFeature(IncludedFeatureReference.java:145) org.eclipse.update.internal.operations.UpdateUtils.getIncludedFeature(UpdateUtils.java:678) org.eclipse.update.internal.operations.OperationValidator.computeFeatureSubtree(OperationValidator.java:522) org.eclipse.update.internal.operations.OperationValidator.computeFeatureSubtree(OperationValidator.java:524) org.eclipse.update.internal.ui.wizards.ReviewPage.isFeatureProblematic(ReviewPage.java:1637) org.eclipse.update.internal.ui.wizards.ReviewPage.access$4(ReviewPage.java:1621) org.eclipse.update.internal.ui.wizards.ReviewPage$TreeLabelProvider.getImage(ReviewPage.java:266) org.eclipse.jface.viewers.StructuredViewer.buildLabel(StructuredViewer.java:2103) org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:258) org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:95) org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) org.eclipse.core.runtime.Platform.run(Platform.java:843) org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149) org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:849) org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:465) org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) org.eclipse.core.runtime.Platform.run(Platform.java:843) org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149) org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:1955) org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:753) org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:731) org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:705) org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:892) org.eclipse.update.internal.ui.wizards.ContainerCheckedTreeViewer.createChildren(ContainerCheckedTreeViewer.java:204) org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(AbstractTreeViewer.java:1251) org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(AbstractTreeViewer.java:1263) org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:181) org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952) org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:937) org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:6254) org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:3794) org.eclipse.swt.widgets.Composite.WM_NOTIFY(Composite.java:1166) org.eclipse.swt.widgets.Control.windowProc(Control.java:3298) org.eclipse.swt.widgets.Display.windowProc(Display.java:4025) org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1842) org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1319) org.eclipse.swt.widgets.Tree.WM_LBUTTONDOWN(Tree.java:5171) org.eclipse.swt.widgets.Control.windowProc(Control.java:3279) org.eclipse.swt.widgets.Tree.windowProc(Tree.java:4768) org.eclipse.swt.widgets.Display.windowProc(Display.java:4025) org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1923) org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2966) org.eclipse.jface.window.Window.runEventLoop(Window.java:820) org.eclipse.jface.window.Window.open(Window.java:796) org.eclipse.update.internal.ui.wizards.ResizableInstallWizardDialog.open(ResizableInstallWizardDialog.java:59) org.eclipse.update.internal.ui.wizards.InstallWizardOperation$UpdateJobChangeListener.openInstallWizard2(InstallWizardOperation.java:100) org.eclipse.update.internal.ui.wizards.InstallWizardOperation$UpdateJobChangeListener.access$0(InstallWizardOperation.java:85) org.eclipse.update.internal.ui.wizards.InstallWizardOperation$3.run(InstallWizardOperation.java:77) org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) org.eclipse.update.internal.ui.wizards.InstallWizardOperation$2.run(InstallWizardOperation.java:75) org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3325) org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971) org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) org.eclipse.core.launcher.Main.basicRun(Main.java:280) org.eclipse.core.launcher.Main.run(Main.java:977) org.eclipse.core.launcher.Main.main(Main.java:952)