Skip to content

AliasManager not thread-safe (causes random failing org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837 ) #95

Open

Description

@jukzi

https://download.eclipse.org/eclipse/downloads/drops4/I20220428-1800/testresults/html/org.eclipse.core.tests.resources_ep424I-unit-win32-java11_win32.win32.x86_64_11.html

java.lang.NullPointerException
at org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837(BasicAliasTest.java:457)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at junit.framework.TestCase.runTest(TestCase.java:177)
at junit.framework.TestCase.runBare(TestCase.java:142)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:130)
at junit.framework.TestSuite.runTest(TestSuite.java:241)
at junit.framework.TestSuite.run(TestSuite.java:236)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:90)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42)
at org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80)
at org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
at org.eclipse.test.EclipseTestRunner.runTests(EclipseTestRunner.java:226)
at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:202)
at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:52)
at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:35)
at org.eclipse.test.CoreTestApplication.start(CoreTestApplication.java:43)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
at org.eclipse.equinox.launcher.Main.main(Main.java:1440)
at org.eclipse.core.launcher.Main.main(Main.java:44)

Activity

  1. jukzi commented on Aug 30, 2022

    @jukzi
    ContributorAuthor

    can be locally reproduced with

    Thread.sleep(200)
    at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(String, Throwable)

  2. jukzi commented on Aug 30, 2022

    @jukzi
    ContributorAuthor

    It is some multi threading problem: if the whole VM is suspended at org.eclipse.core.internal.resources.ResourceTree.standardMoveProject(IProject, IProjectDescription, int, IProgressMonitor)
    and only main thread is resumed, then the test passes.
    if otherwise only the main thread is suspended there then the test fails.

  3. mickaelistria commented on Aug 31, 2022

    @mickaelistria
    Contributor

    Looking at the proposed patch, it's unclear to me whether the issue is the test, or the aliasManager that doesn't work as expected... Has this test always been failing (even several years ago), or did it start failing recently because of some side-effect of another change (ie this would be a regression)?

  4. jukzi commented on Aug 31, 2022

    @jukzi
    ContributorAuthor

    I don't know how long it failed. It might only became obvious as hardware or software became faster or slower.

  5. mickaelistria commented on Aug 31, 2022

    @mickaelistria
    Contributor

    So indeed, there is a RefreshJob running at some point in another thread, and the success or failure depends on whether this job has completed before next instruction.
    Here is the stack that triggers the RefreshJob (from main thread)

    Thread [main] (Suspended (entry into method refresh in RefreshJob))	
    	owns: RunnableLock  (id=115)	
    	RefreshJob.refresh(IResource) line: 199	
    	RefreshManager.refresh(IResource) line: 98	
    	FileSystemResourceManager.asyncRefresh(IResource) line: 148	
    	FileSystemResourceManager.read(IFile, boolean, IProgressMonitor) line: 833	
    	File.getContents(boolean) line: 277	
    	File.getContents() line: 268	
    	File.getLineSeparator(boolean) line: 448	
    	FileSystemResourceManager.internalWrite(IProject, IProjectDescription, int, boolean, boolean) line: 640	
    	Project.writeDescription(IProjectDescription, int, boolean, boolean) line: 1421	
    	Project.writeDescription(int) line: 1402	
    	ResourceTree.movedProjectSubtree(IProject, IProjectDescription) line: 718	
    	ResourceTree.standardMoveProject(IProject, IProjectDescription, int, IProgressMonitor) line: 1108	
    	Project.move(IProjectDescription, int, IProgressMonitor) line: 993	
    	BasicAliasTest.replaceProject(IProject, URI) line: 304	
    	BasicAliasTest.testBug256837() line: 411	
    [...]
    

    In an ideal world, the "move" opreation wouldn't require to refresh the content, as we do already have some pointers to this content. It would be great to investigate that particular case: if we can get rid of the need to refresh() then it would fix this tests (and maybe other that are of the same kind).

  6. jukzi commented on Aug 31, 2022

    @jukzi
    ContributorAuthor

    So moving the project does currently not move the .project file but write the .project with the lineseperator configured in the .project file - which does not exist yet. So the configured lineseperator may even be wrong/forgotten? it should be remembered in memory (or binary move the file instead) -> no File.getLineSeparator necessary -> no error -> no refresh -> no fail

  7. mickaelistria commented on Sep 1, 2022

    @mickaelistria
    Contributor

    It's only in this particular cases (with links and different FileStore I believe) that the failure happens. The issue is not really about reading the lineSeparator, after all it's OK to try to read a line separator and to try to refresh asynchronously some content on access.
    I see 2 possible issues:

    • First, the descriptionFile is considered as exists() but not as isSynchronized(). If we could have the file synchronized at this stage, then there wouldn't be issue with async refresh.
    • Second, and maybe more on the point, is that although a project is created, it seems like the move() operation doesn't send a notification here. Just like creating a new project, I think it's OK to expect a synchronous POST_CHANGE notification. Then the AliasManager would update without need to wait for a separate refresh job to complete.

    it should be remembered in memory (or binary move the file instead) -> no File.getLineSeparator necessary -> no error -> no refresh -> no fail

    I think it's more the other way round, if there is no refresh, then the test fails (because there was no POST_CHANGE notification.

  8. mickaelistria commented on Sep 1, 2022

    @mickaelistria
    Contributor

    Actually, I'm wrong and you're right: the POST_CHANGE is sent (good), AliasManager is updated (good), but then the RefreshJob triggers (because of lineSeparator and ResourcesPlugin.PREF_LIGHTWEIGHT_AUTO_REFRESH set to true), so the data from AliasManager is temporarily incorrect at the time test asks for it.
    What about setting ResourcesPlugin.PREF_LIGHTWEIGHT_AUTO_REFRESH to false for that test then, so we disable the RefreshJob and have good control over the flow?

  9. jukzi commented on Sep 1, 2022

    @jukzi
    ContributorAuthor

    What about setting ResourcesPlugin.PREF_LIGHTWEIGHT_AUTO_REFRESH to false for that test then, so we disable the RefreshJob and have good control over the flow?

    +1 if that makes the test fail reproducible
    BTW how to move a project with the UI? is that even a possible usecase?

  10. laeubi commented on Sep 1, 2022

    @laeubi
    Contributor

    how to move a project with the UI?

    Goto Package Explorer > Rightclick > Refactor > Move

  11. changed the title [-]random failing org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837[/-] [+]AliasManager not thread-safe (causes random failing org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837 )[/+] on Sep 5, 2022
  12. jukzi commented on Sep 5, 2022

    @jukzi
    ContributorAuthor

    What about setting ResourcesPlugin.PREF_LIGHTWEIGHT_AUTO_REFRESH to false for that test then, so we disable the RefreshJob and have good control over the flow?

    +1 if that makes the test fail reproducible BTW how to move a project with the UI? is that even a possible usecase?

    InstanceScope.INSTANCE.getNode(ResourcesPlugin.PI_RESOURCES)
    .putBoolean(ResourcesPlugin.PREF_LIGHTWEIGHT_AUTO_REFRESH, false);

    does not make the test fail :-(

  13. mickaelistria commented on Sep 7, 2022

    @mickaelistria
    Contributor

    I suggest #156 which I hope can improve this in general without need to tweak test.

  14. mickaelistria commented on Oct 4, 2022

    @mickaelistria
    Contributor

    The patch did suffice for 25 days; that's a relative success! I'll try to look at further issues later.

  15. jukzi commented on Jun 13, 2023

    @jukzi
    ContributorAuthor

    recent fail:

    Cannot read the array length because "resources" is null
    java.lang.NullPointerException: Cannot read the array length because "resources" is null
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837(BasicAliasTest.java:431)
    
    
  16. jukzi commented on Jun 27, 2024

    @jukzi
    ContributorAuthor

    https://download.eclipse.org/eclipse/downloads/drops4/I20240626-1800/testresults/html/org.eclipse.core.tests.resources_ep433I-unit-win32-java17_win32.win32.x86_64_17.html

    java.lang.AssertionError:
    Expecting actual not to be null
    at org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837(BasicAliasTest.java:438)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    
  17. trancexpress commented on Oct 26, 2026

    @trancexpress
    Contributor

    Another failure here: https://download.eclipse.org/eclipse/downloads/drops4/I20261025-2300/testresults/html/org.eclipse.core.tests.resources_ep442I-unit-win32-x86_64-java25_win32.win32.x86_64_25.html

    Expecting actual not to be null
    
    java.lang.AssertionError:
    Expecting actual not to be null
    at org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837(BasicAliasTest.java:435)
    at java.base/java.lang.reflect.Method.invoke(Method.java:565)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1604) 
    

    Workspace log: https://download.eclipse.org/eclipse/downloads/drops4/I20261025-2300/testresults/ep442I-unit-win32-x86_64-java25_win32.win32.x86_64_25/org.eclipse.core.tests.resources.AutomatedResourceTests.txt

    !ENTRY org.eclipse.core.tests.resources 1 0 2026-10-26 02:18:37.071
    !MESSAGE [BasicAliasTest.testBug256837] setUp
    
    !ENTRY org.eclipse.core.resources 4 1 2026-10-26 02:18:37.196
    !MESSAGE Internal Error
    !STACK 1
    org.eclipse.core.internal.resources.ResourceException(/d178458de3d00011187788c0bb35846b/.project)[368]: org.eclipse.core.runtime.CoreException: File not found: C:\Users\genie.releng\workspace\builds\ep442I-unit-win32-x86_64-java25\tmp\junit-12916987907739292495\.project.
    	at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:32)
    	at org.eclipse.core.internal.filesystem.local.LocalFile.handleReadIOException(LocalFile.java:563)
    	at org.eclipse.core.internal.filesystem.local.LocalFile.readAllBytes(LocalFile.java:555)
    	at org.eclipse.core.internal.localstore.FileSystemResourceManager.readAllBytes(FileSystemResourceManager.java:985)
    	at org.eclipse.core.internal.resources.File.readAllBytes(File.java:381)
    	at org.eclipse.core.internal.localstore.FileSystemResourceManager.descriptionChanged(FileSystemResourceManager.java:468)
    	at org.eclipse.core.internal.localstore.FileSystemResourceManager.internalWrite(FileSystemResourceManager.java:771)
    	at org.eclipse.core.internal.resources.Project.writeDescription(Project.java:1544)
    	at org.eclipse.core.internal.resources.Project.writeDescription(Project.java:1524)
    	at org.eclipse.core.internal.resources.ResourceTree.movedProjectSubtree(ResourceTree.java:764)
    	at org.eclipse.core.internal.resources.ResourceTree.standardMoveProject(ResourceTree.java:1160)
    	at org.eclipse.core.internal.resources.Project.move(Project.java:1091)
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.replaceProject(BasicAliasTest.java:318)
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.lambda$6(BasicAliasTest.java:429)
    	at org.eclipse.core.tests.harness.FileSystemHelper.deleteAfterExecution(FileSystemHelper.java:210)
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837(BasicAliasTest.java:425)
    	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
    	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:786)
    	at org.junit.platform.commons.support.ReflectionSupport.invokeMethod(ReflectionSupport.java:514)
    	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:161)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:152)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:91)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:112)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:94)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:93)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:87)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$4(TestMethodTestDescriptor.java:221)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:217)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:159)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:70)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:157)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:161)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:161)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
    	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
    	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:84)
    	at org.junit.platform.suite.engine.SuiteLauncher.execute(SuiteLauncher.java:65)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.executeTests(SuiteTestDescriptor.java:196)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.execute(SuiteTestDescriptor.java:164)
    	at org.junit.platform.suite.engine.SuiteTestEngine.lambda$execute$0(SuiteTestEngine.java:76)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
    	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
    	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
    	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
    	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
    	at org.junit.platform.suite.engine.SuiteTestEngine.execute(SuiteTestEngine.java:76)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:84)
    	at org.junit.platform.suite.engine.SuiteLauncher.execute(SuiteLauncher.java:65)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.executeTests(SuiteTestDescriptor.java:196)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.execute(SuiteTestDescriptor.java:164)
    	at org.junit.platform.suite.engine.SuiteTestEngine.lambda$execute$0(SuiteTestEngine.java:76)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
    	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
    	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
    	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
    	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
    	at org.junit.platform.suite.engine.SuiteTestEngine.execute(SuiteTestEngine.java:76)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:64)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:150)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:63)
    	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:109)
    	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:91)
    	at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
    	at org.junit.platform.launcher.core.InterceptingLauncher.lambda$execute$1(InterceptingLauncher.java:39)
    	at org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor.intercept(ClasspathAlignmentCheckingLauncherInterceptor.java:25)
    	at org.junit.platform.launcher.core.InterceptingLauncher.execute(InterceptingLauncher.java:38)
    	at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
    	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:66)
    	at org.eclipse.test.EclipseTestRunner.runTests(EclipseTestRunner.java:209)
    	at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:184)
    	at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:53)
    	at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:35)
    	at org.eclipse.test.CoreTestApplication.start(CoreTestApplication.java:44)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
    	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:615)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:563)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1415)
    	at org.eclipse.equinox.launcher.Main.main(Main.java:1387)
    Caused by: java.nio.file.NoSuchFileException: C:\Users\genie.releng\workspace\builds\ep442I-unit-win32-x86_64-java25\tmp\junit-12916987907739292495\.project
    	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
    	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
    	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
    	at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:231)
    	at java.base/java.nio.file.Files.newByteChannel(Files.java:357)
    	at java.base/java.nio.file.Files.newByteChannel(Files.java:399)
    	at java.base/java.nio.file.Files.readAllBytes(Files.java:2973)
    	at org.eclipse.core.internal.filesystem.local.LocalFile.readAllBytes(LocalFile.java:553)
    	... 137 more
    !SUBENTRY 1 org.eclipse.core.resources 4 368 2026-10-26 02:18:37.227
    !MESSAGE File not found: C:\Users\genie.releng\workspace\builds\ep442I-unit-win32-x86_64-java25\tmp\junit-12916987907739292495\.project.
    !STACK 1
    org.eclipse.core.runtime.CoreException: File not found: C:\Users\genie.releng\workspace\builds\ep442I-unit-win32-x86_64-java25\tmp\junit-12916987907739292495\.project.
    	at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:32)
    	at org.eclipse.core.internal.filesystem.local.LocalFile.handleReadIOException(LocalFile.java:563)
    	at org.eclipse.core.internal.filesystem.local.LocalFile.readAllBytes(LocalFile.java:555)
    	at org.eclipse.core.internal.localstore.FileSystemResourceManager.readAllBytes(FileSystemResourceManager.java:985)
    	at org.eclipse.core.internal.resources.File.readAllBytes(File.java:381)
    	at org.eclipse.core.internal.localstore.FileSystemResourceManager.descriptionChanged(FileSystemResourceManager.java:468)
    	at org.eclipse.core.internal.localstore.FileSystemResourceManager.internalWrite(FileSystemResourceManager.java:771)
    	at org.eclipse.core.internal.resources.Project.writeDescription(Project.java:1544)
    	at org.eclipse.core.internal.resources.Project.writeDescription(Project.java:1524)
    	at org.eclipse.core.internal.resources.ResourceTree.movedProjectSubtree(ResourceTree.java:764)
    	at org.eclipse.core.internal.resources.ResourceTree.standardMoveProject(ResourceTree.java:1160)
    	at org.eclipse.core.internal.resources.Project.move(Project.java:1091)
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.replaceProject(BasicAliasTest.java:318)
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.lambda$6(BasicAliasTest.java:429)
    	at org.eclipse.core.tests.harness.FileSystemHelper.deleteAfterExecution(FileSystemHelper.java:210)
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837(BasicAliasTest.java:425)
    	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
    	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:786)
    	at org.junit.platform.commons.support.ReflectionSupport.invokeMethod(ReflectionSupport.java:514)
    	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:161)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:152)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:91)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:112)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:94)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:93)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:87)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$4(TestMethodTestDescriptor.java:221)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:217)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:159)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:70)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:157)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:161)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:161)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
    	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
    	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:84)
    	at org.junit.platform.suite.engine.SuiteLauncher.execute(SuiteLauncher.java:65)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.executeTests(SuiteTestDescriptor.java:196)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.execute(SuiteTestDescriptor.java:164)
    	at org.junit.platform.suite.engine.SuiteTestEngine.lambda$execute$0(SuiteTestEngine.java:76)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
    	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
    	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
    	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
    	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
    	at org.junit.platform.suite.engine.SuiteTestEngine.execute(SuiteTestEngine.java:76)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:84)
    	at org.junit.platform.suite.engine.SuiteLauncher.execute(SuiteLauncher.java:65)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.executeTests(SuiteTestDescriptor.java:196)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.execute(SuiteTestDescriptor.java:164)
    	at org.junit.platform.suite.engine.SuiteTestEngine.lambda$execute$0(SuiteTestEngine.java:76)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
    	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
    	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
    	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
    	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
    	at org.junit.platform.suite.engine.SuiteTestEngine.execute(SuiteTestEngine.java:76)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:64)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:150)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:63)
    	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:109)
    	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:91)
    	at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
    	at org.junit.platform.launcher.core.InterceptingLauncher.lambda$execute$1(InterceptingLauncher.java:39)
    	at org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor.intercept(ClasspathAlignmentCheckingLauncherInterceptor.java:25)
    	at org.junit.platform.launcher.core.InterceptingLauncher.execute(InterceptingLauncher.java:38)
    	at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
    	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:66)
    	at org.eclipse.test.EclipseTestRunner.runTests(EclipseTestRunner.java:209)
    	at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:184)
    	at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:53)
    	at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:35)
    	at org.eclipse.test.CoreTestApplication.start(CoreTestApplication.java:44)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
    	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:615)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:563)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1415)
    	at org.eclipse.equinox.launcher.Main.main(Main.java:1387)
    Caused by: java.nio.file.NoSuchFileException: C:\Users\genie.releng\workspace\builds\ep442I-unit-win32-x86_64-java25\tmp\junit-12916987907739292495\.project
    	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
    	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
    	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
    	at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:231)
    	at java.base/java.nio.file.Files.newByteChannel(Files.java:357)
    	at java.base/java.nio.file.Files.newByteChannel(Files.java:399)
    	at java.base/java.nio.file.Files.readAllBytes(Files.java:2973)
    	at org.eclipse.core.internal.filesystem.local.LocalFile.readAllBytes(LocalFile.java:553)
    	... 137 more
    !SUBENTRY 2 org.eclipse.core.filesystem 4 269 2026-10-26 02:18:37.336
    !MESSAGE File not found: C:\Users\genie.releng\workspace\builds\ep442I-unit-win32-x86_64-java25\tmp\junit-12916987907739292495\.project.
    !STACK 0
    java.nio.file.NoSuchFileException: C:\Users\genie.releng\workspace\builds\ep442I-unit-win32-x86_64-java25\tmp\junit-12916987907739292495\.project
    	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
    	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
    	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
    	at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:231)
    	at java.base/java.nio.file.Files.newByteChannel(Files.java:357)
    	at java.base/java.nio.file.Files.newByteChannel(Files.java:399)
    	at java.base/java.nio.file.Files.readAllBytes(Files.java:2973)
    	at org.eclipse.core.internal.filesystem.local.LocalFile.readAllBytes(LocalFile.java:553)
    	at org.eclipse.core.internal.localstore.FileSystemResourceManager.readAllBytes(FileSystemResourceManager.java:985)
    	at org.eclipse.core.internal.resources.File.readAllBytes(File.java:381)
    	at org.eclipse.core.internal.localstore.FileSystemResourceManager.descriptionChanged(FileSystemResourceManager.java:468)
    	at org.eclipse.core.internal.localstore.FileSystemResourceManager.internalWrite(FileSystemResourceManager.java:771)
    	at org.eclipse.core.internal.resources.Project.writeDescription(Project.java:1544)
    	at org.eclipse.core.internal.resources.Project.writeDescription(Project.java:1524)
    	at org.eclipse.core.internal.resources.ResourceTree.movedProjectSubtree(ResourceTree.java:764)
    	at org.eclipse.core.internal.resources.ResourceTree.standardMoveProject(ResourceTree.java:1160)
    	at org.eclipse.core.internal.resources.Project.move(Project.java:1091)
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.replaceProject(BasicAliasTest.java:318)
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.lambda$6(BasicAliasTest.java:429)
    	at org.eclipse.core.tests.harness.FileSystemHelper.deleteAfterExecution(FileSystemHelper.java:210)
    	at org.eclipse.core.tests.internal.alias.BasicAliasTest.testBug256837(BasicAliasTest.java:425)
    	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
    	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:786)
    	at org.junit.platform.commons.support.ReflectionSupport.invokeMethod(ReflectionSupport.java:514)
    	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:161)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:152)
    	at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:91)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:112)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:94)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
    	at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:93)
    	at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:87)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$4(TestMethodTestDescriptor.java:221)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:217)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:159)
    	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:70)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:157)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:161)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
    	at java.base/java.util.ArrayList.forEach(ArrayList.java:1604)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:161)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:147)
    	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:145)
    	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:144)
    	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:101)
    	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
    	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
    	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:84)
    	at org.junit.platform.suite.engine.SuiteLauncher.execute(SuiteLauncher.java:65)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.executeTests(SuiteTestDescriptor.java:196)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.execute(SuiteTestDescriptor.java:164)
    	at org.junit.platform.suite.engine.SuiteTestEngine.lambda$execute$0(SuiteTestEngine.java:76)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
    	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
    	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
    	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
    	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
    	at org.junit.platform.suite.engine.SuiteTestEngine.execute(SuiteTestEngine.java:76)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:84)
    	at org.junit.platform.suite.engine.SuiteLauncher.execute(SuiteLauncher.java:65)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.executeTests(SuiteTestDescriptor.java:196)
    	at org.junit.platform.suite.engine.SuiteTestDescriptor.execute(SuiteTestDescriptor.java:164)
    	at org.junit.platform.suite.engine.SuiteTestEngine.lambda$execute$0(SuiteTestEngine.java:76)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:186)
    	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:214)
    	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
    	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
    	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
    	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:153)
    	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:176)
    	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
    	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:632)
    	at org.junit.platform.suite.engine.SuiteTestEngine.execute(SuiteTestEngine.java:76)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.executeEngine(EngineExecutionOrchestrator.java:230)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.failOrExecuteEngine(EngineExecutionOrchestrator.java:204)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:172)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:101)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:64)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:150)
    	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:63)
    	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:109)
    	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:91)
    	at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
    	at org.junit.platform.launcher.core.InterceptingLauncher.lambda$execute$1(InterceptingLauncher.java:39)
    	at org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor.intercept(ClasspathAlignmentCheckingLauncherInterceptor.java:25)
    	at org.junit.platform.launcher.core.InterceptingLauncher.execute(InterceptingLauncher.java:38)
    	at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
    	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:66)
    	at org.eclipse.test.EclipseTestRunner.runTests(EclipseTestRunner.java:209)
    	at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:184)
    	at org.eclipse.test.CoreTestApplication.runTests(CoreTestApplication.java:53)
    	at org.eclipse.test.CoreTestApplication.run(CoreTestApplication.java:35)
    	at org.eclipse.test.CoreTestApplication.start(CoreTestApplication.java:44)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:219)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:149)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:115)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:467)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:298)
    	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:615)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:563)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1415)
    	at org.eclipse.equinox.launcher.Main.main(Main.java:1387)
    
    !ENTRY org.eclipse.core.tests.resources 1 0 2026-10-26 02:18:37.446
    !MESSAGE [BasicAliasTest.testBug256837] tearDown
    

    With the change mentioned here I can reproduce the fail fairly often: #95 (comment)

    With also this change on top I can no longer reproduce the fail: #3042

    So lets add a wait for auto-refresh to the test and keep this ticket open, until a solution for the race conditions in AliasManager is found. Potentially the test will continue to fail due to these.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions