Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 354510 - Unhandled event loop exception while trying
Summary: Unhandled event loop exception while trying
Status: RESOLVED FIXED
Alias: None
Product: Amalgam
Classification: Modeling
Component: UI (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-11 11:04 EDT by Chris Min CLA
Modified: 2013-05-29 05:25 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Min CLA 2011-08-11 11:04:42 EDT
Build Identifier: 20110615-0604

I'm having problem with internet connection within Eclipse (using Eclipse Modeling Tools x64). When I click install new software or install modeling components, I get the following message: "We can't connect to the discovery source, make sure you're connected to internet and try again." And the following is Exception Stack Trace:

java.lang.RuntimeException: java.net.ConnectException: Connection timed out: connect
	at org.eclipse.amalgam.discovery.modeling.handlers.ModelingDiscoveryHandler$1.load(ModelingDiscoveryHandler.java:63)
	at org.eclipse.amalgam.discovery.ui.viewer.DiscoveryContentProvider.getDiscovery(DiscoveryContentProvider.java:33)
	at org.eclipse.amalgam.discovery.ui.viewer.DiscoveryViewer.getDiscovery(DiscoveryViewer.java:1116)
	at org.eclipse.amalgam.discovery.ui.viewer.DiscoveryViewer.<init>(DiscoveryViewer.java:498)
	at org.eclipse.amalgam.discovery.ui.wizards.internal.DiscoveryWizardMainPage.createControl(DiscoveryWizardMainPage.java:56)
	at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:174)
	at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736)
	at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:608)
	at org.eclipse.jface.window.Window.create(Window.java:431)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
	at org.eclipse.jface.window.Window.open(Window.java:790)
	at org.eclipse.amalgam.discovery.modeling.handlers.ModelingDiscoveryHandler.execute(ModelingDiscoveryHandler.java:83)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
	at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:829)
	at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:815)
	at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:805)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:344)
	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:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: java.net.ConnectException: Connection timed out: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connect(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)
	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)
	at org.eclipse.emf.ecore.resource.impl.URIHandlerImpl.createInputStream(URIHandlerImpl.java:178)
	at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createInputStream(ExtensibleURIConverterImpl.java:350)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1262)
	at org.eclipse.amalgam.discovery.modeling.handlers.ModelingDiscoveryHandler$1.load(ModelingDiscoveryHandler.java:58)
	... 44 more

My internet is working fine and EclipseMDT works well on my laptop, but it does not work on my desktop. My desktop is connected to internet wirelessly via USB device. That wasn't a problem though. I hooked up my modem directly to my desktop to see if the USB device was the problem, but it was not. 

Reproducible: Always

Steps to Reproduce:
1. Click install Modeling Components or install new components.
2. Error message on a pop-up window
3.
Comment 1 Alexander Wessel CLA 2013-02-04 09:50:28 EST
I can confirm this. Altough I don't get a time out, I can't even connect.

I am behind a company firewall/proxy, however, I have no problems connecting to the Internet from Eclipse otherwise (e. g. updates, javadoc, etc.).

Is there an issue with Amalgam not honoring the proxy settings, perhaps? It's also unfortunate that the error message does not give any indication as to which URL the connection attempt was made to. Thus there is no way to check if there actually _is_ some kind of connection problem to the discovery source. There may be a content filter in place on my firewall/proxy. However I doubt that.

Thus I suggest catching java.net.ConnectException at org.eclipse.amalgam.discovery.modeling.handlers.ModelingDiscoveryHandler$1.load(ModelingDiscoveryHandler.java:63) and printing an error message including the URL tried to the error log as a first step to solve the issue.

I had the problem in 4.3M4, and updating to 4.3M5 (just did it via p2, so I do have internet connectivity from eclipse!) didn't fix it.

Here's my stack trace:

org.eclipse.e4.core.di.InjectionException: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:63)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:835)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:728)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:712)
	at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:647)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1057)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:941)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:79)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	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:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
	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:636)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused: connect
	at org.eclipse.amalgam.discovery.modeling.handlers.ModelingDiscoveryHandler$1.load(ModelingDiscoveryHandler.java:63)
	at org.eclipse.amalgam.discovery.ui.viewer.DiscoveryContentProvider.getDiscovery(DiscoveryContentProvider.java:33)
	at org.eclipse.amalgam.discovery.ui.viewer.DiscoveryViewer.getDiscovery(DiscoveryViewer.java:1116)
	at org.eclipse.amalgam.discovery.ui.viewer.DiscoveryViewer.<init>(DiscoveryViewer.java:498)
	at org.eclipse.amalgam.discovery.ui.wizards.internal.DiscoveryWizardMainPage.createControl(DiscoveryWizardMainPage.java:56)
	at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:174)
	at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736)
	at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:608)
	at org.eclipse.jface.window.Window.create(Window.java:431)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1104)
	at org.eclipse.jface.window.Window.open(Window.java:790)
	at org.eclipse.amalgam.discovery.modeling.handlers.ModelingDiscoveryHandler.execute(ModelingDiscoveryHandler.java:83)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76)
	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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	... 33 more
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connect(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)
	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)
	at org.eclipse.emf.ecore.resource.impl.URIHandlerImpl.createInputStream(URIHandlerImpl.java:172)
	at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createInputStream(ExtensibleURIConverterImpl.java:360)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1280)
	at org.eclipse.amalgam.discovery.modeling.handlers.ModelingDiscoveryHandler$1.load(ModelingDiscoveryHandler.java:58)
	... 51 more

Thanks for your effort!
Comment 2 Cedric Brun CLA 2013-05-28 10:55:53 EDT
Thanks for your feedback. The file the discovery is trying to access is an XMI file stored on the eclipse http server. We are using EMF to load it. I assumed EMF was respecting the Eclipse proxy settings but based on your report it probably does not. I'll digg further.
Comment 3 Cedric Brun CLA 2013-05-28 11:57:38 EDT
Here is an update site containing a  first fix : https://hudson.eclipse.org/hudson/job/amalgam-1.2.0/275/artifact/features/org.eclipse.amalgam.update/target/org.eclipse.amalgam.update.zip

I don't have a proxy myself so I had not really tested yet, feel free to have a try and tell me .
Comment 4 Cedric Brun CLA 2013-05-29 05:25:41 EDT
I checked that defining a bogus proxy leads to the catalog not being resolved. 
This change will be part of the Kepler RC2 release, feel free to re-open if it is not fixing your problem.