ccw-ide / ccw

Counterclockwise is an Eclipse plugin helping developers write Clojure code
https://github.com/laurentpetit/ccw/wiki/GoogleCodeHome
Eclipse Public License 1.0
220 stars 50 forks source link

NumberFormatException when hyperlinking to source #850

Closed ghost closed 9 years ago

ghost commented 9 years ago

I get this occasionally when hyperlinking to source.


STATUS

pluginId org.eclipse.ui pluginVersion 3.107.0.v20150507-1945 code 0 severity 4 message Unhandled event loop exception fingerprint 964fe69e

Exception:java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(null:-1) at java.lang.Integer.parseInt(null:-1) at java.lang.Integer.valueOf(null:-1) at ccw.editors.clojure.clojure_hyperlink$find_decl.invoke(clojure_hyperlink.clj:38) at ccw.editors.clojure.clojure_hyperlink$detect_hyperlinks.invoke(clojure_hyperlink.clj:47) at clojure.lang.Var.invoke(Var.java:383) at ccw.api.hyperlink$factory$fn__688.invoke(hyperlink.clj:59) at ccw.api.hyperlink.proxy$ccw.editors.clojure.AbstractHyperlinkDetector$ff19274a.detectHyperlinks(null:-1) at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80) at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289) at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:261) at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:469) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(null:-2) at sun.reflect.NativeMethodAccessorImpl.invoke(null:-1) at sun.reflect.DelegatingMethodAccessorImpl.invoke(null:-1) at java.lang.reflect.Method.invoke(null:-1) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) at org.eclipse.equinox.launcher.Main.run(Main.java:1515)


REPORT

anonymousId d8be78f2-2688-4a0b-8a90-2cb480fd0439 name Mark Addleman email markaddleman@gmail.com comment
eclipseBuildId 4.5.0.I20150603-2000 eclipseProduct org.eclipse.epp.package.java.product javaRuntimeVersion 1.8.0_60-b27 osgiWs win32 osgiOs Windows10 osgiOsVersion 10.0.0 osgiArch x86_64 logMessage false ignoreSimilar false


BUNDLES

name org.eclipse.core.databinding.observable version 1.5.0.v20150422-0725

name org.eclipse.core.databinding version 1.5.0.v20150422-0725

name org.eclipse.core.runtime version 3.11.0.v20150405-1723

name org.eclipse.e4.ui.workbench version 1.3.0.v20150531-1948

name org.eclipse.e4.ui.workbench.swt version 0.13.0.v20150504-0621

name org.eclipse.equinox.app version 1.3.300.v20150423-1356

name org.eclipse.equinox.launcher version 1.3.100.v20150511-1540

name org.eclipse.jface.text version 3.10.0.v20150603-1752

name org.eclipse.jface version 3.11.0.v20150602-1400

name org.eclipse.swt version 3.104.0.v20150528-0211

name org.eclipse.ui version 3.107.0.v20150507-1945

name org.eclipse.ui.ide.application version 1.1.0.v20150422-0725

name org.eclipse.ui.ide version 3.11.0.v20150510-1749

laurentpetit commented 9 years ago

Thanks for the report. The exception is blaming this line: https://github.com/laurentpetit/ccw/blob/master/ccw.core/src/clj/ccw/editors/clojure/clojure_hyperlink.clj#L38

So it happens that for some reason, line in this context is an empty String, and thus cannot be converted to an Integer. Easy fix, I'll just check for emptiness and put 0 if empty.

If you can point to an example that gives this problem in a reproductible way, I'll be able to try to see if it's normal or not that no line number is found.

ghost commented 9 years ago

I'll try and get something repeatable but I haven't been successful.

It's odd that the line is blank in the model. I'm certain that I'm not hyperlinking from a blank line because I use control-click to hyperlink. Could this be some kind of timing issue?

laurentpetit commented 9 years ago

No I have not been clear : it's the line number,which is dynamically retrieve via a silent call through the repl.

Le lundi 31 août 2015, Mark Addleman notifications@github.com a écrit :

I'll try and get something repeatable but I haven't been successful.

It's odd that the line is blank in the model. I'm certain that I'm not hyperlinking from a blank line because I use control-click to hyperlink. Could this be some kind of timing issue?

— Reply to this email directly or view it on GitHub https://github.com/laurentpetit/ccw/issues/850#issuecomment-136216978.

Laurent Petit