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

Bug 315054

Summary: [testing] HostMoveTest.testMoveManyUp() sometimes fails on Linux with SWT: "Index out of bounds"
Product: [Tools] Target Management Reporter: Martin Oberhuber <mober.at+eclipse>
Component: RSEAssignee: David Dykstal <ddykstal.eclipse>
Status: RESOLVED FIXED QA Contact: Martin Oberhuber <mober.at+eclipse>
Severity: normal    
Priority: P3 CC: dmcknigh
Version: 3.2   
Target Milestone: 3.4 M6   
Hardware: PC   
OS: Linux-GTK   
Whiteboard:
Bug Depends on:    
Bug Blocks: 219101    

Description Martin Oberhuber CLA 2010-05-31 07:00:03 EDT
+++ This bug was initially created as a clone of Bug #219101 +++

Build ID: RSE 3.2rc3 on Linux RHEL4 (szg-qa-lx1) with Sun 1.5.0_20

This error only occurs sporadically, so I assume that it is a race condition of some sort. Maybe it is one symptom of the problems discussed in bug 219101. Last time I saw it was launching the "RSE Combined Test Suite" out of my Workspace against an Eclipse Platform 3.6rc3 / RSE 3.2rc3 target.

org.eclipse.rse.tests.core.HostMoveTest
testMoveManyUp(org.eclipse.rse.tests.core.HostMoveTest)
java.lang.IllegalArgumentException: Index out of bounds
	at org.eclipse.swt.SWT.error(SWT.java:4064)
	at org.eclipse.swt.SWT.error(SWT.java:3998)
	at org.eclipse.swt.SWT.error(SWT.java:3969)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:465)
	at org.eclipse.swt.widgets.Tree.createItem(Tree.java:822)
	at org.eclipse.swt.widgets.TreeItem.<init>(TreeItem.java:188)
	at org.eclipse.swt.widgets.TreeItem.<init>(TreeItem.java:111)
	at org.eclipse.jface.viewers.TreeViewer.createNewRowPart(TreeViewer.java:807)
	at org.eclipse.jface.viewers.TreeViewer.newItem(TreeViewer.java:315)
	at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:828)
	at org.eclipse.rse.internal.ui.view.SystemView.moveTreeItem(SystemView.java:1669)
	at org.eclipse.rse.internal.ui.view.SystemView.moveTreeItems(SystemView.java:1705)
	at org.eclipse.rse.internal.ui.view.SystemView$ResourceChangedJob.runInUIThread(SystemView.java:2478)
	at org.eclipse.rse.internal.ui.view.SystemView.systemResourceChanged(SystemView.java:1792)
	at org.eclipse.rse.internal.core.model.SystemResourceChangeManager.notify(SystemResourceChangeManager.java:97)
	at org.eclipse.rse.internal.core.model.SystemRegistry.fireEvent(SystemRegistry.java:2452)
	at org.eclipse.rse.internal.core.model.SystemRegistry.moveHosts(SystemRegistry.java:2067)
	at org.eclipse.rse.tests.core.HostMoveTest.testMoveManyUp(HostMoveTest.java:80)
	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:592)
	at junit.framework.TestCase.runTest(TestCase.java:168)
	at org.eclipse.rse.tests.core.RSECoreTestCase.runTest(RSECoreTestCase.java:425)
	at junit.framework.TestCase.runBare(TestCase.java:134)
	at org.eclipse.rse.tests.core.RSECoreTestCase.runBare(RSECoreTestCase.java:411)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:124)
	at org.eclipse.rse.tests.core.RSECoreTestCase.run(RSECoreTestCase.java:380)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62)
	at org.eclipse.pde.internal.junit.runtime.UITestApplication$1.run(UITestApplication.java:116)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3162)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.pde.internal.junit.runtime.UITestApplication.start(UITestApplication.java:47)
	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:369)
	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:592)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Comment 1 Martin Oberhuber CLA 2010-05-31 07:00:40 EDT
I want this to be looked at for TM 3.2.1, since with our new Athena / CBI builder on build.eclipse.org, we run the nightly unittests on every build and I want these to run clean.
Comment 2 Martin Oberhuber CLA 2011-01-10 11:04:15 EST
Seen again with the Jan 7 N-build on hudson.eclipse.org:
https://hudson.eclipse.org/hudson/job/cbi-tm-3.2-nightly/187/

Who can look at this please?
Comment 3 Martin Oberhuber CLA 2011-01-10 11:05:42 EST
I should also mention that the failure is spurious and doesn't happen all the time ... the Jan 6 Hudson build was clean, for instance.
Comment 4 Martin Oberhuber CLA 2011-01-10 18:01:24 EST
testMoveLastDown() failed with the same exception in the Jan-10 N-build on hudson:
https://hudson.eclipse.org/hudson/job/cbi-tm-3.2-nightly/189/

java.lang.IllegalArgumentException: Index out of bounds
	at org.eclipse.swt.SWT.error(SWT.java:4072)
	at org.eclipse.swt.SWT.error(SWT.java:4006)
	at org.eclipse.swt.SWT.error(SWT.java:3977)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:466)
	at org.eclipse.swt.widgets.Tree.createItem(Tree.java:822)
	at org.eclipse.swt.widgets.TreeItem.<init>(TreeItem.java:188)
	at org.eclipse.swt.widgets.TreeItem.<init>(TreeItem.java:111)
	at org.eclipse.jface.viewers.TreeViewer.createNewRowPart(TreeViewer.java:807)
	at org.eclipse.jface.viewers.TreeViewer.newItem(TreeViewer.java:315)
	at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:828)
	at org.eclipse.rse.internal.ui.view.SystemView.moveTreeItem(SystemView.java:1673)
	at org.eclipse.rse.internal.ui.view.SystemView.moveTreeItems(SystemView.java:1709)
	at org.eclipse.rse.internal.ui.view.SystemView$ResourceChangedJob.runInUIThread(SystemView.java:2482)
	at org.eclipse.rse.internal.ui.view.SystemView.systemResourceChanged(SystemView.java:1796)
	at org.eclipse.rse.internal.core.model.SystemResourceChangeManager.notify(SystemResourceChangeManager.java:97)
	at org.eclipse.rse.internal.core.model.SystemRegistry.fireEvent(SystemRegistry.java:2452)
	at org.eclipse.rse.internal.core.model.SystemRegistry.moveHosts(SystemRegistry.java:2067)
	at org.eclipse.rse.tests.core.HostMoveTest.testMoveLastDown(HostMoveTest.java:138)
Comment 5 Martin Oberhuber CLA 2011-01-12 12:34:36 EST
Dave can you please look at this as just discussed in our monthly meeting?
Comment 6 Martin Oberhuber CLA 2011-02-01 03:00:23 EST
M5 is over - please update the target milestone and start looking at this.
Comment 7 Martin Oberhuber CLA 2011-05-31 17:48:22 EDT
Bulk moving 3.3 deferred items to 3.3.1
Comment 8 David Dykstal CLA 2012-03-18 15:02:53 EDT
Disabling tests. The events bug will be fixed under bug 219101.
Comment 9 David Dykstal CLA 2012-03-18 15:03:30 EDT
*** Bug 335930 has been marked as a duplicate of this bug. ***