| Summary: | NPE in FinishedJobs.getInstance when shutdown OSGi in console or restart application (F5) | ||
|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Ivan Furnadjiev <ivan> |
| Component: | Workbench | Assignee: | Project Inbox <rap-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | 2.1 | ||
| Target Milestone: | 3.12 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
Ivan Furnadjiev
The same exception is thrown if you press F5 when progress dialog is running: !ENTRY org.eclipse.core.jobs 4 2 2013-11-26 10:44:58.547 !MESSAGE An internal error occurred during: "Long Running Action: 11353996". !STACK 0 java.lang.NullPointerException at org.eclipse.rap.rwt.internal.SingletonManager.getInstance(SingletonManager.java:35) at org.eclipse.rap.rwt.SingletonUtil.getSessionInstance(SingletonUtil.java:55) at org.eclipse.ui.internal.progress.FinishedJobs.getInstance(FinishedJobs.java:69) at org.eclipse.ui.internal.progress.JobInfo.clearTaskInfo(JobInfo.java:118) at org.eclipse.ui.internal.progress.ProgressManager$JobMonitor$1.run(ProgressManager.java:267) at org.eclipse.rap.rwt.internal.lifecycle.ContextUtil.runNonUIThreadWithFakeContext(ContextUtil.java:67) at org.eclipse.rap.rwt.internal.service.UISessionImpl.exec(UISessionImpl.java:221) at org.eclipse.ui.internal.progress.ProgressManager$JobMonitor.done(ProgressManager.java:265) at org.eclipse.rap.demo.actions.JobActionWithDialog$1.run(JobActionWithDialog.java:37) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) Sometimes I got another exception: !ENTRY org.eclipse.core.jobs 4 2 2013-11-26 10:47:23.644 !MESSAGE An internal error occurred during: "Long Running Action: 25233776". !STACK 0 org.eclipse.swt.SWTException: Device is disposed at org.eclipse.swt.SWT.error(SWT.java:3639) at org.eclipse.swt.SWT.error(SWT.java:3562) at org.eclipse.swt.SWT.error(SWT.java:3533) at org.eclipse.swt.widgets.Display.error(Display.java:2300) at org.eclipse.swt.widgets.Display.asyncExec(Display.java:1051) at org.eclipse.ui.internal.progress.ProgressMonitorFocusJobDialog$3.runAsync(ProgressMonitorFocusJobDialog.java:322) at org.eclipse.ui.internal.progress.ProgressMonitorFocusJobDialog$3.subTask(ProgressMonitorFocusJobDialog.java:397) at org.eclipse.ui.internal.progress.ProgressManager$JobMonitor.subTask(ProgressManager.java:359) at org.eclipse.rap.demo.actions.JobActionWithDialog$1.run(JobActionWithDialog.java:41) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) Reproducible with RAP 3.0 M5+. To fix the issue we need to keep an instance of FinishedJobs as field in JobInfo and ProgressManager. This is the approach used in e4 implementation of JobInfo and ProgressManager. Fixed with bug 559612. |