Code Monkey home page Code Monkey logo

eclipse.platform.resources's Introduction

eclipse.platform.resources's People

Contributors

akurtakov avatar alblue avatar bananeweizen avatar carstenartur avatar ecljpseb0t avatar hanneswell avatar iloveeclipse avatar ingomohr avatar jarthorn avatar jukzi avatar julianjho avatar kitlo avatar laeubi avatar lshanmug avatar martinlippert avatar mbarbero avatar mbooth101 avatar merks avatar mickaelistria avatar mkeller avatar niraj-modi avatar paulweb515 avatar ptziegler avatar sprigogin avatar sravanlakkimsetti avatar sxenos avatar szymonbrandys avatar trancexpress avatar vogella avatar weissreto avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eclipse.platform.resources's Issues

Lot of missed assertions in MarkerTest.testMarkerDeltaAttributes()

Saw per occasion that we actually have lot of test fails, but they aren't properly reported:

https://ci.eclipse.org/platform/job/eclipse.platform.resources/job/PR-9/1/console

This is regression from https://git.eclipse.org/r/c/platform/eclipse.platform.resources/+/190487

!ENTRY org.eclipse.core.tests.resources 1 0 2022-03-28 16:41:55.744
!MESSAGE [testMarkerDeltaAttributes] setUp

!ENTRY org.eclipse.core.resources 4 2 2022-03-28 16:41:55.751
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.AssertionError: Changes different from expecations expected:<{message=Message}> but was:<null>
	at org.junit.Assert.fail(Assert.java:89)
	at org.junit.Assert.failNotEquals(Assert.java:835)
	at org.junit.Assert.assertEquals(Assert.java:120)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.checkDelta(MarkerAttributeChangeListener.java:63)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.resourceChanged(MarkerAttributeChangeListener.java:53)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:381)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1505)
	at org.eclipse.core.internal.resources.Marker.setAttribute(Marker.java:274)
	at org.eclipse.core.tests.resources.MarkerTest.testMarkerDeltaAttributes(MarkerTest.java:1084)
	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.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
	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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:206)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:161)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:84)
	at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:122)
	at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.start(HeadlessTestApplication.java:28)
	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:401)
	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)

!ENTRY org.eclipse.core.resources 4 2 2022-03-28 16:41:55.752
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.AssertionError: Changes different from expecations expected:<{message=NewMessage}> but was:<{message=Message}>
	at org.junit.Assert.fail(Assert.java:89)
	at org.junit.Assert.failNotEquals(Assert.java:835)
	at org.junit.Assert.assertEquals(Assert.java:120)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.checkDelta(MarkerAttributeChangeListener.java:63)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.resourceChanged(MarkerAttributeChangeListener.java:53)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:381)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1505)
	at org.eclipse.core.internal.resources.Marker.setAttribute(Marker.java:274)
	at org.eclipse.core.tests.resources.MarkerTest.testMarkerDeltaAttributes(MarkerTest.java:1089)
	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.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
	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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:206)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:161)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:84)
	at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:122)
	at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.start(HeadlessTestApplication.java:28)
	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:401)
	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)

!ENTRY org.eclipse.core.resources 4 2 2022-03-28 16:41:55.753
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.AssertionError: Changes different from expecations expected:<null> but was:<{message=NewMessage}>
	at org.junit.Assert.fail(Assert.java:89)
	at org.junit.Assert.failNotEquals(Assert.java:835)
	at org.junit.Assert.assertEquals(Assert.java:120)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.checkDelta(MarkerAttributeChangeListener.java:63)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.resourceChanged(MarkerAttributeChangeListener.java:53)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:381)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1505)
	at org.eclipse.core.internal.resources.Marker.setAttribute(Marker.java:274)
	at org.eclipse.core.tests.resources.MarkerTest.testMarkerDeltaAttributes(MarkerTest.java:1094)
	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.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
	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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:206)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:161)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:84)
	at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:122)
	at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.start(HeadlessTestApplication.java:28)
	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:401)
	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)

!ENTRY org.eclipse.core.resources 4 2 2022-03-28 16:41:55.754
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.AssertionError: Changes different from expecations expected:<{charEnd=5, priority=2, message=Hello, done=true}> but was:<{priority=2, message=Hello, done=true}>
	at org.junit.Assert.fail(Assert.java:89)
	at org.junit.Assert.failNotEquals(Assert.java:835)
	at org.junit.Assert.assertEquals(Assert.java:120)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.checkDelta(MarkerAttributeChangeListener.java:63)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.resourceChanged(MarkerAttributeChangeListener.java:53)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:381)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1505)
	at org.eclipse.core.internal.resources.Marker.setAttribute(Marker.java:274)
	at org.eclipse.core.internal.resources.Marker.setAttribute(Marker.java:245)
	at org.eclipse.core.tests.resources.MarkerTest.testMarkerDeltaAttributes(MarkerTest.java:1099)
	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.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
	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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:206)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:161)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:84)
	at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:122)
	at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.start(HeadlessTestApplication.java:28)
	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:401)
	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)

!ENTRY org.eclipse.core.resources 4 2 2022-03-28 16:41:55.756
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.AssertionError: Changes different from expecations expected:<{charStart=5, charEnd=10}> but was:<{charStart=5}>
	at org.junit.Assert.fail(Assert.java:89)
	at org.junit.Assert.failNotEquals(Assert.java:835)
	at org.junit.Assert.assertEquals(Assert.java:120)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.checkDelta(MarkerAttributeChangeListener.java:63)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.resourceChanged(MarkerAttributeChangeListener.java:53)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:381)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1505)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2329)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2335)
	at org.eclipse.core.tests.resources.MarkerTest.testMarkerDeltaAttributes(MarkerTest.java:1104)
	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.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
	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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:206)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:161)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:84)
	at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:122)
	at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.start(HeadlessTestApplication.java:28)
	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:401)
	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)

!ENTRY org.eclipse.core.resources 4 2 2022-03-28 16:41:55.757
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.AssertionError: Changes different from expecations expected:<{charEnd=10}> but was:<{charStart=5, charEnd=10}>
	at org.junit.Assert.fail(Assert.java:89)
	at org.junit.Assert.failNotEquals(Assert.java:835)
	at org.junit.Assert.assertEquals(Assert.java:120)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.checkDelta(MarkerAttributeChangeListener.java:63)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.resourceChanged(MarkerAttributeChangeListener.java:53)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:381)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1505)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2329)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2335)
	at org.eclipse.core.tests.resources.MarkerTest.testMarkerDeltaAttributes(MarkerTest.java:1112)
	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.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
	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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:206)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:161)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:84)
	at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:122)
	at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.start(HeadlessTestApplication.java:28)
	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:401)
	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)

!ENTRY org.eclipse.core.resources 4 2 2022-03-28 16:41:55.759
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.AssertionError: Changes different from expecations expected:<{charStart=5}> but was:<null>
	at org.junit.Assert.fail(Assert.java:89)
	at org.junit.Assert.failNotEquals(Assert.java:835)
	at org.junit.Assert.assertEquals(Assert.java:120)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.checkDelta(MarkerAttributeChangeListener.java:63)
	at org.eclipse.core.tests.resources.MarkerAttributeChangeListener.resourceChanged(MarkerAttributeChangeListener.java:53)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:381)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1505)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2329)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2335)
	at org.eclipse.core.tests.resources.MarkerTest.testMarkerDeltaAttributes(MarkerTest.java:1120)
	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.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
	at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
	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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:206)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:161)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:84)
	at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:122)
	at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.start(HeadlessTestApplication.java:28)
	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:401)
	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)

!ENTRY org.eclipse.core.tests.resources 1 0 2022-03-28 16:41:55.760
!MESSAGE [testMarkerDeltaAttributes] tearDown

Add option to delete a resource without additional check

If I delete via Eclipse I also get the confirmation dialog, while Code offers me the option to not ask again. I would love to see this also in Eclipse.

image

IIRC the functionality span platform and JDT so I hope @jukzi who works in both worlds would be interested in implementing this. If not I most likely will close this issue in a while, no need to have features request lying around.

Bug 247647 - Linked Resources & Nested Projects: Multiple editors for same resources, Multiple local histories, Multiple sets of markers, etc...

Revival of: https://bugs.eclipse.org/bugs/show_bug.cgi?id=247647 please see the Bugzilla for more context

Steps To Reproduce:
If you create a Project which links to a file in another Project, and/or create a nested Project over an existing Project. You can end up > with multiple ways to access the same file through the Project Explorer, Navigator, etc. views.

This is still very relevant (or even more relevant) with at least Eclipse 22.03!

The specific circumstances that brought me here:
Using a file search I get multiple matches in the same "physical" file:

Project layout:
/some gradle root project/.project
/some gradle root project/relative-path/some-java-subproject/.project
/some gradle root project/relative-path/some-java-subproject/src/main/whatever.java

for any search I get 2 matches:
some gradle root project/relative-path/some-java-subproject/src/main/whatever.java (this one is very bad)
and
some-java-subproject/src/main/whatever.java (this is the only valid one)

Opening the wrong match may have surprising unintuitive consequences:
The editor may not function properly because the enclosing project is wrong or lacks a neccesary nature.
-> in my case even worse: Eclipse (or the language plugin) added the nature to the "some gradle root project" project and thus corrupted the project "permanently".

Is there ever a valid reason to show resources in any project other than the one with the shortest relative path (more specific project)?

A few things of note (IMO):

  • even if the more specific project is closed, eclipse must hide the resource: I closed the project after all!
  • Lots of maven projects seem to use a parent pom/project approach - most often the sub projects/modules are nested within the parent project (on disk)
  • every Gradle project has it's sub projects nested within the root project and therefore is affected by this issue
  • every action tht may open files presents an opportunity for the user to get the wrong file opened and thus experience reduced IDE functionality or bugs.

ContentDescriptionManager access ResourcesPlugin.getWorkspace in the init phase

java.lang.IllegalStateException: Workspace is already closed or not ready yet. Consider tracking the org.eclipse.core.resources.IWorkspace service (using your favorite technique, e.g. Declarative Services, ServiceTracker, Blueprint, ...) instead of calling the static method here to prevent such issues!
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:421)
	at org.eclipse.core.resources.WorkspaceJob.<init>(WorkspaceJob.java:68)
	at org.eclipse.core.internal.resources.ContentDescriptionManager$FlushJob.<init>(ContentDescriptionManager.java:53)
	at org.eclipse.core.internal.resources.ContentDescriptionManager.startup(ContentDescriptionManager.java:535)
	at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2548)
	at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2247)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:482)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:1)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:185)
	at org.eclipse.osgi.internal.location.BasicLocation.updateUrl(BasicLocation.java:178)
	at org.eclipse.osgi.internal.location.BasicLocation.set(BasicLocation.java:169)
	at org.eclipse.osgi.internal.location.BasicLocation.set(BasicLocation.java:130)
	at org.eclipse.ui.internal.ide.application.IDEApplication.checkInstanceLocation(IDEApplication.java:313)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:142)
	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)

RefreshJob should be cancelled earlier on shutdown

As of today, RefreshJob was cancelled too late during workspace shutdown, so it was allowed to be run in parallel to workspace save, and it was also possible to schedule it again even after RefreshManager.shutdown(IProgressMonitor) was called.

This is not OK, and resulted in such errors like eclipse-platform/eclipse.platform.runtime#50.

Ideally, we should cancel and disable RefreshJob from scheduling if stop() was called.

Error log on shutdown without stack: "Workspace was not properly initialized or has already shutdown"

After fixing UILockListener via eclipse-platform/eclipse.platform.ui#56 I see now two other errors appearing in the error log if I shutdown Eclipse with a refresh job running.

One of the errors is from resources plugin and has no stack trace. That must be added to understand the issue.

eclipse.buildId=4.24.0.I20220505-1800
org.eclipse.core.resources
Error
Fri May 06 11:42:02 CEST 2022
Workspace was not properly initialized or has already shutdown.

I plan to push a patch.

Unable to push to the forked repo

I get this error now trying to push a branch to my forked github repo:

Repository https://github.com/iloveeclipse/eclipse.platform.resources

refusing to allow a Personal Access Token to create or update workflow `.github/workflows/maven.yml` without `workflow` scope

This seem to happen after #18 (or one of the following changes).

Looks like everyone now has to regenerate the PA token?
https://stackoverflow.com/questions/68811838/refusing-to-allow-a-personal-access-token-to-create-or-update-workflow

Direct link is https://github.com/settings/tokens

random failing RelaxedSchedRuleBuilderTest.testBuilderDeltaUsingRelaxedRuleBug343256

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

Error observed: junit.framework.AssertionFailedError: 1.2: /testBuildDeltaUsingRelaxedRuleBug343256[~]: {} expected:<1> but was:<0>

junit.framework.AssertionFailedError: Error observed: junit.framework.AssertionFailedError: 1.2:
/testBuildDeltaUsingRelaxedRuleBug343256[~]: {} expected:<1> but was:<0>
at org.eclipse.core.tests.harness.CoreTest.fail(CoreTest.java:74)
at org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest.testBuilderDeltaUsingRelaxedRuleBug343256(RelaxedSchedRuleBuilderTest.java:349)
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)
Caused by: junit.framework.AssertionFailedError: 1.2:
/testBuildDeltaUsingRelaxedRuleBug343256[~]: {} expected:<1> but was:<0>
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.failNotEquals(Assert.java:329)
at junit.framework.Assert.assertEquals(Assert.java:78)
at junit.framework.Assert.assertEquals(Assert.java:234)
at junit.framework.TestCase.assertEquals(TestCase.java:377)
at org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest$6.build(RelaxedSchedRuleBuilderTest.java:300)
at org.eclipse.core.tests.internal.builders.TestBuilder.build(TestBuilder.java:116)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1024)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:254)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:311)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:400)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:403)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:514)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:462)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:544)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:522)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:418)
at org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest$7.run(RelaxedSchedRuleBuilderTest.java:314)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
```Error observed: junit.framework.AssertionFailedError: 1.2: /testBuildDeltaUsingRelaxedRuleBug343256[~]: {} expected:<1> but was:<0>

junit.framework.AssertionFailedError: Error observed: junit.framework.AssertionFailedError: 1.2:
/testBuildDeltaUsingRelaxedRuleBug343256[~]: {} expected:<1> but was:<0>
at org.eclipse.core.tests.harness.CoreTest.fail(CoreTest.java:74)
at org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest.testBuilderDeltaUsingRelaxedRuleBug343256(RelaxedSchedRuleBuilderTest.java:349)
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)
Caused by: junit.framework.AssertionFailedError: 1.2:
/testBuildDeltaUsingRelaxedRuleBug343256[~]: {} expected:<1> but was:<0>
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.failNotEquals(Assert.java:329)
at junit.framework.Assert.assertEquals(Assert.java:78)
at junit.framework.Assert.assertEquals(Assert.java:234)
at junit.framework.TestCase.assertEquals(TestCase.java:377)
at org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest$6.build(RelaxedSchedRuleBuilderTest.java:300)
at org.eclipse.core.tests.internal.builders.TestBuilder.build(TestBuilder.java:116)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1024)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:254)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:311)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:400)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:403)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:514)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:462)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:544)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:522)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:418)
at org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest$7.run(RelaxedSchedRuleBuilderTest.java:314)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Make ResourcesPlugin more dynamic and better handling early start-up

Currently ResourcesPlugin is very sensible in respect to be started "too early", and badly fails then.

One path is show in this stack-trace:

Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:834)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:762)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1032)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:371)
	at org.eclipse.osgi.container.Module.doStart(Module.java:605)
	at org.eclipse.osgi.container.Module.start(Module.java:468)
	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:513)
	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:117)
	... 94 more
Caused by: java.lang.NullPointerException
	at org.eclipse.core.internal.runtime.InternalPlatform.getLocation(InternalPlatform.java:347)
	at org.eclipse.core.runtime.Platform.getLocation(Platform.java:766)
	at org.eclipse.core.internal.resources.WorkspaceRoot.<init>(WorkspaceRoot.java:42)
	at org.eclipse.core.internal.resources.Workspace.<init>(Workspace.java:105)
	at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:474)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:813)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:805)

The reason for this is, that it uses a static access to other resources, that are not present at that time (e.g. the Workspace-Chooser dialog is open). OSGi encourages to use services instead of static singletons because of the following advantages:

  1. One can wait for a service and get notified when its gone
  2. If handled properly there is no risk in using stale or uninitialized objects
  3. There is no start-order dependency and a service based approach generally behaves more responsive e.g. a component waiting for the database services does not blocks one that has no need for a database, while in a traditional setup one has to wait until the "setup-phase" has started the database as no one knows when the static method will be called.
  4. It is much easier e.g. using DS to get know what a bundle/component requires to function properly
  5. Testing is improved, as one can simply mock that service and there is no need to get headaches about how to get all that singletons to the right state and how to avoid one test is changing state of another one.

Possible regression due to 550548 changes from Activator to FilesSystemAccess in UnixFileNatives

IBM product Enterprise Workflow Management (EWM), formerly known as Rational Team Concert (RTC) has various components based on Eclipse. The focus of this issue is on what is known as the EWM Build Toolkit that supports compilation of SCM source files on a given target platform (for example, compiling z/OS source code on z/OS or AIX source code on AIX).

The current EWM release in the field is based on Eclipse 4.6. The team is investigating moving up to later Eclipse.

When testing with 4.15 on z/OS in this EWM Build Toolkit context, we see :
_* /u/builder/jan7/rtcEnterpriseBuild.xml:71: java.lang.ExceptionInInitializerError

at java.lang.J9VMInternals.ensureError(J9VMInternals.java:145)
at java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:134)
at org.eclipse.core.internal.filesystem.local.unix.UnixFileNatives.isLibraryPresent(UnixFileNatives.java:57)
at org.eclipse.core.internal.filesystem.local.unix.UnixFileNatives.(UnixFileNatives.java:47)_

We have found through experimentation that replacing the 4.15 org.eclipse.core.filesystem plugin with 4.6 (and no z/OS specific plugin) seems to workaround the problem.
We know there are specific code changes in UnixFileNatives.java between these levels.

It was suggested that this change could be causing the problem :
Bug 550548 - Remove activator from org.eclipse.core.filesystem
where
Activator.findEntries("/", libName, true);
is changed to
FileSystemAccess.findEntries("/", libName, true);_

random failing org.eclipse.core.tests.resources.IProjectTest.testProjectDeletionOpenDefaultOutOfSync

https://download.eclipse.org/eclipse/downloads/drops4/I20220506-0640/testresults/html/org.eclipse.core.tests.resources_ep424I-unit-cen64-gtk3-java17_linux.gtk.x86_64_17.html

junit.framework.AssertionFailedError: 6.2
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.TestCase.fail(TestCase.java:223)
at org.eclipse.core.tests.resources.IProjectTest.testProjectDeletionOpenDefaultOutOfSync(IProjectTest.java:2127)

ProjectPreferencesTest fails on Windows

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

The new test for bug 579372 was working on all systems that have default encoding UTF-8. Windows tests run with Cp1252 for whatever reason.

expected:<UTF-8> but was:<Cp1252>

junit.framework.AssertionFailedError: expected:<UTF-8> but was:<Cp1252>
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.failNotEquals(Assert.java:329)
at junit.framework.Assert.assertEquals(Assert.java:78)
at junit.framework.Assert.assertEquals(Assert.java:86)
at junit.framework.TestCase.assertEquals(TestCase.java:246)
at org.eclipse.core.tests.internal.resources.ProjectPreferencesTest.test_579372(ProjectPreferencesTest.java:718)

SaveManager.restoreMetaInfo access the ResourcesPlugin.getWorkspace before it is opened.

java.lang.IllegalStateException: Workspace is already closed or not ready yet. Consider tracking the org.eclipse.core.resources.IWorkspace service (using your favorite technique, e.g. Declarative Services, ServiceTracker, Blueprint, ...) instead of calling the static method here to prevent such issues!
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:423)
	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endProjectsElement(ProjectDescriptionReader.java:824)
	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endElement(ProjectDescriptionReader.java:309)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1718)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2883)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324)
	at org.eclipse.core.internal.resources.ProjectDescriptionReader.read(ProjectDescriptionReader.java:940)
	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:897)
	at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:892)
	at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:872)
	at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:728)
	at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1579)
	at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2536)
	at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2241)

random failing org.eclipse.core.tests.resources.regression.IResourceTest testCopy_1GA6QJP

2.0 expected:<1649823792147> but was:<1649823792000>

junit.framework.AssertionFailedError: 2.0 expected:<1649823792147> but was:<1649823792000>
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.failNotEquals(Assert.java:329)
at junit.framework.Assert.assertEquals(Assert.java:78)
at junit.framework.Assert.assertEquals(Assert.java:159)
at junit.framework.TestCase.assertEquals(TestCase.java:302)
at org.eclipse.core.tests.resources.regression.IResourceTest.testCopy_1GA6QJP(IResourceTest.java:271)

https://download.eclipse.org/eclipse/downloads/drops4/I20220412-1800/testresults/html/org.eclipse.core.tests.resources_ep424I-unit-mac64-java17_macosx.cocoa.x86_64_17.html

Default (implicit) workspace encoding becomes UTF-8 when running Eclipse on Java 18

When running Eclipse 4.24 with Java 18 (tested with JustJ 18.0.1 and Temurin-18.0.1+10 on Windows 10), the encoding of a workspace that was created with Eclipse 4.23 (with the default encoding Cp1252) becomes UTF-8. The same does not happen when running Eclipse 4.24 with Java 17.

Steps to reproduce:

  1. With Eclipse IDE for Java Developers 2022-03:
    1. Create a new workspace
      โ†’ preferences General > Workspace: Text file encoding: Default (Cp1252)
    2. Inside the new workspace create a new project Hello Wรถrld
      โ†’ Project > Properties: Resource: Text file encoding: Inherited from container (Cp1252)
    3. Inside the new project create a new class ร„pp
      โ†’ right-click ร„pp.java: Properties: Resource: Text file encoding: Default (inherited from container: Cp1252)
  2. Open the workspace with Eclipse IDE for Java Developers 2022-06 with an installed JustJ Adoptium OpenJDK Hotspot JRE Complete 18.0.1:
    โ†’ preferences General > Workspace: Text file encoding: Default (UTF-8)
    โ†’ Project > Properties: Resource: Text file encoding: Inherited from container (UTF-8)
    โ†’ right-click ร„pp.java: Properties: Resource: Text file encoding: Default (inherited from container: UTF-8)
    โ†’ "Project 'Hello Wรถrld' has no explicit encoding set" warning
    โ†’ "Syntax error on token "Invalid Character", delete this token" error in ร„pp.java for the first character of the class name

See also eclipse-platform/eclipse.platform#86

AutoBuildOffJob.run() should check if workbench is shutting down

When running tests in the product I work on, on shutdown I see exceptions such as:

!ENTRY org.eclipse.core.resources 4 566 2022-08-01 09:48:40.185
!MESSAGE Workspace was not properly initialized or has already shutdown.
!STACK 0
java.lang.Exception: Workspace was not properly initialized or has already shutdown.
	at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:42)
	at org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:38)
	at org.eclipse.core.internal.resources.Workspace.getWorkManager(Workspace.java:1817)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1481)
	at org.eclipse.core.internal.events.AutoBuildJob$AutoBuildOffJob.run(AutoBuildJob.java:333)

org.eclipse.core.internal.events.AutoBuildJob.run(IProgressMonitor) already has this code:

		//if the system is shutting down, don't build
		if (systemBundle.getState() == Bundle.STOPPING)
			return Status.OK_STATUS;

We should add the same code to the "off" job.

Test TestBug316182.test02_startWorkspace() access the workspace while init

The test extends RefreshProvider#installMonitor but instead of accessing the workspace via the provided resource it calls the static method that interferes with the startup of the workspace leading to:

java.lang.IllegalStateException: Workspace is already closed or not ready yet. Consider tracking the org.eclipse.core.resources.IWorkspace service (using your favorite technique, e.g. Declarative Services, ServiceTracker, Blueprint, ...) instead of calling the static method here to prevent such issues!
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:423)
	at org.eclipse.core.tests.resources.refresh.Bug316182RefreshProvider.installMonitor(Bug316182RefreshProvider.java:27)
	at org.eclipse.core.resources.refresh.RefreshProvider.installMonitor(RefreshProvider.java:92)
	at org.eclipse.core.internal.refresh.MonitorManager.safeInstallMonitor(MonitorManager.java:261)
	at org.eclipse.core.internal.refresh.MonitorManager.monitor(MonitorManager.java:154)
	at org.eclipse.core.internal.refresh.MonitorManager.start(MonitorManager.java:279)
	at org.eclipse.core.internal.refresh.RefreshManager.manageAutoRefresh(RefreshManager.java:60)
	at org.eclipse.core.internal.refresh.RefreshManager.startup(RefreshManager.java:131)

Cyclic dependency between ProjectPreferences and Workspace init

Open the workspace has a cyclic dependency to the ProjectPreferences:

at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:427)
	at org.eclipse.core.internal.resources.ProjectPreferences.<init>(ProjectPreferences.java:377)
	at org.eclipse.core.internal.resources.ProjectPreferences.internalCreate(ProjectPreferences.java:489)
	at org.eclipse.core.internal.preferences.EclipsePreferences.create(EclipsePreferences.java:350)
	at org.eclipse.core.internal.preferences.EclipsePreferences.internalNode(EclipsePreferences.java:620)
	at org.eclipse.core.internal.preferences.EclipsePreferences.node(EclipsePreferences.java:759)
	at org.eclipse.core.internal.preferences.PreferencesService$5.run(PreferencesService.java:620)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.preferences.PreferencesService.getNodes(PreferencesService.java:600)
	at org.eclipse.core.internal.preferences.PreferencesService.getString(PreferencesService.java:686)
	at org.eclipse.core.internal.resources.Workspace.setExplicitWorkspaceEncoding(Workspace.java:2280)
	at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2240)

CharsetManager might early access the ResourcesPlugin.getWorkspace

This is now revealed, there is an explicit test for this, this might be related to eclipse-platform/eclipse.platform#92 and is another cycle to ProjectPreferences where CharsetManager.isDerivedEncodingStoredSeparately converts the project to a string just for ProjectPreferences.nodeExists to lookup the project by name ...

Caused by: java.lang.IllegalStateException: Workspace is already closed or not ready yet. Consider tracking the org.eclipse.core.resources.IWorkspace service (using your favorite technique, e.g. Declarative Services, ServiceTracker, Blueprint, ...) instead of calling the static method here to prevent such issues!
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:423)
	at org.eclipse.core.internal.resources.ProjectPreferences.nodeExists(ProjectPreferences.java:624)
	at org.eclipse.core.internal.resources.CharsetManager.isDerivedEncodingStoredSeparately(CharsetManager.java:371)
	at org.eclipse.core.internal.resources.CharsetManager.getPreferences(CharsetManager.java:303)
	at org.eclipse.core.internal.resources.CharsetManager.getCharsetFor(CharsetManager.java:287)
	at org.eclipse.core.internal.resources.Project.getDefaultCharset(Project.java:388)
	at org.eclipse.core.internal.resources.Container.getDefaultCharset(Container.java:294)
	at org.eclipse.core.tests.resources.refresh.Bug316182RefreshProvider.installMonitor(Bug316182RefreshProvider.java:31)
	at org.eclipse.core.resources.refresh.RefreshProvider.installMonitor(RefreshProvider.java:92)
	at org.eclipse.core.internal.refresh.MonitorManager.safeInstallMonitor(MonitorManager.java:261)
	at org.eclipse.core.internal.refresh.MonitorManager.monitor(MonitorManager.java:154)
	at org.eclipse.core.internal.refresh.MonitorManager.start(MonitorManager.java:279)
	at org.eclipse.core.internal.refresh.RefreshManager.manageAutoRefresh(RefreshManager.java:60)
	at org.eclipse.core.internal.refresh.RefreshManager.startup(RefreshManager.java:131)
	at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2547)
	at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2241)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:488)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:1)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
	at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:321)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:264)
	at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:466)

Getting NPE while accessing the Eclipse File System (EFS) from the custom ant task.

We are having one functionality in our project in which we are having plugin in which custom ant tasks are implemented and those are consuming filesystem functionality (i.e EFS) from eclipse (i.e. org.eclipse.core.filesystem). These all was working fine when we were consuming the org.eclipse.core.filesystem_1.4.100.v20140514-1614.jar plugin.

Now, we started to upgrade the EFS filesystem dependency to org.eclipse.core.filesystem_1.7.700.v20200110-1734.jar plugin and it started to fail with below exception. This issue started to came after the fix of Bug 550548- Remove activator from org.eclipse.core.filesystem

Exception we are getting on execution of custom ant task which consuming EFS


C:\work\example\custom-ant-demo\build.xml:11: java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.ensureError(J9VMInternals.java:148)
at java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:137)
at org.eclipse.core.internal.filesystem.local.unix.UnixFileNatives.isLibraryPresent(UnixFileNatives.java:57)
at org.eclipse.core.internal.filesystem.local.unix.UnixFileNatives.(UnixFileNatives.java:47)
at org.eclipse.core.internal.filesystem.local.LocalFileNativesManager.(LocalFileNativesManager.java:42)
at org.eclipse.core.internal.filesystem.local.LocalFile.fetchInfo(LocalFile.java:162)
at org.eclipse.core.filesystem.provider.FileStore.fetchInfo(FileStore.java:260)
at com.custom.ant.example.GetFileAttributeTask.execute(GetFileAttributeTask.java:44)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.Main.runBuild(Main.java:851)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.NullPointerException
at org.eclipse.core.internal.filesystem.FileSystemAccess.(FileSystemAccess.java:32)
... 23 more

Sample Project to reproduce the bug


We have created sample plugin (i.e. com.custom.ant.example) and uploaded with name com.custom.ant.example.zip. In this plugin, we have created GetFileAttributeTask.java custom task, In this task we are accepting the file with absolute path with the filePath attribute and by using that file path we are fetching the attributes of the file by using EFS. We have also attached the sample build.xml (i.e. build.zip) which is consuming this custom ant task (i.e. GetFileAttributeTask).

Please find below more details on how we are executing the ant task.

Command for custom ant execution


java -classpath <PATH_UPTO_ANT_LAUNCHER_JAR>\ant-launcher.jar org.apache.tools.ant.launch.Launcher -f <PATH_UPTO_BUILD_XML>\build.xml -lib <PATH_UPTO_PLUGIN_DEPENDENCY>

where
PATH_UPTO_ANT_LAUNCHER_JAR = directory upto the ant-launcher.jar.
PATH_UPTO_BUILD_XML = directory upto the build.xml. Here, build.xml is the file which is consuming the custom task created in our plugin
PATH_UPTO_PLUGIN_DEPENDENCY = this is the path upto the directory where all the dependent plugin present which are require to execute this custom ant task including the custom plugin. (i.e. com.custom.ant.example)

Below are the dependent plugin require to execute custom ant example


  1. com.custom.ant.example.jar
  2. org.eclipse.core.filesystem_1.7.700.v20200110-1734.jar
  3. org.eclipse.core.runtime_3.18.0.v20200506-2143.jar
  4. org.eclipse.equinox.common_3.12.0.v20200504-1602.jar
  5. org.eclipse.equinox.registry_3.8.800.v20200406-0956.jar
  6. org.eclipse.osgi_3.15.300.v20200520-1959.jar

Ouput of the above command if we use org.eclipse.core.filesystem_1.4.100.v20140514-1614.jar. Here everything works fine.


Buildfile: C:\work\example\custom-ant-demo\build.xml

all:
[customanttask] Hello, in the world of custom ant task!
[getfileattribute] filename : test.txt
[getfileattribute] Is Filename Executable : false
[getfileattribute] Is Filename Read Only : true
[getfileattribute] Is Filename Hidden : false

BUILD SUCCESSFUL
Total time: 0 seconds

Ouput of the above command if we use org.eclipse.core.filesystem_1.7.700.v20200110-1734.jar


Buildfile: C:\work\example\custom-ant-demo\build.xml

all:
[customanttask] Hello, in the world of custom ant task!

BUILD FAILED
C:\work\example\custom-ant-demo\build.xml:11: java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.ensureError(J9VMInternals.java:148)
at java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:137)
at org.eclipse.core.internal.filesystem.local.unix.UnixFileNatives.isLibraryPresent(UnixFileNatives.java:57)
at org.eclipse.core.internal.filesystem.local.unix.UnixFileNatives.(UnixFileNatives.java:47)
at org.eclipse.core.internal.filesystem.local.LocalFileNativesManager.(LocalFileNativesManager.java:42)
at org.eclipse.core.internal.filesystem.local.LocalFile.fetchInfo(LocalFile.java:162)
at org.eclipse.core.filesystem.provider.FileStore.fetchInfo(FileStore.java:260)
at com.custom.ant.example.GetFileAttributeTask.execute(GetFileAttributeTask.java:44)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:508)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
at org.apache.tools.ant.Main.runBuild(Main.java:851)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.NullPointerException
at org.eclipse.core.internal.filesystem.FileSystemAccess.(FileSystemAccess.java:32)
... 23 more

Total time: 0 seconds

Inconsitent listener registration in ResourcesPlugin

In the start method, the listener is registered here PI_RESOURCES:

InstanceScope.INSTANCE.getNode(PI_RESOURCES).addPreferenceChangeListener(checkMissingNaturesListener);

but on stop unregistered here with PREF_MISSING_NATURE_MARKER_SEVERITY:

InstanceScope.INSTANCE.getNode(PREF_MISSING_NATURE_MARKER_SEVERITY).removePreferenceChangeListener(checkMissingNaturesListener);

the later seems wrong here as this is a preference but not a node.

Better support for read operations on out-of-date resources

We have a project with a custom builder (Xtext based) that has many many files (10k-100k range)
reading this files in the builder thread is quite slow (io bottleneck)
if the file is in sync, then reading on other threads work fine
thus we currently use this pattern

reader thread: if (file.isSychronized) readFile, put result to queue, else put "cannot read result" to queue.
workspace lock holding thread: pull from queue, if "cannot read result", refresh and read here.

this works fine most of the time
but if the file gets modified exaclty between the
file.isSychronized call and the read file call
the reader thread will block until the build is does.

we bypass this by on the builder thread poll the queue with timeout, and if there is a timeout, we will stop.
thus the block gets resolved

it would be nice if there were better ways of achieving this, e.g.
having a file.getContentsWorkspaceLockSafe, that will return null or throw an exception, so that we can work with that.

CharsetManager access the ResourcesPlugin.getWorkspace before init

Caused by: java.lang.IllegalStateException: Workspace is already closed or not ready yet. Consider tracking the org.eclipse.core.resources.IWorkspace service (using your favorite technique, e.g. Declarative Services, ServiceTracker, Blueprint, ...) instead of calling the static method here to prevent such issues!
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:421)
	at org.eclipse.core.internal.resources.ValidateProjectEncoding.getWorkspaceRoot(ValidateProjectEncoding.java:175)
	at org.eclipse.core.internal.resources.ValidateProjectEncoding.scheduleWorkspaceValidation(ValidateProjectEncoding.java:33)
	at org.eclipse.core.internal.resources.CharsetManager.startup(CharsetManager.java:510)
	at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2546)
	at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2247)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:482)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:1)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
	at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:321)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:264)
	at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:462)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:818)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:810)
	... 109 more

RefreshManager access ResourcesPlugin.getWorkspace in the init phase

java.lang.IllegalStateException: Workspace is already closed or not ready yet. Consider tracking the org.eclipse.core.resources.IWorkspace service (using your favorite technique, e.g. Declarative Services, ServiceTracker, Blueprint, ...) instead of calling the static method here to prevent such issues!
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:421)
	at org.eclipse.core.resources.WorkspaceJob.<init>(WorkspaceJob.java:68)
	at org.eclipse.core.internal.refresh.RefreshJob.<init>(RefreshJob.java:91)
	at org.eclipse.core.internal.refresh.RefreshJob.<init>(RefreshJob.java:83)
	at org.eclipse.core.internal.refresh.RefreshManager.startup(RefreshManager.java:118)
	at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2553)
	at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2247)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:482)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:1)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.setProperties(ServiceRegistrationImpl.java:185)
	at org.eclipse.osgi.internal.location.BasicLocation.updateUrl(BasicLocation.java:178)
	at org.eclipse.osgi.internal.location.BasicLocation.set(BasicLocation.java:169)
	at org.eclipse.osgi.internal.location.BasicLocation.set(BasicLocation.java:130)
	at org.eclipse.ui.internal.ide.application.IDEApplication.checkInstanceLocation(IDEApplication.java:313)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:142)
	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)

Allow declarative registration of save participants

Currently one needs to fetch the workspace and then register a save participant. This could better be handled with a whiteboard pattern like service approach to make it easier to not using static singletons.

RefreshJob doesn't use rule to refresh

Follow up on eclipse-platform/eclipse.platform.ui#56.

I observe that if the RefreshJob is running during shutdown, it doesn't block Workspace.save(boolean, boolean, IProgressMonitor) task that is triggered on workspace close and that allows org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.disconnectFromWorkspace() to complete even if RefreshJob is middle in some refresh code.

Results in two errors in the log:

java.lang.Exception: Workspace was not properly initialized or has already shutdown.
	at org.eclipse.core.internal.resources.ResourceException.provideStackTrace(ResourceException.java:42)
	at org.eclipse.core.internal.resources.ResourceException.<init>(ResourceException.java:38)
	at org.eclipse.core.internal.resources.Workspace.getWorkManager(Workspace.java:1815)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:48)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
java.lang.IllegalStateException: Worker thread ended job: Refreshing workspace(12), but still holds rule: ThreadJob(Refreshing workspace(12),[F/WIP/tralala])
	at org.eclipse.core.internal.jobs.ImplicitJobs.endJob(ImplicitJobs.java:139)
	at org.eclipse.core.internal.jobs.WorkerPool.endJob(WorkerPool.java:119)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:83)

Originally, RefreshJob had a workspace root rule, that was removed via https://bugs.eclipse.org/bugs/show_bug.cgi?id=74392.

I think we can partly restore the locking behavior and use Job.getJobManager().beginRule(refreshRule, subMonitor); for the RefreshJob tasks. Doing so, I see that workspace save waits for refresh job and on shutdown it opens expected dialog that shows refresh job running (and can be cancelled):
image

ContentDescriptionManager.FlushJob could be improved

Observed in our product: if one re-creates some project (via delete/create sequence), it triggers cache update of the ContentDescriptionManager for this project. This is not a bug, but the project cache is cleaned/refreshed two times because ContentDescriptionManager.FlushJob.toFlush is a list, not a set, so every time a project is recreated (or anything else is touched, it will happily add the path even if it is already there).

The job is scheduled with 1 second delay, so unlikely this affects real word cases, but I assume this could affect SDK tests a lot, doing same work twice isn't surely good for the runtime.

I will push a patch.

Add Preference to Turn Off Warning-Check for Project Specific Encoding

Eclipse 2022-06 introduced a check that produces a warning "No explicit project encoding" when a project has no explicit encoding set.

Although this imho is a good idea in general, it should be possible to turn the check off.

Motivation:
We have hundreds of projects that all take-over the encoding from the workspace preferences (which is configured automatically via Oomph). We want to be free to decide whether or not we add the encoding also to each of the project.

testBuilderDeltaUsingRelaxedRuleBug343256 fails randomly

See

I can see it locally failing every ~10 time.

  org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest 
| testBuilderDeltaUsingRelaxedRuleBug343256 | Failure | 

Error observed: junit.framework.AssertionFailedError: 1.2. expected:<1> but was:<0>junit.framework.AssertionFailedError: Error observed: junit.framework.AssertionFailedError: 1.2. expected:<1> but was:<0>
at org.eclipse.core.tests.harness.CoreTest.fail(CoreTest.java:74)
at o rg.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest.testBuilderDeltaUsingRelaxedRuleBug343256(RelaxedSchedRuleBuilderTest.java:341)

Output from Jenkins:

!ENTRY org.eclipse.core.tests.resources 1 0 2022-03-29 12:44:47.936
!MESSAGE [testBuilderDeltaUsingRelaxedRuleBug343256] setUp

!ENTRY org.eclipse.core.tests.resources 4 0 2022-03-29 12:44:48.951
!MESSAGE [testBuilderDeltaUsingRelaxedRuleBug343256] Some job is still running or waiting to run: 'Building'/org.eclipse.core.internal.events.AutoBuildJob, 'IProject.build()'/org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest$7

!ENTRY org.eclipse.core.resources 4 2 2022-03-29 12:44:49.057
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
junit.framework.AssertionFailedError: 1.2. expected:<1> but was:<0>
	at junit.framework.Assert.fail(Assert.java:57)
	at junit.framework.Assert.failNotEquals(Assert.java:329)
	at junit.framework.Assert.assertEquals(Assert.java:78)
	at junit.framework.Assert.assertEquals(Assert.java:234)
	at junit.framework.TestCase.assertEquals(TestCase.java:377)
	at org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest$6.build(RelaxedSchedRuleBuilderTest.java:293)
	at org.eclipse.core.tests.internal.builders.TestBuilder.build(TestBuilder.java:116)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:988)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:253)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:310)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:399)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:402)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:513)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:461)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:543)
	at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:517)
	at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:413)
	at org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest$7.run(RelaxedSchedRuleBuilderTest.java:306)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

!ENTRY org.eclipse.core.jobs 4 2 2022-03-29 12:44:49.059
!MESSAGE An internal error occurred during: "IProject.build()".
!STACK 0
junit.framework.AssertionFailedError
	at junit.framework.Assert.fail(Assert.java:55)
	at junit.framework.Assert.fail(Assert.java:64)
	at junit.framework.TestCase.fail(TestCase.java:230)
	at org.eclipse.core.tests.internal.builders.RelaxedSchedRuleBuilderTest$7.run(RelaxedSchedRuleBuilderTest.java:315)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

!ENTRY org.eclipse.core.tests.resources 1 0 2022-03-29 12:44:50.106
!MESSAGE [testBuilderDeltaUsingRelaxedRuleBug343256] tearDown

SaveManager access the ResourcesPlugin.getWorkspace at init phase

Caused by: java.lang.IllegalStateException: Workspace is already closed or not ready yet. Consider tracking the org.eclipse.core.resources.IWorkspace service (using your favorite technique, e.g. Declarative Services, ServiceTracker, Blueprint, ...) instead of calling the static method here to prevent such issues!
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:421)
	at org.eclipse.core.internal.resources.DelayedSnapshotJob.<init>(DelayedSnapshotJob.java:34)
	at org.eclipse.core.internal.resources.SaveManager.<init>(SaveManager.java:143)
	at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2540)
	at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2246)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:482)
	at org.eclipse.core.resources.ResourcesPlugin$WorkspaceInitCustomizer.addingService(ResourcesPlugin.java:1)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
	at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:321)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:264)
	at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:462)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:818)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$2.run(BundleContextImpl.java:1)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:810)
	... 109 more

RefreshManager.manageAutoRefresh calls ResourcesPlugin.getWorkspace before the Workspace is fully open

Just another one...

java.lang.IllegalStateException: Workspace is already closed or not ready yet. Consider tracking the org.eclipse.core.resources.IWorkspace service (using your favorite technique, e.g. Declarative Services, ServiceTracker, Blueprint, ...) instead of calling the static method here to prevent such issues!
	at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:423)
	at org.eclipse.core.internal.refresh.PollingMonitor.runOnce(PollingMonitor.java:173)
	at org.eclipse.core.internal.refresh.MonitorManager.start(MonitorManager.java:291)
	at org.eclipse.core.internal.refresh.RefreshManager.manageAutoRefresh(RefreshManager.java:59)
	at org.eclipse.core.internal.refresh.RefreshManager.startup(RefreshManager.java:125)
	at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2547)
	at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2241)

Remove "old" workspace support

While reviewing #87 I've stumbled over very old code in org.eclipse.core.internal.resources.WorkspaceDescriptionReader that was committed 2003 and seem to be there to support old (pre-2.1?) workspaces. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=32235

I assume we don't need to keep that compatibility anymore, because migrating 2.0 workspaces to 4.x is probably nothing we want support.

Compiler markers in text editor not updated

In Eclipse SDK
Version: 2022-06 (4.24)
Build id: I20220324-1800
OS: Linux, v.5.13.0-37-generic, x86_64 / gtk 3.24.30, WebKit 2.34.6
Java vendor: Eclipse Adoptium
Java runtime version: 17.0.1+12
Java version: 17.0.1

the error markers in the text editor are not updated automatically. I have to clean the project to update the editor. Maybe a follow-up issue of https://git.eclipse.org/r/c/platform/eclipse.platform.resources/+/190487?

Example:

Implement an interface, delete the interface, wait for compiler to show errors, use Staging view to restore file -> errors still in the editor

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.