Skip to content

Fix DynamicPluginProjectReferences.getDependentProjects#2287

Merged
merks merged 1 commit intoeclipse-pde:masterfrom
merks:pr-fix-getDependentProjects
Apr 9, 2026
Merged

Fix DynamicPluginProjectReferences.getDependentProjects#2287
merks merged 1 commit intoeclipse-pde:masterfrom
merks:pr-fix-getDependentProjects

Conversation

@merks
Copy link
Copy Markdown
Contributor

@merks merks commented Apr 9, 2026

  • Guard against PluginRegistry::findModel returning null before applying IPluginModelBase::getUnderlyingResource.

- Guard against PluginRegistry::findModel returning null before applying
IPluginModelBase::getUnderlyingResource.
Copy link
Copy Markdown
Contributor

@laeubi laeubi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds resonable

@merks
Copy link
Copy Markdown
Contributor Author

merks commented Apr 9, 2026

While testing the M1 Modeling pacakge, I ran into this NPE:

java.lang.NullPointerException
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1715)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
	at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
	at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
	at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
	at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
	at org.eclipse.pde.internal.core.DynamicPluginProjectReferences.getDependentProjects(DynamicPluginProjectReferences.java:51)
	at org.eclipse.core.internal.resources.ProjectDescription.computeDynamicReferencesForProject(ProjectDescription.java:1037)
	at org.eclipse.core.internal.resources.ProjectDescription.getAllBuildConfigReferences(ProjectDescription.java:297)
	at org.eclipse.core.internal.resources.Project.internalGetReferencedBuildConfigs(Project.java:869)
	at org.eclipse.core.internal.resources.Workspace.computeActiveBuildConfigGraph(Workspace.java:875)
	at org.eclipse.core.internal.resources.Workspace.getBuildGraph(Workspace.java:1741)
	at org.eclipse.core.internal.resources.Workspace.getBuildOrder(Workspace.java:1722)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:208)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:309)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Via remote debug I tracked it down to PluginRegistry::findModel returning null. The problem doesn't happen anymore after I restart that IDE. I've noticed several times and the PDE state is not always in good shape after generating all the projects with the EMF generator as part of these tests.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

Test Results

  147 files  ±0    147 suites  ±0   37m 57s ⏱️ + 3m 52s
3 497 tests ±0  3 374 ✅  - 68   54 💤 ±0  69 ❌ +68 
9 312 runs  ±0  9 108 ✅  - 73  130 💤 ±0  74 ❌ +73 

For more details on these failures, see this check.

Results for commit 047a5c6. ± Comparison against base commit d45f47e.

@merks
Copy link
Copy Markdown
Contributor Author

merks commented Apr 9, 2026

The failing mac tests looks flaky and unrelated.

@merks merks merged commit 12fa5d0 into eclipse-pde:master Apr 9, 2026
16 of 19 checks passed
@merks merks deleted the pr-fix-getDependentProjects branch April 9, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants