Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Eclipse Luna gives NullPointerException when debugging hits a breakpoint

Whenever I hit a breakpoint in my code, I see an obnoxious dialog informing me that "Perspective switch job has encountered a problem", the details of which simply say "NullPointerException". The error log shows this stack trace:

java.lang.NullPointerException
    at org.eclipse.ui.internal.WorkbenchPage.showPart(WorkbenchPage.java:1298)
    at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1269)
    at org.eclipse.ui.internal.WorkbenchPage$13.run(WorkbenchPage.java:4144)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:4140)
    at org.eclipse.debug.internal.ui.views.ViewContextService.showViewQuiet(ViewContextService.java:1168)
    at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager$4.runInUIThread(PerspectiveManager.java:528)
    at org.eclipse.debug.internal.ui.launchConfigurations.PerspectiveManager$MyUIJob$1.run(PerspectiveManager.java:229)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4147)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3764)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
    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:382)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:236)
    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:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

I've tried disabling perspective switching (which I don't want anyway) via Options / Run/Debug / Perspectives by setting the "Debug" perspective to "None", but it keeps getting reset to "Debug", and does not change this behavior.

This is extremely annoying, making debugging nearly unusable.

I tried adding -clean to eclipse.ini, as suggested here Myeclipse is throwing some error when i debug server ... but that had no impact, either.

Ideas?

like image 981
Marc Avatar asked Jul 28 '15 13:07

Marc


1 Answers

I have encountered the same problem (which is likely a bug) in Eclipse Mars. Every breakpoint reached opens the error dialog you described.

I was able to prevent the error by updating the following preferences (which are also present in Luna):

  1. Go to Window > Preferences
  2. On the left, go to Run/Debug > Perspectives
  3. In the Application Types/Launchers list, select the type of application that you are debugging.
  4. On the right under Modes/Perspectives, make sure that None is selected for the Debug dropdown.

Note: I was unable to find any setting that completely disables the perspective switch for all application types, so you'll have to do this for each type you debug.

like image 116
Jordan Deyton Avatar answered Oct 21 '22 03:10

Jordan Deyton