During RCP Eclipse plug-in development, the following error is always reported when the management software interface is started:
! Entry org. Eclipse. UI. workbench 4 0 18:44:21. 306
! Message warning: prevented recursive attempt to activate part Org. gluster. storage. management. console. views. clustersummaryview while still in the middle of activating part Org. gluster. storage. management. console. views. navigationview
! Stack 0
Java. lang. runtimeexception: Warning: prevented recursive attempt to activate part Org. gluster. storage. management. console. views. clustersummaryview while still in the middle of activating part Org. gluster. storage. management. console. views. navigationview
At org. Eclipse. UI. Internal. workbenchpage. setactivepart (workbenchpage. Java: 3586)
At org. Eclipse. UI. Internal. workbenchpage. internalactivate (workbenchpage. Java: 691)
At org. Eclipse. UI. Internal. workbenchpage. Activate (workbenchpage. Java: 663)
At org. Eclipse. UI. Internal. workbenchpage. busyshowview (workbenchpage. Java: 1170)
At org. Eclipse. UI. Internal. workbenchpage. busyshowview (workbenchpage. Java: 1147)
At org. Eclipse. UI. Internal. workbenchpage $ worker run( workbenchpage. Java: 3921)
At org. Eclipse. SWT. Custom. busyindicator. showwhile (busyindicator. Java: 70)
At org. Eclipse. UI. Internal. workbenchpage. showview (workbenchpage. Java: 3918)
At org. Eclipse. UI. Internal. workbenchpage. showview (workbenchpage. Java: 3894)
At org. gluster. Storage. Management. Console. Views. glusterviewsmanager. showviewsforcluster (glusterviewsmanager. Java: 82)
At org. gluster. Storage. Management. Console. Views. glusterviewsmanager. updateviews (glusterviewsmanager. Java: 53)
At org. gluster. Storage. Management. Console. Views. navigationview. selectionchanged (navigationview. Java: 142)
At org. Eclipse. UI. Internal. abstractselectionservice. fireselection (abstractselectionservice. Java: 156)
At org. Eclipse. UI. Internal. abstractselectionservice. setactivepart (abstractselectionservice. Java: 282)
At org. Eclipse. UI. Internal. workbenchpagepartlist. fireactivepartchanged (workbenchpagepartlist. Java: 60)
At org. Eclipse. UI. Internal. partlist. setactivepart (partlist. Java: 136)
At org. Eclipse. UI. Internal. workbenchpage. setactivepart (workbenchpage. Java: 3636)
At org. Eclipse. UI. Internal. workbenchpage. internalactivate (workbenchpage. Java: 691)
At org. Eclipse. UI. Internal. workbenchpage. Activate (workbenchpage. Java: 663)
At org. Eclipse. UI. Internal. workbenchpage. makeactive (workbenchpage. Java: 1324)
At org. Eclipse. UI. Internal. workbenchpage. updateactivepart (workbenchpage. Java: 1304)
At org. Eclipse. UI. Internal. workbenchpage. updatevisibility (workbenchpage. Java: 3779)
At org. Eclipse. UI. Internal. workbenchpage. onactivate (workbenchpage. Java: 2715)
At org. Eclipse. UI. Internal. workbenchwindow $ 27.run( workbenchwindow. Java: 3023)
At org. Eclipse. SWT. Custom. busyindicator. showwhile (busyindicator. Java: 70)
At org. Eclipse. UI. Internal. workbenchwindow. setactivepage (workbenchwindow. Java: 3004)
At org. Eclipse. UI. Internal. workbenchwindow. busyopenpage (workbenchwindow. Java: 799)
At org. Eclipse. UI. Internal. workbench $23. runwithexception (workbench. Java: 1224)
At org. Eclipse. UI. Internal. startupthreading $ startuprunnable. Run (startupthreading. Java: 31)
At org. Eclipse. SWT. Widgets. runnablelock. Run (runnablelock. Java: 35)
At org. Eclipse. SWT. Widgets. synchronizer. runasyncmessages (synchronizer. Java: 135)
At org. Eclipse. SWT. Widgets. display. runasyncmessages (display. Java: 3563)
At org. Eclipse. SWT. Widgets. display. readanddispatch (display. Java: 3212)
At org. Eclipse. UI. application. workbenchadvisor. openwindows (workbenchadvisor. Java: 803)
At org. Eclipse. UI. Internal. workbench $33. runwithexception (workbench. Java: 1595)
At org. Eclipse. UI. Internal. startupthreading $ startuprunnable. Run (startupthreading. Java: 31)
At org. Eclipse. SWT. Widgets. runnablelock. Run (runnablelock. Java: 35)
At org. Eclipse. SWT. Widgets. synchronizer. runasyncmessages (synchronizer. Java: 135)
At org. Eclipse. SWT. Widgets. display. runasyncmessages (display. Java: 3563)
At org. Eclipse. SWT. Widgets. display. readanddispatch (display. Java: 3212)
At org. Eclipse. UI. Internal. workbench. runui (workbench. Java: 2604)
At org. Eclipse. UI. Internal. workbench. Access $4 (workbench. Java: 2494)
At org. Eclipse. UI. Internal. workbench $ 7.run( workbench. Java: 674)
At org. Eclipse. Core. databinding. observable. realm. runwithdefault (realm. Java: 332)
At org. Eclipse. UI. Internal. workbench. createandrunworkbench (workbench. Java: 667)
At org. Eclipse. UI. platformui. createandrunworkbench (platformui. Java: 149)
At org. gluster. Storage. Management. Console. application. Start (application. Java: 100)
At org. Eclipse. Equinox. Internal. App. eclipseapphandle. Run (eclipseapphandle. Java: 196)
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: 344)
At org. Eclipse. Core. runtime. adaptor. eclipsestarter. Run (eclipsestarter. Java: 179)
At sun. Reflect. nativemethodaccessorimpl. invoke0 (native method)
At sun. Reflect. nativemethodaccessorimpl. Invoke (nativemethodaccessorimpl. Java: 39)
At sun. Reflect. delegatingmethodaccessorimpl. Invoke (delegatingmethodaccessorimpl. Java: 25)
At java. Lang. Reflect. method. Invoke (method. Java: 597)
At org. Eclipse. Equinox. launcher. Main. invokeframework (main. Java: 622)
At org. Eclipse. Equinox. launcher. Main. basicrun (main. Java: 577)
At org. Eclipse. Equinox. launcher. Main. Run (main. Java: 1410)
At org. Eclipse. Equinox. launcher. Main. Main (main. Java: 1386)
I have never known the cause of the error. I checked it online and found several solutions,
1.
New Focus event is run while other focus event was executing and therefore not finished yet.
You have to override setfocus () or find a good place and put this inside your code:
Display. getdefault (). asyncexec (New runnable (){
@ Override
Public void run (){
While (display. getdefault (). readanddispatch ()){
// Wait for events to finish before continue
}
// Your code for focus here
// E.g. Table. forcefocus ()
}
});
So display will wait until current focus event is finish, and then will execute new focus event.
2.
I just found that one of my colleagues add a partlistener TO THE PART service. When an activated part was adaptable to the icontentoutlinepage, the listener activates the contentoutline view, so it get
Also the focus. This was the reason of the exception.