Hello, I'm currently trying to develop an Eclipse
plug-in for Lotus Notes 8.5. I launch my tests from Eclipse via a
Notes Launch Configuration.
In my first tests, I could connect to
a Domino Database with that piece of code without any problem : Session
s;
try{
NotesThread.sinitThread();
s=NotesFactory.createSession();
nab = s.getDatabase("", s.getAddressBooks().elementAt(0).toString());
if(nab.isOpen()==false)
nab.open();
return nab;}
catch(NotesException e){e.printStackTrace();
return null;
} .... .... NotesThread.stermThread();
But after some modifications (not to
that code) I receive a "Java.lang.RuntimeException Widget disposed
too early" Error at the launch and the program exits. Does someone know how to fix it? Or
what I need to avoid? or what is the cause of this problem?
Thanks a lot, KG
Here is the stacktrace :
Starting application: 9563 2009/03/09 10:54:52.309 FINE RcpD daemon
is running ... ::class.method=com.ibm.rcp.core.internal.daemon.Logging.fine()
::thread=RcpD Command Processor ::loggername=com.ibm.rcp.core.internal.daemon 2009/03/09 10:54:52.325 FINE Adding
greedy listener with id advisorCommand ::class.method=com.ibm.rcp.core.internal.daemon.Logging.finest()
::thread=RcpD Command Processor ::loggername=com.ibm.rcp.core.internal.daemon 2009/03/09 10:54:52.325 FINE Adding
greedy listener with id provisioningCommand ::class.method=com.ibm.rcp.core.internal.daemon.Logging.finest()
::thread=RcpD Command Processor ::loggername=com.ibm.rcp.core.internal.daemon 2009/03/09 10:54:52.356 FINE RcpD.run():
waiting for a connection ... ::class.method=com.ibm.rcp.core.internal.daemon.Logging.fine()
::thread=RcpD Command Processor ::loggername=com.ibm.rcp.core.internal.daemon Application Started: 12969 Activator- start() createPartControl() 2009/03/09 10:55:04.951 SEVERE Widget
disposed too early! ::class.method=unknown ::thread=main ::loggername=org.eclipse.ui.workbench
java.lang.RuntimeException:
Widget disposed too early! at
org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(WorkbenchPartReference.java:171) at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:117) at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027) at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008) at
org.eclipse.swt.widgets.Widget.release(Widget.java:804) at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755) at
org.eclipse.swt.widgets.Widget.release(Widget.java:807) at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755) at
org.eclipse.swt.widgets.Widget.release(Widget.java:807) at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755) at
org.eclipse.swt.widgets.Widget.release(Widget.java:807) at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755) at
org.eclipse.swt.widgets.Widget.release(Widget.java:807) at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755) at
org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:174) at
org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:771) at
org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1211) at
org.eclipse.swt.widgets.Widget.release(Widget.java:807) at
org.eclipse.swt.widgets.Widget.dispose(Widget.java:441) at
org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:446) at
org.eclipse.swt.widgets.Shell.dispose(Shell.java:674) at
org.eclipse.swt.widgets.Display.release(Display.java:3472) at
org.eclipse.swt.graphics.Device.dispose(Device.java:261) at
com.ibm.rcp.personality.framework.internal.RCPApplication.run(RCPApplication.java:79) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39) at
java.lang.reflect.Method.invoke(Method.java:612) at
org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:574) at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:195) 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:387) at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39) at
java.lang.reflect.Method.invoke(Method.java:612) at
org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549) at
org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at
org.eclipse.equinox.launcher.Main.run(Main.java:1236) at
org.eclipse.equinox.launcher.Main.main(Main.java:1212) 2009/03/09 10:55:04.982 SEVERE Widget
disposed too early! ::class.method=unknown ::thread=main ::loggername=org.eclipse.ui.workbench
java.lang.RuntimeException:
Widget disposed too early! at
org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(WorkbenchPartReference.java:171) at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:117) at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027) at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008) at
org.eclipse.swt.widgets.Widget.release(Widget.java:804) at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755) at
org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:174) at
org.eclipse.swt.widgets.Widget.release(Widget.java:807) at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755) at
org.eclipse.swt.widgets.Widget.release(Widget.java:807) at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755) at
org.eclipse.swt.widgets.Widget.release(Widget.java:807) at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755) at
org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:174) at
org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:771) at
org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1211) at
org.eclipse.swt.widgets.Widget.release(Widget.java:807) at
org.eclipse.swt.widgets.Widget.dispose(Widget.java:441) at
org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:446) at
org.eclipse.swt.widgets.Shell.dispose(Shell.java:674) at
org.eclipse.swt.widgets.Display.release(Display.java:3472) at
org.eclipse.swt.graphics.Device.dispose(Device.java:261) at
com.ibm.rcp.personality.framework.internal.RCPApplication.run(RCPApplication.java:79) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39) at
java.lang.reflect.Method.invoke(Method.java:612) at
org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:574) at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:195) 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:387) at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39) at
java.lang.reflect.Method.invoke(Method.java:612) at
org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549) at
org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at
org.eclipse.equinox.launcher.Main.run(Main.java:1236) at
org.eclipse.equinox.launcher.Main.main(Main.java:1212) 2009/03/09 10:55:05.091 FINE SocketException
se=java.net.SocketException: socket closed ::class.method=com.ibm.rcp.core.internal.daemon.Logging.fine()
::thread=RcpD Command Processor ::loggername=com.ibm.rcp.core.internal.daemon 2009/03/09 10:55:06.060 SEVERE Une erreur
interne s'est produite pendant : "Send scratchpad container info to
Notes". ::class.method=unknown ::thread=Worker-1 ::loggername=org.eclipse.core.jobs
java.lang.NullPointerException at
com.ibm.workplace.noteswc.util.NoteswcPluginUtil$6.run(NoteswcPluginUtil.java:555) at
org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Activator - stop() 2009/03/09 10:55:07.623 SEVERE Une erreur
interne s'est produite pendant : "Initial Auto Status Setting".
::class.method=unknown ::thread=Worker-12 ::loggername=org.eclipse.core.jobs
java.lang.NullPointerException at
com.ibm.collaboration.realtime.privacy.AutoStatusPrefs.<init>(AutoStatusPrefs.java:64) at
com.ibm.collaboration.realtime.privacy.AutoStatusPrefInitializer$1.run(AutoStatusPrefInitializer.java:58) at
org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)