Skip to content

Recursive update in SmartProjectComparator #10995

@gnodet

Description

@gnodet

Affected version

4.1.0-SNAPSHOT

Bug description

The following happens when running the big graph reproducer project with -T1C

java.lang.IllegalStateException: Recursive update
    at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1763)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.SmartProjectComparator.getProjectWeight(SmartProjectComparator.java:83)
    at java.util.stream.ReferencePipeline$5$1.accept(ReferencePipeline.java:231)
    at java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.LongPipeline.reduce(LongPipeline.java:503)
    at java.util.stream.LongPipeline.max(LongPipeline.java:466)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.SmartProjectComparator.calculateWeight(SmartProjectComparator.java:96)
    at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.SmartProjectComparator.getProjectWeight(SmartProjectComparator.java:83)
    at java.util.Comparator.lambda$comparingLong$6043328a$1(Comparator.java:515)
    at java.util.Collections$ReverseComparator2.compare(Collections.java:5641)
    at java.util.Comparator.lambda$thenComparing$36697e65$1(Comparator.java:220)
    at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
    at java.util.TimSort.sort(TimSort.java:220)
    at java.util.Arrays.sort(Arrays.java:1308)
    at java.util.ArrayList.sort(ArrayList.java:1804)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.ConcurrencyDependencyGraph.getSchedulableNewProcesses(ConcurrencyDependencyGraph.java:108)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.ConcurrencyDependencyGraph.markAsFinished(ConcurrencyDependencyGraph.java:93)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.multiThreadedProjectTaskSegmentBuild(MultiThreadedBuilder.java:155)
    at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder.build(MultiThreadedBuilder.java:103)
    at org.apache.maven.lifecycle.internal.DefaultLifecycleStarter.execute(DefaultLifecycleStarter.java:123)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:310)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:225)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:149)
    at org.apache.maven.cling.invoker.mvn.MavenInvoker.doExecute(MavenInvoker.java:449)
    at org.apache.maven.cling.invoker.mvn.MavenInvoker.execute(MavenInvoker.java:97)
    at org.apache.maven.cling.invoker.mvn.MavenInvoker.execute(MavenInvoker.java:81)
    at org.apache.maven.cling.invoker.LookupInvoker.doInvoke(LookupInvoker.java:164)
    at org.apache.maven.cling.invoker.LookupInvoker.invoke(LookupInvoker.java:134)
    at org.apache.maven.cling.ClingSupport.run(ClingSupport.java:76)
    at org.apache.maven.cling.MavenCling.main(MavenCling.java:51)
    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:255)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions