Skip to content

[JENKINS-76202] stack overflow with maven and naginator plugins in AbstractLazyLoadRunMap with new runUI enabled #16826

@jenkins-infra-bot

Description

@jenkins-infra-bot

Seems the rework of the AbstractLazyLoadRunMap caused problems when there is a maven type job with some builds and the naginator plugin.
With this combination, when accessing the dashboard that contains a maven job Jenkins runs into a stack overflow.

at PluginClassLoader for naginator//com.chikli.hudson.plugin.naginator.NaginatorActionFactory.createFor(NaginatorActionFactory.java:27)
at PluginClassLoader for naginator//com.chikli.hudson.plugin.naginator.NaginatorActionFactory.createFor(NaginatorActionFactory.java:16)
at hudson.model.Actionable.createFor(Actionable.java:118)
at hudson.model.Actionable.getAllActions(Actionable.java:104)
at hudson.model.Run.onLoad(Run.java:390)
at PluginClassLoader for maven-plugin//hudson.maven.MavenModuleSetBuild.onLoad(MavenModuleSetBuild.java:154)
at hudson.model.RunMap.retrieve(RunMap.java:290)
at hudson.model.RunMap.retrieve(RunMap.java:64)
at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:451)
at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:445)
at jenkins.model.lazy.AbstractLazyLoadRunMap.resolveBuildRef(AbstractLazyLoadRunMap.java:371)
at jenkins.model.lazy.AbstractLazyLoadRunMap$BuildReferenceMapAdapterResolver.resolveBuildRef(AbstractLazyLoadRunMap.java:528)
at jenkins.model.lazy.BuildReferenceMapAdapter.get(BuildReferenceMapAdapter.java:133)
at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:387)
at jenkins.model.lazy.LazyBuildMixIn.getBuildByNumber(LazyBuildMixIn.java:243)
at hudson.model.AbstractProject.getBuildByNumber(AbstractProject.java:932)
at PluginClassLoader for maven-plugin//hudson.maven.MavenBuild.getParentBuild(MavenBuild.java:186)
at PluginClassLoader for maven-plugin//hudson.maven.FilteredChangeLogSet.(FilteredChangeLogSet.java:45)
at PluginClassLoader for maven-plugin//hudson.maven.MavenBuild.getChangeSet(MavenBuild.java:213)
at hudson.model.AbstractBuild.getChangeSets(AbstractBuild.java:929)
at jenkins.run.ChangesTabFactory.createFor(ChangesTabFactory.java:55)
at jenkins.run.ChangesTabFactory.createFor(ChangesTabFactory.java:37)
at hudson.model.Actionable.createFor(Actionable.java:118)
at hudson.model.Actionable.getAllActions(Actionable.java:104)
at hudson.model.Run.onLoad(Run.java:390)
at hudson.model.RunMap.retrieve(RunMap.java:290)
at hudson.model.RunMap.retrieve(RunMap.java:64)
at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:451)
at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:445)
at jenkins.model.lazy.AbstractLazyLoadRunMap.resolveBuildRef(AbstractLazyLoadRunMap.java:371)
at jenkins.model.lazy.AbstractLazyLoadRunMap$BuildReferenceMapAdapterResolver.resolveBuildRef(AbstractLazyLoadRunMap.java:528)
at jenkins.model.lazy.BuildReferenceMapAdapter$EntryAdapter.getValue(BuildReferenceMapAdapter.java:345)
at jenkins.model.lazy.BuildReferenceMapAdapter$ValuesAdapter$1.adapt(BuildReferenceMapAdapter.java:231)
at jenkins.model.lazy.BuildReferenceMapAdapter$ValuesAdapter$1.adapt(BuildReferenceMapAdapter.java:228)
at hudson.util.AdaptedIterator.next(AdaptedIterator.java:57)
at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1950)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:342)
at jenkins.model.lazy.LazyBuildMixIn.getNearestOldBuild(LazyBuildMixIn.java:271)
at hudson.model.AbstractProject.getNearestOldBuild(AbstractProject.java:957)
at PluginClassLoader for maven-plugin//hudson.maven.MavenModuleSetBuild.getModuleLastBuilds(MavenModuleSetBuild.java:499)
at PluginClassLoader for maven-plugin//hudson.maven.MavenModuleSetBuild.computeResult(MavenModuleSetBuild.java:227)
at PluginClassLoader for maven-plugin//hudson.maven.MavenModuleSetBuild.getResult(MavenModuleSetBuild.java:216)
at PluginClassLoader for naginator//com.chikli.hudson.plugin.naginator.NaginatorActionFactory.createFor(NaginatorActionFactory.java:27)
at PluginClassLoader for naginator//com.chikli.hudson.plugin.naginator.NaginatorActionFactory.createFor(NaginatorActionFactory.java:16)

Might be related to JENKINS-76028

 

Removing the naginator plugin resolves the problem


Originally reported by mawinter69, imported from: stack overflow with maven and naginator plugins in AbstractLazyLoadRunMap with new runUI enabled
  • assignee: mawinter69
  • status: Closed
  • priority: Major
  • component(s): core, maven-plugin, naginator-plugin
  • resolution: Fixed
  • resolved: 2025-10-16T17:19:15+00:00
  • votes: 0
  • watchers: 5
  • imported: 2025-11-24
Raw content of original issue

Seems the rework of the AbstractLazyLoadRunMap caused problems when there is a maven type job with some builds and the naginator plugin. With this combination, when accessing the dashboard that contains a maven job Jenkins runs into a stack overflow.

        at PluginClassLoader for naginator//com.chikli.hudson.plugin.naginator.NaginatorActionFactory.createFor(NaginatorActionFactory.java:27)
        at PluginClassLoader for naginator//com.chikli.hudson.plugin.naginator.NaginatorActionFactory.createFor(NaginatorActionFactory.java:16)
        at hudson.model.Actionable.createFor(Actionable.java:118)
        at hudson.model.Actionable.getAllActions(Actionable.java:104)
        at hudson.model.Run.onLoad(Run.java:390)
        at PluginClassLoader for maven-plugin//hudson.maven.MavenModuleSetBuild.onLoad(MavenModuleSetBuild.java:154)
        at hudson.model.RunMap.retrieve(RunMap.java:290)
        at hudson.model.RunMap.retrieve(RunMap.java:64)
        at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:451)
        at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:445)
        at jenkins.model.lazy.AbstractLazyLoadRunMap.resolveBuildRef(AbstractLazyLoadRunMap.java:371)
        at jenkins.model.lazy.AbstractLazyLoadRunMap$BuildReferenceMapAdapterResolver.resolveBuildRef(AbstractLazyLoadRunMap.java:528)
        at jenkins.model.lazy.BuildReferenceMapAdapter.get(BuildReferenceMapAdapter.java:133)
        at jenkins.model.lazy.AbstractLazyLoadRunMap.getByNumber(AbstractLazyLoadRunMap.java:387)
        at jenkins.model.lazy.LazyBuildMixIn.getBuildByNumber(LazyBuildMixIn.java:243)
        at hudson.model.AbstractProject.getBuildByNumber(AbstractProject.java:932)
        at PluginClassLoader for maven-plugin//hudson.maven.MavenBuild.getParentBuild(MavenBuild.java:186)
        at PluginClassLoader for maven-plugin//hudson.maven.FilteredChangeLogSet.<init>(FilteredChangeLogSet.java:45)
        at PluginClassLoader for maven-plugin//hudson.maven.MavenBuild.getChangeSet(MavenBuild.java:213)
        at hudson.model.AbstractBuild.getChangeSets(AbstractBuild.java:929)
        at jenkins.run.ChangesTabFactory.createFor(ChangesTabFactory.java:55)
        at jenkins.run.ChangesTabFactory.createFor(ChangesTabFactory.java:37)
        at hudson.model.Actionable.createFor(Actionable.java:118)
        at hudson.model.Actionable.getAllActions(Actionable.java:104)
        at hudson.model.Run.onLoad(Run.java:390)
        at hudson.model.RunMap.retrieve(RunMap.java:290)
        at hudson.model.RunMap.retrieve(RunMap.java:64)
        at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:451)
        at jenkins.model.lazy.AbstractLazyLoadRunMap.load(AbstractLazyLoadRunMap.java:445)
        at jenkins.model.lazy.AbstractLazyLoadRunMap.resolveBuildRef(AbstractLazyLoadRunMap.java:371)
        at jenkins.model.lazy.AbstractLazyLoadRunMap$BuildReferenceMapAdapterResolver.resolveBuildRef(AbstractLazyLoadRunMap.java:528)
        at jenkins.model.lazy.BuildReferenceMapAdapter$EntryAdapter.getValue(BuildReferenceMapAdapter.java:345)
        at jenkins.model.lazy.BuildReferenceMapAdapter$ValuesAdapter$1.adapt(BuildReferenceMapAdapter.java:231)
        at jenkins.model.lazy.BuildReferenceMapAdapter$ValuesAdapter$1.adapt(BuildReferenceMapAdapter.java:228)
        at hudson.util.AdaptedIterator.next(AdaptedIterator.java:57)
        at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1950)
        at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
        at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
        at jenkins.model.lazy.AbstractLazyLoadRunMap.search(AbstractLazyLoadRunMap.java:342)
        at jenkins.model.lazy.LazyBuildMixIn.getNearestOldBuild(LazyBuildMixIn.java:271)
        at hudson.model.AbstractProject.getNearestOldBuild(AbstractProject.java:957)
        at PluginClassLoader for maven-plugin//hudson.maven.MavenModuleSetBuild.getModuleLastBuilds(MavenModuleSetBuild.java:499)
        at PluginClassLoader for maven-plugin//hudson.maven.MavenModuleSetBuild.computeResult(MavenModuleSetBuild.java:227)
        at PluginClassLoader for maven-plugin//hudson.maven.MavenModuleSetBuild.getResult(MavenModuleSetBuild.java:216)
        at PluginClassLoader for naginator//com.chikli.hudson.plugin.naginator.NaginatorActionFactory.createFor(NaginatorActionFactory.java:27)
        at PluginClassLoader for naginator//com.chikli.hudson.plugin.naginator.NaginatorActionFactory.createFor(NaginatorActionFactory.java:16)

Might be related to JENKINS-76028

 

Removing the naginator plugin resolves the problem

1 attachment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions