eclipse-jdt / eclipse-jdt/eclipse.jdt.ui

IllegalArgumentException WorkingSetModel.setWorkingSets

Open
#1,863 4 comments 0 reactions 0 assignees View on GitHub
bug test
Dominant language
Java
Stars
59
Forks
127
Avg merge
23h 30m
Merged PRs (30d)
35

Description

1452 tests failed in
https://download.eclipse.org/eclipse/downloads/drops4/I20241217-1800/testresults/html/org.eclipse.jdt.ui.tests_ep435I-unit-win32-x86_64-java21_win32.win32.x86_64_21.html

most like this:
```
org.opentest4j.MultipleFailuresError: Multiple Failures (2 failures)
org.eclipse.core.internal.resources.ResourceException: Resource '/TestSetupProject' does not exist.
org.eclipse.jdt.core.JavaModelException: TestSetupProject does not exist
Suppressed: org.eclipse.core.internal.resources.ResourceException: Resource '/TestSetupProject' does not exist.
at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:364)
at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:238)
at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:183)
at org.eclipse.core.internal.resources.Folder.assertCreateRequirements(Folder.java:43)
at org.eclipse.core.internal.resources.Folder.create(Folder.java:101)
at org.eclipse.core.internal.resources.Folder.create(Folder.java:129)
at org.eclipse.jdt.internal.ui.util.ResourcesUtility.createFolder(ResourcesUtility.java:77)
at org.eclipse.jdt.internal.ui.util.CoreUtility.createFolder(CoreUtility.java:64)
at org.eclipse.jdt.testplugin.JavaProjectHelper.addSourceContainer(JavaProjectHelper.java:732)
at org.eclipse.jdt.testplugin.JavaProjectHelper.addSourceContainer(JavaProjectHelper.java:710)
at org.eclipse.jdt.testplugin.JavaProjectHelper.addSourceContainer(JavaProjectHelper.java:696)
at org.eclipse.jdt.testplugin.JavaProjectHelper.addSourceContainer(JavaProjectHelper.java:683)
at org.eclipse.jdt.testplugin.JavaProjectHelper.addSourceContainer(JavaProjectHelper.java:671)
at org.eclipse.jdt.ui.tests.quickfix.UtilitiesTest.setUp(UtilitiesTest.java:74)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
Caused by: java.lang.Exception: Resource '/TestSetupProject' does not exist.
at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:42)
at org.eclipse.core.internal.resources.ResourceException.(ResourceException.java:38)
... 15 more
Suppressed: Java Model Exception: Error in Java Model (code 969): TestSetupProject does not exist
at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:546)
at org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence(JavaModelManager.java:2535)
at org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo(JavaProject.java:2329)
at org.eclipse.jdt.internal.core.JavaProject.getOutputLocation(JavaProject.java:2144)
at org.eclipse.jdt.internal.core.JavaProject.setRawClasspath(JavaProject.java:3512)
at org.eclipse.jdt.testplugin.JavaProjectHelper.lambda$1(JavaProjectHelper.java:604)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2457)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2477)
at org.eclipse.jdt.testplugin.JavaProjectHelper.clear(JavaProjectHelper.java:612)
at org.eclipse.jdt.ui.tests.quickfix.UtilitiesTest.tearDown(UtilitiesTest.java:79)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
```

I could not find a special error in the logfiles that would be the root cause. But there is a IllegalArgumentException logged that i could not reproduce locally:

https://download.eclipse.org/eclipse/downloads/drops4/I20241217-1800/testresults/ep435I-unit-win32-x86_64-java21_win32.win32.x86_64_21/org.eclipse.jdt.ui.tests.AutomatedSuite.txt

```
java.lang.IllegalArgumentException:
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:68)
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:52)
at org.eclipse.jdt.internal.ui.workingsets.WorkingSetModel.setWorkingSets(WorkingSetModel.java:429)
at org.eclipse.jdt.internal.ui.workingsets.WorkingSetModel.workingSetManagerChanged(WorkingSetModel.java:616)
at org.eclipse.ui.internal.AbstractWorkingSetManager$5.run(AbstractWorkingSetManager.java:378)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.ui.internal.AbstractWorkingSetManager.lambda$1(AbstractWorkingSetManager.java:386)
at org.eclipse.ui.internal.AbstractWorkingSetManager.firePropertyChange(AbstractWorkingSetManager.java:391)
at org.eclipse.ui.internal.AbstractWorkingSetManager.internalAddWorkingSet(AbstractWorkingSetManager.java:235)
at org.eclipse.ui.internal.AbstractWorkingSetManager.addWorkingSet(AbstractWorkingSetManager.java:227)
at org.eclipse.ui.internal.WorkingSetManager.addWorkingSet(WorkingSetManager.java:66)
at org.eclipse.jdt.ui.tests.packageview.WorkingSetDropAdapterTest.createJavaWorkingSets(WorkingSetDropAdapterTest.java:185)
at org.eclipse.jdt.ui.tests.packageview.WorkingSetDropAdapterTest.testRearrange2(WorkingSetDropAdapterTest.java:193)
```

However that IllegalArgumentException happened on other build too. like
https://download.eclipse.org/eclipse/downloads/drops4/I20241217-1800/testresults/ep435I-unit-linux-x86_64-java21_linux.gtk.x86_64_21/org.eclipse.jdt.ui.tests.AutomatedSuite.txt

Contributor guide

Open the contributing guide

Research direction

Start with WorkingSetModel.setWorkingSets and workingSetManagerChanged, then inspect WorkingSetDropAdapterTest.testRearrange2 and createJavaWorkingSets for the reported exception. Compare those failures with UtilitiesTest.setUp and tearDown, JavaProjectHelper.addSourceContainer, and JavaProjectHelper.clear. Done means identifying the cause of the cross-platform test failures and documenting or fixing it so the affected tests no longer fail.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.