Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 367602

Summary: HTTP Proxy credentials are asked by DTD validator
Product: [Eclipse Project] Platform Reporter: Julien HENRY <julien.henry>
Component: IDEAssignee: Platform-UI-Inbox <Platform-UI-Inbox>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: juergen, remy.suen, tweetysat2001
Version: 4.2   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard: stalebug

Description Julien HENRY CLA 2011-12-28 11:22:47 EST
Build Identifier: M20110909-1335

Hi,

I have configured my proxy in Eclipse configuration page (manual, server, port, username, password, nonProxyHosts). It works fine except when I restart Eclipse and I have an XML file that was previoulsy open in an editor.
Then Eclipse ask for proxy credentials 2 or 3 times... very annoying. Note that I can't manage to reproduce the issue every times.

I'm expecting that every Eclipse feature use global proxy settings instead of still asking for credentials.

I did a thread dump when the crendentials dialog is open. Here are the 2 interesting threads:


java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x149de400> (a org.eclipse.swt.widgets.RunnableLock)
	at java.lang.Object.wait(Object.java:503)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
	- locked <0x149de400> (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:4683)
	at org.eclipse.ui.internal.net.auth.UserValidationDialog.getAuthentication(UserValidationDialog.java:55)
	at org.eclipse.ui.internal.net.auth.NetAuthenticator.getPasswordAuthentication(NetAuthenticator.java:41)
	at java.net.Authenticator.requestPasswordAuthentication(Authenticator.java:317)
	- locked <0x138ed640> (a org.eclipse.ui.internal.net.auth.NetAuthenticator)
	at sun.net.www.protocol.http.HttpURLConnection$1.run(HttpURLConnection.java:392)
	at sun.net.www.protocol.http.HttpURLConnection$1.run(HttpURLConnection.java:387)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.net.www.protocol.http.HttpURLConnection.privilegedRequestPasswordAuthentication(HttpURLConnection.java:386)
	at sun.net.www.protocol.http.HttpURLConnection.getHttpProxyAuthentication(HttpURLConnection.java:1996)
	at sun.net.www.protocol.http.HttpURLConnection.resetProxyAuthentication(HttpURLConnection.java:1719)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1369)
	- locked <0x149d0468> (a sun.net.www.protocol.http.HttpURLConnection)
	at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:2594)
	at java.net.HttpURLConnection.getHeaderFieldDate(HttpURLConnection.java:539)
	at java.net.URLConnection.getLastModified(URLConnection.java:569)
	at org.eclipse.wst.internet.cache.internal.Cache.refreshCacheEntry(Cache.java:286)
	at org.eclipse.wst.internet.cache.internal.Cache.getResource(Cache.java:143)
	at org.eclipse.wst.internet.cache.internal.CacheURIResolverExtension.resolve(CacheURIResolverExtension.java:44)
	at org.eclipse.wst.common.uriresolver.internal.ExtensibleURIResolver.resolvePhysicalLocation(ExtensibleURIResolver.java:112)
	at org.eclipse.wst.xml.core.internal.validation.ValidatorHelper$MyContentHandler.startElement(ValidatorHelper.java:269)
	at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
	at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentScannerImpl$ContentDispatcher.scanRootElementHook(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.eclipse.wst.xml.core.internal.validation.ValidatorHelper.computeValidationInformation(ValidatorHelper.java:152)
	at org.eclipse.wst.xml.core.internal.validation.XMLValidator.validate(XMLValidator.java:333)
	at org.eclipse.wst.xml.core.internal.validation.eclipse.Validator.validate(Validator.java:93)
	at org.eclipse.wst.xml.core.internal.validation.eclipse.Validator.validate(Validator.java:71)
	at org.eclipse.wst.xml.core.internal.validation.core.AbstractNestedValidator.validate(AbstractNestedValidator.java:278)
	at org.eclipse.wst.xml.core.internal.validation.core.AbstractNestedValidator.validateInJob(AbstractNestedValidator.java:120)
	at org.eclipse.wst.xml.ui.internal.validation.DelegatingSourceValidator.validate(DelegatingSourceValidator.java:242)
	at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.validate(ReconcileStepForValidator.java:303)
	at org.eclipse.wst.sse.ui.internal.reconcile.validator.ReconcileStepForValidator.reconcileModel(ReconcileStepForValidator.java:262)
	at org.eclipse.jface.text.reconciler.AbstractReconcileStep.reconcile(AbstractReconcileStep.java:95)
	at org.eclipse.wst.sse.ui.internal.reconcile.validator.ValidatorStrategy.reconcile(ValidatorStrategy.java:269)
	at org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor.process(DocumentRegionProcessor.java:321)
	at org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor.process(StructuredRegionProcessor.java:258)
	at org.eclipse.wst.sse.ui.internal.reconcile.DirtyRegionProcessor$BackgroundThread.run(DirtyRegionProcessor.java:697)



"main" prio=6 tid=0x008e7400 nid=0x254 runnable [0x0012f000]
   java.lang.Thread.State: RUNNABLE
	at org.eclipse.swt.internal.win32.OS.WaitMessage(Native Method)
	at org.eclipse.swt.widgets.Display.sleep(Display.java:4652)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.ui.internal.net.auth.UserValidationDialog.askForAuthentication(UserValidationDialog.java:68)
	at org.eclipse.ui.internal.net.auth.UserValidationDialog$1$UIOperation.run(UserValidationDialog.java:46)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	- locked <0x149de400> (a org.eclipse.swt.widgets.RunnableLock)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
	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(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	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)


Reproducible: Sometimes

Steps to Reproduce:
Restart Eclipse... open an XML files with a distant DTD/XSD.
Comment 1 Juergen Weber CLA 2012-07-12 04:07:31 EDT
Still there in Juno.
I configured Proxy Settings in Window -> Preferences. "Install new Software" works fine with the proxy.
Still, Validate XML (a pom) prompts for Proxy User + Pass.
Comment 2 tweetysat Mising name CLA 2013-02-14 08:21:09 EST
Can someone tell me if there is a solution ?
It's very very very annoying ... 
The bug was there with indigo and is still there with juno.
Comment 3 Eclipse Genie CLA 2019-12-13 06:01:46 EST
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.

--
The automated Eclipse Genie.