Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 336481

Summary: AIOOB during Synchronize
Product: [Technology] JGit Reporter: Ralf Sternberg <rsternberg>
Component: JGitAssignee: Project Inbox <jgit.core-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: caniszczyk, dariusz.luksza
Version: 0.11   
Target Milestone: 0.11   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Ralf Sternberg CLA 2011-02-07 04:31:15 EST
I get this Exception with latest Egit/Jgit from the egit/updates repository:
java.lang.ArrayIndexOutOfBoundsException: -1
	at org.eclipse.jgit.treewalk.TreeWalk.getObjectId(TreeWalk.java:645)
	at org.eclipse.egit.ui.internal.synchronize.model.GitModelObjectContainer.getModelObject(GitModelObjectContainer.java:231)
	at org.eclipse.egit.ui.internal.synchronize.model.GitModelTree.getChildrenImpl(GitModelTree.java:114)
	at org.eclipse.egit.ui.internal.synchronize.model.GitModelObjectContainer.getChildren(GitModelObjectContainer.java:128)
	at org.eclipse.egit.ui.internal.synchronize.mapping.GitTreeMapping.getTraversals(GitTreeMapping.java:39)
	at org.eclipse.egit.ui.internal.synchronize.mapping.GitChangeSetContentProvider.getTraversals(GitChangeSetContentProvider.java:78)
	at org.eclipse.team.ui.mapping.SynchronizationContentProvider.isVisible(SynchronizationContentProvider.java:562)
	at org.eclipse.team.ui.mapping.SynchronizationContentProvider.internalGetChildren(SynchronizationContentProvider.java:540)
	at org.eclipse.team.ui.mapping.SynchronizationContentProvider.getChildrenInContext(SynchronizationContentProvider.java:510)
	at org.eclipse.team.ui.mapping.SynchronizationContentProvider.internalGetChildren(SynchronizationContentProvider.java:131)
	at org.eclipse.team.ui.mapping.SynchronizationContentProvider.getChildren(SynchronizationContentProvider.java:49)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:96)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:275)
	at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:94)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:150)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:137)
	at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:123)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1348)
	at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:391)
	at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:896)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:601)
	at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:799)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:778)
	at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:644)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1714)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1724)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1724)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1724)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1724)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1724)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1724)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1724)
	at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1056)
	at org.eclipse.team.internal.ui.mapping.CommonViewerAdvisor.expandToNextDiff(CommonViewerAdvisor.java:547)
	at org.eclipse.team.internal.ui.synchronize.AbstractTreeViewerAdvisor.handleDoubleClick(AbstractTreeViewerAdvisor.java:416)
	at org.eclipse.team.internal.ui.mapping.CommonViewerAdvisor.handleDoubleClick(CommonViewerAdvisor.java:535)
	at org.eclipse.team.internal.ui.synchronize.StructuredViewerAdvisor$4.doubleClick(StructuredViewerAdvisor.java:153)
	at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:824)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:822)
	at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1421)
	at org.eclipse.ui.navigator.CommonViewer.handleDoubleSelect(CommonViewer.java:454)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1225)
	at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:239)
	at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:236)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3549)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3170)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2697)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2661)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2495)
	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.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	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)
Comment 1 Chris Aniszczyk CLA 2011-02-07 10:29:21 EST
is this from the nightly site?
Comment 2 Dariusz Luksza CLA 2011-02-07 10:47:34 EST
I've check this and line numbers from stack trace doesn't match with latest implementation in git. I've also check this in history of our commits and it seams that this issue is fixed by commit 9a14f8fc0648eca351c486689ebffe5020c52f52.

So this issue will be fixed in upcoming 0.11 release.
Comment 3 Ralf Sternberg CLA 2011-02-07 11:28:51 EST
Right, I mistakenly installed from http://download.eclipse.org/egit/updates instead of http://download.eclipse.org/egit/updates-nightly. Sorry for the noise.
Comment 4 Chris Aniszczyk CLA 2011-02-07 11:29:35 EST
Fixed in 0.11

Thanks for the report anyway Ralf!