Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

org.eclipse.pde.api.tools.builder.tests.compatibility.BundleVersionTests "the baseline 'workspace' is disposed" #553

Closed
laeubi opened this issue Apr 1, 2023 · 7 comments · Fixed by #788
Labels
help wanted Extra attention is needed

Comments

@laeubi
Copy link
Contributor

laeubi commented Apr 1, 2023

Sometimes the test fails with

Component 'exportedBundle Plug-in' in the baseline 'workspace' is disposed
org.eclipse.core.runtime.CoreException: Component 'exportedBundle Plug-in' in the baseline 'workspace' is disposed
	at org.eclipse.pde.api.tools.internal.model.BundleComponent.baselineDisposed(BundleComponent.java:1259)
	at org.eclipse.pde.api.tools.internal.model.BundleComponent.getBundleDescription(BundleComponent.java:980)
	at org.eclipse.pde.api.tools.internal.model.BundleComponent.createApiDescription(BundleComponent.java:388)
	at org.eclipse.pde.api.tools.internal.model.Component.getApiDescription(Component.java:106)
	at org.eclipse.pde.api.tools.builder.tests.ApiBuilderTest.exportApiComponent(ApiBuilderTest.java:364)
	at org.eclipse.pde.api.tools.builder.tests.compatibility.BundleVersionTests.setupTest(BundleVersionTests.java:162)
	at org.eclipse.pde.api.tools.builder.tests.compatibility.BundleVersionTests.test001(BundleVersionTests.java:192)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at junit.framework.TestCase.runTest(TestCase.java:177)
	at org.eclipse.jdt.core.tests.junit.extension.TestCase.runTest(TestCase.java:983)
	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 junit.framework.TestSuite.runTest(TestSuite.java:241)
	at junit.framework.TestSuite.run(TestSuite.java:236)
	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.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:316)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.apache.maven.surefire.api.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:137)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:148)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:88)
	at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:142)
	at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.start(HeadlessTestApplication.java:29)
	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:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	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)
Thread[main,5,main] DISABLING background indexing
Thread[main,5,main] DISABLING background indexing
Thread[main,5,main] -> index name for \deltatest is 1491789420.index
Thread[main,5,main] -> index state updated to: REBUILDING for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/1491789420.index
Thread[main,5,main] REQUEST   background job - indexing project /deltatest
Thread[main,5,main] AWAITING JOBS count: 3
Thread[main,5,main] ENABLING  background indexing
Thread[main,5,main] removing index C:/hostedtoolcache/windows/Java_Temurin-Hotspot_jdk/17.0.6-10/x64/lib/jrt-fs.jar
Thread[main,5,main] -> updating meta-index with 0 elements for 1185101725.index
Thread[main,5,main] -> meta-index updated for 1185101725.index
Thread[main,5,main] removing index C:/hostedtoolcache/windows/Java_Temurin-Hotspot_jdk/17.0.6-10/x64/lib/jrt-fs.jar
Thread[main,5,main] -> updating meta-index with 0 elements for 1185101725.index
Thread[main,5,main] -> meta-index updated for 1185101725.index
Thread[main,5,main] DISCARD   background job family - deltatest
Thread[main,5,main] DISABLING background indexing
Thread[main,5,main] -> discarding background job  - indexing project /deltatest
Thread[main,5,main] -> index state updated to: UNKNOWN for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/1491789420.index
Thread[main,5,main] ENABLING  background indexing
Thread[main,5,main] DISCARD   DONE with background job family - deltatest
Thread[main,5,main] removing index /deltatest
Thread[main,5,main] -> index state removed for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/1491789420.index
Thread[main,5,main] -> updating meta-index with 0 elements for 1491789420.index
Thread[main,5,main] -> meta-index updated for 1491789420.index
Thread[main,5,main] DISABLING background indexing
Thread[main,5,main] -> index state updated to: REBUILDING for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/1491789420.index
Thread[main,5,main] REQUEST   background job - indexing project /deltatest
Thread[main,5,main] AWAITING JOBS count: 3
Thread[main,5,main] ENABLING  background indexing
Thread[main,5,main] DISABLING background indexing
Thread[main,5,main] -> index name for \exportedbundle is 3219681693.index
Thread[main,5,main] -> index state updated to: REBUILDING for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/3219681693.index
Thread[main,5,main] REQUEST   background job - indexing project /exportedbundle
Thread[main,5,main] AWAITING JOBS count: 4
Thread[main,5,main] ENABLING  background indexing
Thread[main,5,main] DISCARD   background job family - exportedbundle
Thread[main,5,main] DISABLING background indexing
Thread[main,5,main] -> discarding background job  - indexing project /exportedbundle
Thread[main,5,main] -> index state updated to: UNKNOWN for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/3219681693.index
Thread[main,5,main] ENABLING  background indexing
Thread[main,5,main] DISCARD   DONE with background job family - exportedbundle
Thread[main,5,main] removing index /exportedbundle
Thread[main,5,main] -> index state removed for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/3219681693.index
Thread[main,5,main] -> updating meta-index with 0 elements for 3219681693.index
Thread[main,5,main] -> meta-index updated for 3219681693.index
Thread[main,5,main] DISABLING background indexing
Thread[main,5,main] -> index state updated to: REBUILDING for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/3219681693.index
Thread[main,5,main] REQUEST   background job - indexing project /exportedbundle
Thread[main,5,main] AWAITING JOBS count: 4
Thread[main,5,main] ENABLING  background indexing
Thread[main,5,main] DISCARD   background job family - deltatest
Thread[main,5,main] DISABLING background indexing
Thread[main,5,main] -> discarding background job  - indexing project /deltatest
Thread[main,5,main] -> index state updated to: UNKNOWN for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/1491789420.index
Thread[main,5,main] ENABLING  background indexing
Thread[main,5,main] DISCARD   DONE with background job family - deltatest
Thread[main,5,main] removing index /deltatest
Thread[main,5,main] -> index state removed for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/1491789420.index
Thread[main,5,main] -> updating meta-index with 0 elements for 1491789420.index
Thread[main,5,main] -> meta-index updated for 1491789420.index
Thread[main,5,main] DISCARD   background job family - exportedbundle
Thread[main,5,main] DISABLING background indexing
Thread[main,5,main] -> discarding background job  - indexing project /exportedbundle
Thread[main,5,main] -> index state updated to: UNKNOWN for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/3219681693.index
Thread[main,5,main] ENABLING  background indexing
Thread[main,5,main] DISCARD   DONE with background job family - exportedbundle
Thread[main,5,main] removing index C:/hostedtoolcache/windows/Java_Temurin-Hotspot_jdk/17.0.6-10/x64/lib/jrt-fs.jar
Thread[main,5,main] -> updating meta-index with 0 elements for 1185101725.index
Thread[main,5,main] -> meta-index updated for 1185101725.index
Thread[main,5,main] removing index /exportedbundle
Thread[main,5,main] -> index state removed for: file:/D:/a/eclipse.pde/eclipse.pde/apitools/org.eclipse.pde.api.tools.tests/target/work/data/.metadata/.plugins/org.eclipse.jdt.core/3219681693.index
Thread[main,5,main] -> updating meta-index with 0 elements for 3219681693.index
Thread[main,5,main] -> meta-index updated for 3219681693.index
Thread[main,5,main] ENABLING  background indexing
@jukzi
Copy link
Contributor

jukzi commented Jul 10, 2023

Sadly BundleVersionTests fails very frequently on verification builds. Could not reproduce locally on WIN. Also all calls of dispose() / getBundleDescription() during that Tests happen in the same Thread so that it probably is not an concurrency issue.

@jukzi jukzi added the help wanted Extra attention is needed label Jul 10, 2023
@jukzi
Copy link
Contributor

jukzi commented Jul 12, 2023

fails on I Build too:
https://download.eclipse.org/eclipse/downloads/drops4/R-4.28-202306050440/testresults/html/org.eclipse.pde.api.tools.tests_ep428I-unit-cen64-gtk3-java17_linux.gtk.x86_64_17.html

