| Summary: | Shutting down OSGi when RAP is running causes exception | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Cristina Petra <petracristina> | ||||
| Component: | Workbench | Assignee: | Project Inbox <rap-inbox> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | petracristina | ||||
| Version: | 1.3 | ||||||
| Target Milestone: | 1.3 M7 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Cristina Petra
I can reproduce it with the "internal" Jetty server and Workbench Demo. Steps to reproduce: 1. Start Workbench Demo 2. Type "stop 0" in osgi console ------------ osgi> stop 0 osgi> 2010-04-28 13:06:53.708:/:WARN: ERROR: Exception while executing dispose-listener. java.lang.NullPointerException at org.eclipse.rap.ui.internal.preferences.SessionScope.getNode(SessionScope.java:67) at org.eclipse.ui.preferences.ScopedPreferenceStoreCore.getStorePreferences(ScopedPreferenceStoreCore.java:225) at org.eclipse.ui.preferences.ScopedPreferenceStoreCore.getPreferenceNodes(ScopedPreferenceStoreCore.java:267) at org.eclipse.ui.preferences.ScopedPreferenceStoreCore.internalGet(ScopedPreferenceStoreCore.java:458) at org.eclipse.ui.preferences.ScopedPreferenceStoreCore.getBoolean(ScopedPreferenceStoreCore.java:370) at org.eclipse.ui.preferences.ScopedPreferenceStore.getBoolean(ScopedPreferenceStore.java:446) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:807) at org.eclipse.ui.internal.Workbench.access$12(Workbench.java:781) at org.eclipse.ui.internal.Workbench$21.run(Workbench.java:1047) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:66) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1045) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1007) at org.eclipse.ui.internal.Workbench$ShutdownHandler.handleEvent(Workbench.java:131) at org.eclipse.swt.widgets.Display.sendDisposeEvent(Display.java:714) at org.eclipse.swt.widgets.Display.release(Display.java:693) at org.eclipse.swt.graphics.Device.dispose(Device.java:282) at org.eclipse.rwt.internal.lifecycle.UIThread.processShutdown(UIThread.java:159) at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:128) at java.lang.Thread.run(Thread.java:619) at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102) Created attachment 166309 [details]
Proposed patch
When OSGi framework is shutdown ( stop zero bundle or JBoss/Jetty... shutdown ) the Platform goes death before the display dispose event is propagated. Closing workbench on death Platform leads to various exceptions in Workbench#close().
Applied patch to CVS HEAD. |