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

Bug 324351

Summary: MalformedURLException: unknown protocol: about
Product: [Eclipse Project] Platform Reporter: Grant Gayed <grant_gayed>
Component: User AssistanceAssignee: Chris Goldthorpe <cgold>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: cgold, yule
Version: 3.6.1   
Target Milestone: 3.7 M3   
Hardware: PC   
OS: Windows Vista   
Whiteboard:
Attachments:
Description Flags
Patch none

Description Grant Gayed CLA 2010-09-02 16:12:46 EDT
3.6.1 test build
- observed on 64-bit Vista, but probably happens everywhere

- I'm not sure of how I got this, but I think the stack should make the problem somewhat apparent

Message: Malformed URL: about:blank
Stack:
java.net.MalformedURLException: unknown protocol: about
at java.net.URL.<init>(URL.java:586)
at java.net.URL.<init>(URL.java:476)
at java.net.URL.<init>(URL.java:425)
at org.eclipse.help.ui.internal.views.ReusableHelpPart.browserChanged(ReusableHelpPart.java:1069)
at org.eclipse.help.ui.internal.views.BrowserPart$1.changed(BrowserPart.java:117)
at org.eclipse.swt.browser.IE$6.handleEvent(IE.java:530)
at org.eclipse.swt.ole.win32.OleEventTable.sendEvent(OleEventTable.java:55)
at org.eclipse.swt.ole.win32.OleEventSink.notifyListener(OleEventSink.java:145)
at org.eclipse.swt.ole.win32.OleEventSink.Invoke(OleEventSink.java:120)
at org.eclipse.swt.ole.win32.OleEventSink.access$1(OleEventSink.java:97)
at org.eclipse.swt.ole.win32.OleEventSink$1.method6(OleEventSink.java:71)
at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655)
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(NativeMethodAccessorImpl.java:45)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:612)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
Comment 1 Duncan Yule CLA 2010-09-10 10:24:50 EDT
I am getting the same issue. It is clear that the problem arises out of Java.net.Url not recognising 'about' as a valid protocol. Yet about:blank is a  commonly used non standardised uri. 

Perhaps changing the catch in ReusableHelpPart.browserChanged() to not log an error if about:blank is encountered. Although it may be helpful to log a warning.
Comment 2 Chris Goldthorpe CLA 2010-09-20 16:48:22 EDT
Not logging the error seems like the simplest solution. The exception is being thrown in java.net so I would expect that this bug would not be specific to Windows 7. It would help a lot if you could come up with the steps to reproduce this bug since I have not been able to recreate it so far.
Comment 3 Chris Goldthorpe CLA 2010-09-21 13:34:03 EDT
Created attachment 179333 [details]
Patch

I was able to reproduce the problem by creating a document with a hyperlink to about:blank and following that link. The best fix seems to be to let the exception fall through without logging an error, which also causes the url "about:blank" not to be added to the history, which I think is reasonable.
Comment 4 Chris Goldthorpe CLA 2010-09-21 13:35:15 EDT
Patch applied to HEAD, Fixed