org.eclipse.core.runtime.CoreException: Component 'exportedBundle Plug-in' in the baseline 'workspace' is disposed
at org.eclipse.pde.api.tools.internal.model.BundleComponent.baselineDisposed(BundleComponent.java:1259)
at org.eclipse.pde.api.tools.internal.model.BundleComponent.getBundleDescription(BundleComponent.java:980)
at org.eclipse.pde.api.tools.internal.model.BundleComponent.createApiDescription(BundleComponent.java:388)
at org.eclipse.pde.api.tools.internal.model.Component.getApiDescription(Component.java:106)
at org.eclipse.pde.api.tools.builder.tests.ApiBuilderTest.exportApiComponent(ApiBuilderTest.java:364)
at org.eclipse.pde.api.tools.builder.tests.compatibility.BundleVersionTests.setupTest(BundleVersionTests.java:162)
at org.eclipse.pde.api.tools.builder.tests.compatibility.BundleVersionTests.test002(BundleVersionTests.java:205)

@laeubi
Copy link
Contributor Author

laeubi commented Oct 8, 2023

I think the error reporting is a bit odd here because it claims the baseline is disposed when fBundleDescription is null but this can also happen:

  1. org.eclipse.pde.api.tools.internal.model.BundleComponent.init() fails (so the component was not successfully init)
  2. org.eclipse.pde.api.tools.internal.model.BundleComponent.dispose() is called (so the component itself was disposed)

laeubi added a commit to laeubi/eclipse.pde that referenced this issue Oct 8, 2023
Currently BundleComponent do not propagate errors but only log them,
this can lead to a situation where it is unclear what calls fails.

This changes the init method to throw an CoreException in all cases
where it encounters a problem and instead use dedicated catch whenever
it seems suitable.

See eclipse-pde#553
laeubi added a commit to laeubi/eclipse.pde that referenced this issue Oct 8, 2023
Currently BundleComponent do not propagate errors but only log them,
this can lead to a situation where it is unclear what calls fails.

This changes the init method to throw an CoreException in all cases
where it encounters a problem and instead use dedicated catch whenever
it seems suitable.

See eclipse-pde#553
laeubi added a commit that referenced this issue Oct 8, 2023
Currently BundleComponent do not propagate errors but only log them,
this can lead to a situation where it is unclear what calls fails.

This changes the init method to throw an CoreException in all cases
where it encounters a problem and instead use dedicated catch whenever
it seems suitable.

See #553
@laeubi
Copy link
Contributor Author

laeubi commented Oct 8, 2023

I have now enhanced error reporting here:

it shows that init is successful but it seems the component is unluckily dispose at this place already:

Caused by: java.lang.RuntimeException: Component was disposed here
	at org.eclipse.pde.api.tools.internal.model.BundleComponent.dispose(BundleComponent.java:191)
	at org.eclipse.pde.api.tools.internal.model.ProjectComponent.dispose(ProjectComponent.java:180)
	at org.eclipse.pde.api.tools.internal.model.ApiBaseline.doDispose(ApiBaseline.java:847)
	at org.eclipse.pde.api.tools.internal.model.WorkspaceBaseline.dispose(WorkspaceBaseline.java:56)
	at org.eclipse.pde.api.tools.internal.ApiBaselineManager.disposeWorkspaceBaseline(ApiBaselineManager.java:658)
	at org.eclipse.pde.api.tools.internal.WorkspaceDeltaProcessor.processJavaElementDeltas(WorkspaceDeltaProcessor.java:82)
	at org.eclipse.pde.api.tools.internal.WorkspaceDeltaProcessor.elementChanged(WorkspaceDeltaProcessor.java:51)
	at org.eclipse.jdt.internal.core.DeltaProcessor$3.run(DeltaProcessor.java:1757)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners(DeltaProcessor.java:1745)
	at org.eclipse.jdt.internal.core.DeltaProcessor.firePostChangeDelta(DeltaProcessor.java:1578)
	at org.eclipse.jdt.internal.core.DeltaProcessor.fire(DeltaProcessor.java:1554)
	at org.eclipse.jdt.internal.core.DeltaProcessor.notifyAndFire(DeltaProcessor.java:2275)
	at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:2165)
	at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:501)
	at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:321)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:311)
	at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:174)
	at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:458)
	at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1586)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:50)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

The synchronization is at least arguable here and seem to trying to perform premature optimization, beside that of course a component can be disposed anywhere anytime even after that so I'm a bit unsure how to handel this correctly if one has already fetched the component and it is then gone afterwards...

@laeubi
Copy link
Contributor Author

laeubi commented Oct 8, 2023

This should hopefully be fixed by

My understanding of the issue is the following:

  1. In the test setup a component is fetched from the Workspace Baseline
  2. Then an export of that component is triggers, this can lead to resource change events what in the end could trigger a disposal of the Workspace Baseline
  3. Now after that it is tried to access this component but it is already disposed

I now did the following:

  1. Read the component before any resource changes are performed
  2. If it still fails, wait until all jobs are done
  3. then retry the operation (up to 3 times)

@jukzi
Copy link
Contributor

jukzi commented Jun 5, 2024

still happens:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.eclipse.tycho:tycho-apitools-plugin:4.0.8:verify (verify) on project org.eclipse.pde.ui: Execute ApiApplication failed
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: org.apache.maven.plugin.MojoExecutionException: Execute ApiApplication failed
    at org.eclipse.tycho.apitools.ApiAnalysisMojo.performAnalysis (ApiAnalysisMojo.java:310)
    at org.eclipse.tycho.apitools.ApiAnalysisMojo.execute (ApiAnalysisMojo.java:193)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: java.lang.RuntimeException: Component was disposed here
    at org.eclipse.pde.api.tools.internal.model.BundleComponent.dispose (BundleComponent.java:192)
    at org.eclipse.pde.api.tools.internal.model.ProjectComponent.dispose (ProjectComponent.java:178)
    at org.eclipse.pde.api.tools.internal.model.ApiBaseline.doDispose (ApiBaseline.java:837)
    at org.eclipse.pde.api.tools.internal.model.WorkspaceBaseline.dispose (WorkspaceBaseline.java:56)
    at org.eclipse.pde.api.tools.internal.ApiBaselineManager.lambda$2 (ApiBaselineManager.java:639)
    at org.eclipse.pde.api.tools.internal.ApiBaselineManager.disposeWorkspaceBaseline (ApiBaselineManager.java:662)
    at org.eclipse.pde.api.tools.internal.WorkspaceDeltaProcessor.processJavaElementDeltas (WorkspaceDeltaProcessor.java:80)
    at org.eclipse.pde.api.tools.internal.WorkspaceDeltaProcessor.elementChanged (WorkspaceDeltaProcessor.java:51)
    at org.eclipse.jdt.internal.core.DeltaProcessor$3.run (DeltaProcessor.java:1751)
    at org.eclipse.core.runtime.SafeRunner.run (SafeRunner.java:47)
    at org.eclipse.jdt.internal.core.DeltaProcessor.notifyListeners (DeltaProcessor.java:1739)
    at org.eclipse.jdt.internal.core.DeltaProcessor.firePostChangeDelta (DeltaProcessor.java:1572)
    at org.eclipse.jdt.internal.core.DeltaProcessor.fire (DeltaProcessor.java:1548)
    at org.eclipse.jdt.internal.core.DeltaProcessor.notifyAndFire (DeltaProcessor.java:2259)
    at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged (DeltaProcessor.java:2151)
    at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged (DeltaProcessingState.java:501)
    at org.eclipse.core.internal.events.NotificationManager$1.run (NotificationManager.java:321)
    at org.eclipse.core.runtime.SafeRunner.run (SafeRunner.java:47)
    at org.eclipse.core.internal.events.NotificationManager.notify (NotificationManager.java:311)
    at org.eclipse.core.internal.events.NotificationManager.broadcastChanges (NotificationManager.java:174)
    at org.eclipse.core.internal.resources.Workspace.broadcastPostChange (Workspace.java:458)
    at org.eclipse.core.internal.resources.Workspace.endOperation (Workspace.java:1586)
    at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:2465)
    at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:2476)
    at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation (JavaModelOperation.java:810)
    at org.eclipse.jdt.core.JavaCore.setClasspathContainer (JavaCore.java:6217)
    at org.eclipse.pde.internal.core.PluginModelManager$UpdateClasspathsJob.run (PluginModelManager.java:104)
    at org.eclipse.core.internal.jobs.Worker.run (Worker.java:63)

https://github.com/eclipse-pde/eclipse.pde/actions/runs/9384000184/job/25838861125?pr=1290

@jukzi
Copy link
Contributor

jukzi commented Aug 21, 2024

The disposed error still happens but not in BundleVersionTests. The remaining error is tracked in
#1310

@jukzi jukzi closed this as completed Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants