Project

General

Profile

Actions

bug #6550

closed

bug #6545: [MASTER] Eclipse 4 bugs

bug #6620: [MASTER] Critical Eclipse 4 bugs

ArrayIndexOutOfBoundsException when opening a taxon with double click from the navigator

Added by Patrick Plitzner about 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
New
Assignee:
Patrick Plitzner
Category:
taxeditor
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Severity:
normal
Found in Version:
Tags:

Description

Opening a taxon via right-click menu works fine.

!ENTRY org.eclipse.e4.ui.workbench 4 0 2017-04-03 12:32:15.529
!MESSAGE 
!STACK 0
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    at java.util.Vector.get(Vector.java:748)
    at org.eclipse.ui.forms.editor.FormEditor.pageChange(FormEditor.java:476)
    at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:295)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5227)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1366)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1349)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1134)
    at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3167)
    at org.eclipse.swt.custom.CTabFolder.onFocus(CTabFolder.java:1708)
    at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:328)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5227)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1366)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1345)
    at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:4069)
    at org.eclipse.swt.widgets.Control.gtk_event_after(Control.java:3341)
    at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1986)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:5827)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5498)
    at org.eclipse.swt.internal.gtk.OS._gtk_widget_grab_focus(Native Method)
    at org.eclipse.swt.internal.gtk.OS.gtk_widget_grab_focus(OS.java:14639)
    at org.eclipse.swt.widgets.Control.forceFocus(Control.java:2636)
    at org.eclipse.swt.widgets.Composite.forceFocus(Composite.java:595)
    at org.eclipse.swt.widgets.Control.forceFocus(Control.java:2629)
    at org.eclipse.swt.widgets.Control.setFocus(Control.java:4619)
    at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1543)
    at org.eclipse.swt.custom.CTabFolder.setFocus(CTabFolder.java:2614)
    at org.eclipse.swt.widgets.Control.fixFocus(Control.java:217)
    at org.eclipse.swt.widgets.Control.setVisible(Control.java:5153)
    at org.eclipse.swt.custom.CTabItem.setControl(CTabItem.java:305)
    at org.eclipse.ui.part.MultiPageEditorPart.createItem(MultiPageEditorPart.java:336)
    at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:252)
    at org.eclipse.ui.forms.editor.FormEditor.addPage(FormEditor.java:330)
    at eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor.addPages(MultiPageTaxonEditor.java:108)
    at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:140)
    at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:363)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:150)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:99)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:340)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:966)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:931)
    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:151)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:375)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:294)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:105)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:74)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:56)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:975)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:651)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:757)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:728)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:722)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:706)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$1.handleEvent(PartServiceImpl.java:104)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
    at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
    at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:145)
    at org.eclipse.swt.widgets.Display.syncExec(Display.java:5414)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:211)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
    at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
    at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
    at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
    at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:94)
    at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
    at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
    at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:173)
    at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:617)
    at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:581)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:770)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:401)
    at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1214)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3261)
    at org.eclipse.ui.internal.WorkbenchPage.access$25(WorkbenchPage.java:3176)
    at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:3158)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3153)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3117)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3098)
    at eu.etaxonomy.taxeditor.editor.EditorUtil.open(EditorUtil.java:81)
    at eu.etaxonomy.taxeditor.editor.EditorUtil.open(EditorUtil.java:101)
    at eu.etaxonomy.taxeditor.editor.EditorUtil.openTaxonNode(EditorUtil.java:161)
    at eu.etaxonomy.taxeditor.navigation.NavigationUtil.openEditor(NavigationUtil.java:116)
    at eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator.handleDoubleClick(TaxonNavigator.java:467)
    at org.eclipse.ui.navigator.CommonNavigator$4$1.run(CommonNavigator.java:529)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.navigator.CommonNavigator$4.doubleClick(CommonNavigator.java:526)
    at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:833)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
    at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:830)
    at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1470)
    at org.eclipse.ui.navigator.CommonViewer.handleDoubleSelect(CommonViewer.java:445)
    at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1264)
    at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:252)
    at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:249)
    at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:311)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5227)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4561)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4151)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at eu.etaxonomy.taxeditor.Application.start(Application.java:24)
    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:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1492)

Related issues

Related to EDIT - feature request #6595: Migrate name editorClosedPatrick Plitzner

Actions
Actions #1

Updated by Patrick Plitzner about 7 years ago

  • Description updated (diff)
Actions #2

Updated by Katja Luther about 7 years ago

on windows I also get the ArrayIndexOutOfBoundsException with the right click menu:

java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    at java.util.Vector.get(Vector.java:748)
    at org.eclipse.ui.forms.editor.FormEditor.pageChange(FormEditor.java:476)
    at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:295)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1103)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1088)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:802)
    at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3167)
    at org.eclipse.swt.custom.CTabFolder.onFocus(CTabFolder.java:1708)
    at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:328)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1103)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1084)
    at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:2934)
    at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2437)
    at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:5446)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4869)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5110)
    at org.eclipse.swt.internal.win32.OS.SetFocus(Native Method)
    at org.eclipse.swt.widgets.Control.forceFocus(Control.java:1114)
    at org.eclipse.swt.widgets.Control.setFocus(Control.java:3447)
    at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1124)
    at org.eclipse.swt.custom.CTabFolder.setFocus(CTabFolder.java:2614)
    at org.eclipse.swt.widgets.Control.fixFocus(Control.java:1069)
    at org.eclipse.swt.widgets.Control.setVisible(Control.java:3972)
    at org.eclipse.swt.custom.CTabItem.setControl(CTabItem.java:305)
    at org.eclipse.ui.part.MultiPageEditorPart.createItem(MultiPageEditorPart.java:336)
    at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:252)
    at org.eclipse.ui.forms.editor.FormEditor.addPage(FormEditor.java:330)
    at eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor.addPages(MultiPageTaxonEditor.java:108)

Actions #3

Updated by Patrick Plitzner about 7 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 50
Actions #4

Updated by Patrick Plitzner about 7 years ago

The fix is avoids the exception but does not really remove the cause of the problem. But since we are anyway migrating to Eclipse 4 all editors and views will have to be migrated, too. Currently, the name editor is a multipage editor allowing it to have multiple pages for on editor input. This is what was causing the problem org.eclipse.ui.forms.editor.FormEditor.pageChange(). But we do not use this at all so we might as well refactor the editor to be a "standard" EditorPart without pages so that the problem will not be there anymore.

Actions #5

Updated by Patrick Plitzner about 7 years ago

  • Assignee changed from Patrick Plitzner to Katja Luther
Actions #6

Updated by Patrick Plitzner about 7 years ago

  • Status changed from Resolved to Closed
  • Assignee changed from Katja Luther to Patrick Plitzner
Actions #7

Updated by Andreas Müller almost 7 years ago

Actions #8

Updated by Andreas Müller almost 7 years ago

  • Parent task changed from #6545 to #6620
Actions #9

Updated by Andreas Müller over 6 years ago

  • % Done changed from 50 to 100
Actions

Also available in: Atom PDF