google / google/error-prone

Symtab#inferModule returns null for java.lang

Open
#3,710 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
7.2k
Forks
820
Avg merge
5h 9m
Merged PRs (30d)
50

Description

I am writing a test framework for testing compiler plugins and annotation processors with Javac (OpenJDK toolchain).

One of my acceptance test packs runs ErrorProne. Last night I got a Dependabot update to move from 2.17.0 to 2.18.0.

This seems to introduce a NullPointerException on JDK 17 (Temurin) on Ubuntu 22, Mac OS 12, and Windows Server 2022. On JDK 12 and newer, this issue does not occur.

Dropping a report about this as requested in the error message :-)

---

Failing code is being hit at https://github.com/ascopes/java-compiler-testing/tree/1e138d28a5979cc14aa2401cab66283ac0058c50/acceptance-tests/acceptance-tests-error-prone (which should be buildable and able to have a debugger attached if you are unable to reproduce this yourselves).

---

Failing Dependabot PR: https://github.com/ascopes/java-compiler-testing/pull/242

---

Failing code:

```java
/*
* Copyright (C) 2022 - 2023, the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.example;

import com.google.errorprone.annotations.MustBeClosed;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;

/**
* This should pass error-prone because it always closes an auto-closeable resource.
*/
public class HappyCase {

/**
* Do something.
*
* @param args arguments.
* @throws IOException any exception.
*/
public static void main(String[] args) throws IOException {
try (InputStream inputStream = inputStream()) {
inputStream.read();
}
}

@MustBeClosed
private static InputStream inputStream() throws IOException {
Path tempFile = Files.createTempFile("foo", "bar");
return Files.newInputStream(tempFile);
}
}
```

Invoked via test case

```groovy
@DisplayName("Happy paths work as expected")
@JavacCompilerTest
void happyPathsWorkAsExpected(JctCompiler compiler) {
try (def workspace = Workspaces.newWorkspace()) {
// Given
workspace
.createSourcePathPackage()
.createDirectory("org", "example")
.copyContentsFrom("src", "test", "resources", "code", "nullness", "happy")

// When
def compilation = compiler
.addCompilerOptions(
"-Xplugin:ErrorProne",
"-XDcompilePolicy=simple",
)
.compile(workspace)

// Then
assertThatCompilation(compilation)
.isSuccessfulWithoutWarnings()
}
}
```

Stacktrace:

```
2023-01-10T08:15:30.8434810Z - [ERROR] compiler.err.error.prone.crash /SOURCE_PATH/org/example/HappyCase.java (at line 37, col 23)
2023-01-10T08:15:30.8435545Z
2023-01-10T08:15:30.8435859Z 35 | public static void main(String[] args) throws IOException {
2023-01-10T08:15:30.8436261Z 36 | try (InputStream inputStream = inputStream()) {
2023-01-10T08:15:30.8436579Z 37 | inputStream.read();
2023-01-10T08:15:30.8436855Z + ^^^^^^^^^^^^^^^^^^
2023-01-10T08:15:30.8437094Z 38 | }
2023-01-10T08:15:30.8437320Z 39 | }
2023-01-10T08:15:30.8437521Z
2023-01-10T08:15:30.8437855Z An unhandled exception was thrown by the Error Prone static analysis plugin.
2023-01-10T08:15:30.8438528Z Please report this at https://github.com/google/error-prone/issues/new and include the following:
2023-01-10T08:15:30.8450259Z
2023-01-10T08:15:30.8450762Z error-prone version: 2.18.0
2023-01-10T08:15:30.8451088Z BugPattern: CheckReturnValue
2023-01-10T08:15:30.8451357Z Stack Trace:
2023-01-10T08:15:30.8451667Z java.lang.NullPointerException
2023-01-10T08:15:30.8452129Z at jdk.compiler/com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:4857)
2023-01-10T08:15:30.8452661Z at jdk.compiler/com.sun.tools.javac.code.Types.isSameType(Types.java:1336)
2023-01-10T08:15:30.8453207Z at com.google.errorprone.util.ASTHelpers.isVoidType(ASTHelpers.java:1257)
2023-01-10T08:15:30.8454197Z at com.google.errorprone.matchers.UnusedReturnValueMatcher.returnsJavaLangVoid(UnusedReturnValueMatcher.java:155)
2023-01-10T08:15:30.8455071Z at com.google.errorprone.matchers.UnusedReturnValueMatcher.lambda$getAllowReasons$1(UnusedReturnValueMatcher.java:149)
2023-01-10T08:15:30.8455750Z at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
2023-01-10T08:15:30.8456408Z at com.google.common.collect.CollectSpliterators$1WithCharacteristics.lambda$tryAdvance$0(CollectSpliterators.java:66)
2023-01-10T08:15:30.8457050Z at java.base/java.util.stream.Streams$RangeIntSpliterator.tryAdvance(Streams.java:82)
2023-01-10T08:15:30.8457694Z at com.google.common.collect.CollectSpliterators$1WithCharacteristics.tryAdvance(CollectSpliterators.java:66)
2023-01-10T08:15:30.8458371Z at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
2023-01-10T08:15:30.8459032Z at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
2023-01-10T08:15:30.8459651Z at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
2023-01-10T08:15:30.8460260Z at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
2023-01-10T08:15:30.8460826Z at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
2023-01-10T08:15:30.8461370Z at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
2023-01-10T08:15:30.8461942Z at java.base/java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:548)
2023-01-10T08:15:30.8462618Z at com.google.errorprone.matchers.UnusedReturnValueMatcher.isAllowed(UnusedReturnValueMatcher.java:140)
2023-01-10T08:15:30.8463399Z at com.google.errorprone.matchers.UnusedReturnValueMatcher.matches(UnusedReturnValueMatcher.java:99)
2023-01-10T08:15:30.8464166Z at com.google.errorprone.matchers.UnusedReturnValueMatcher.matches(UnusedReturnValueMatcher.java:69)
2023-01-10T08:15:30.8464830Z at com.google.errorprone.matchers.Matchers.lambda$allOf$93cd24cb$1(Matchers.java:137)
2023-01-10T08:15:30.8465794Z at com.google.errorprone.bugpatterns.AbstractReturnValueIgnored.matchMethodInvocation(AbstractReturnValueIgnored.java:152)
2023-01-10T08:15:30.8466657Z at com.google.errorprone.scanner.ErrorProneScanner.processMatchers(ErrorProneScanner.java:449)
2023-01-10T08:15:30.8467423Z at com.google.errorprone.scanner.ErrorProneScanner.visitMethodInvocation(ErrorProneScanner.java:746)
2023-01-10T08:15:30.8468333Z at com.google.errorprone.scanner.ErrorProneScanner.visitMethodInvocation(ErrorProneScanner.java:150)
2023-01-10T08:15:30.8468999Z at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1666)
2023-01-10T08:15:30.8469566Z at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
2023-01-10T08:15:30.8470096Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
2023-01-10T08:15:30.8470578Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
2023-01-10T08:15:30.8471165Z at jdk.compiler/com.sun.source.util.TreeScanner.visitExpressionStatement(TreeScanner.java:433)
2023-01-10T08:15:30.8471912Z at com.google.errorprone.scanner.ErrorProneScanner.visitExpressionStatement(ErrorProneScanner.java:633)
2023-01-10T08:15:30.8472733Z at com.google.errorprone.scanner.ErrorProneScanner.visitExpressionStatement(ErrorProneScanner.java:150)
2023-01-10T08:15:30.8473425Z at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1476)
2023-01-10T08:15:30.8474000Z at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
2023-01-10T08:15:30.8474523Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
2023-01-10T08:15:30.8475012Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
2023-01-10T08:15:30.8475560Z at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
2023-01-10T08:15:30.8476106Z at jdk.compiler/com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:248)
2023-01-10T08:15:30.8476726Z at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:520)
2023-01-10T08:15:30.8477393Z at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:150)
2023-01-10T08:15:30.8477987Z at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1048)
2023-01-10T08:15:30.8478520Z at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
2023-01-10T08:15:30.8479047Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
2023-01-10T08:15:30.8479523Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
2023-01-10T08:15:30.8480051Z at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
2023-01-10T08:15:30.8480604Z at jdk.compiler/com.sun.source.util.TreeScanner.visitTry(TreeScanner.java:374)
2023-01-10T08:15:30.8481229Z at com.google.errorprone.scanner.ErrorProneScanner.visitTry(ErrorProneScanner.java:845)
2023-01-10T08:15:30.8481888Z at com.google.errorprone.scanner.ErrorProneScanner.visitTry(ErrorProneScanner.java:150)
2023-01-10T08:15:30.8482465Z at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCTry.accept(JCTree.java:1344)
2023-01-10T08:15:30.8482989Z at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
2023-01-10T08:15:30.8483494Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
2023-01-10T08:15:30.8483987Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
2023-01-10T08:15:30.8484484Z at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
2023-01-10T08:15:30.8484996Z at jdk.compiler/com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:248)
2023-01-10T08:15:30.8485618Z at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:520)
2023-01-10T08:15:30.8486297Z at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:150)
2023-01-10T08:15:30.8486887Z at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1048)
2023-01-10T08:15:30.8487402Z at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
2023-01-10T08:15:30.8487923Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
2023-01-10T08:15:30.8488407Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
2023-01-10T08:15:30.8489003Z at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
2023-01-10T08:15:30.8489552Z at jdk.compiler/com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:206)
2023-01-10T08:15:30.8490178Z at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:740)
2023-01-10T08:15:30.8490870Z at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:150)
2023-01-10T08:15:30.8491697Z at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:898)
2023-01-10T08:15:30.8492242Z at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
2023-01-10T08:15:30.8492769Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
2023-01-10T08:15:30.8493259Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
2023-01-10T08:15:30.8493775Z at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
2023-01-10T08:15:30.8494322Z at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
2023-01-10T08:15:30.8494856Z at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
2023-01-10T08:15:30.8495400Z at jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187)
2023-01-10T08:15:30.8496071Z at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:548)
2023-01-10T08:15:30.8496752Z at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:150)
2023-01-10T08:15:30.8497351Z at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:808)
2023-01-10T08:15:30.8497872Z at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
2023-01-10T08:15:30.8498394Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
2023-01-10T08:15:30.8498881Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
2023-01-10T08:15:30.8499385Z at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
2023-01-10T08:15:30.8499910Z at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
2023-01-10T08:15:30.8500512Z at jdk.compiler/com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:144)
2023-01-10T08:15:30.8501224Z at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:560)
2023-01-10T08:15:30.8501989Z at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:150)
2023-01-10T08:15:30.8502653Z at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:591)
2023-01-10T08:15:30.8503207Z at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:56)
2023-01-10T08:15:30.8503730Z at com.google.errorprone.scanner.Scanner.scan(Scanner.java:58)
2023-01-10T08:15:30.8504373Z at com.google.errorprone.scanner.ErrorProneScannerTransformer.apply(ErrorProneScannerTransformer.java:43)
2023-01-10T08:15:30.8505085Z at com.google.errorprone.ErrorProneAnalyzer.finished(ErrorProneAnalyzer.java:156)
2023-01-10T08:15:30.8740029Z at jdk.compiler/com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:132)
2023-01-10T08:15:30.8740708Z at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1414)
2023-01-10T08:15:30.8741260Z at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1361)
2023-01-10T08:15:30.8741834Z at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:960)
2023-01-10T08:15:30.8742433Z at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
2023-01-10T08:15:30.8743054Z at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:147)
2023-01-10T08:15:30.8743673Z at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
2023-01-10T08:15:30.8744649Z at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
2023-01-10T08:15:30.8745520Z at io.github.ascopes.jct.compilers.impl.JctJsr199Interop.performCompilerPass(JctJsr199Interop.java:533)
2023-01-10T08:15:30.8746248Z at io.github.ascopes.jct.compilers.impl.JctJsr199Interop.compile(JctJsr199Interop.java:141)
2023-01-10T08:15:30.8746946Z at io.github.ascopes.jct.compilers.AbstractJctCompiler.compile(AbstractJctCompiler.java:124)
2023-01-10T08:15:30.8747640Z at io.github.ascopes.jct.compilers.AbstractJctCompiler.compile(AbstractJctCompiler.java:54)
2023-01-10T08:15:30.8748296Z at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
2023-01-10T08:15:30.8749107Z at io.github.ascopes.jct.acceptancetests.errorprone.ErrorProneTest.happyPathsWorkAsExpected(ErrorProneTest.groovy:40)
2023-01-10T08:15:30.8749910Z at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-01-10T08:15:30.8750574Z at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-01-10T08:15:30.8751292Z at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-01-10T08:15:30.8751895Z at java.base/java.lang.reflect.Method.invoke(Method.java:566)
2023-01-10T08:15:30.8752560Z at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
2023-01-10T08:15:30.8753252Z at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
2023-01-10T08:15:30.8754026Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
2023-01-10T08:15:30.8754815Z at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
2023-01-10T08:15:30.8755586Z at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
2023-01-10T08:15:30.8756453Z at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:94)
2023-01-10T08:15:30.8757392Z at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
2023-01-10T08:15:30.8758358Z at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
2023-01-10T08:15:30.8759261Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
2023-01-10T08:15:30.8760124Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
2023-01-10T08:15:30.8760985Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
2023-01-10T08:15:30.8761853Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
2023-01-10T08:15:30.8762705Z at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
2023-01-10T08:15:30.8763581Z at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
2023-01-10T08:15:30.8845496Z at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:217)
2023-01-10T08:15:30.8846406Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-01-10T08:15:30.8847287Z at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213)
2023-01-10T08:15:30.8848158Z at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138)
2023-01-10T08:15:30.8849330Z at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
2023-01-10T08:15:30.8850144Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
2023-01-10T08:15:30.8850975Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-01-10T08:15:30.8851789Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
2023-01-10T08:15:30.8852475Z at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
2023-01-10T08:15:30.8853182Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
2023-01-10T08:15:30.8853982Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-01-10T08:15:30.8854816Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
2023-01-10T08:15:30.8855583Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
2023-01-10T08:15:30.8856688Z at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
2023-01-10T08:15:30.8857982Z at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.submit(ForkJoinPoolHierarchicalTestExecutorService.java:118)
2023-01-10T08:15:30.8859042Z at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:226)
2023-01-10T08:15:30.8859845Z at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:204)
2023-01-10T08:15:30.8860674Z at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:142)
2023-01-10T08:15:30.8861538Z at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:110)
2023-01-10T08:15:30.8862232Z at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
2023-01-10T08:15:30.8862766Z at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
2023-01-10T08:15:30.8863322Z at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
2023-01-10T08:15:30.8863869Z at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
2023-01-10T08:15:30.8864377Z at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
2023-01-10T08:15:30.8864908Z at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
2023-01-10T08:15:30.8986424Z at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
2023-01-10T08:15:30.8987056Z at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
2023-01-10T08:15:30.8987587Z at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
2023-01-10T08:15:30.8988133Z at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
2023-01-10T08:15:30.8988689Z at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442)
2023-01-10T08:15:30.8989209Z at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
2023-01-10T08:15:30.8989741Z at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
2023-01-10T08:15:30.8990294Z at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:699)
2023-01-10T08:15:30.8990845Z at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
2023-01-10T08:15:30.8991771Z at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
2023-01-10T08:15:30.8992377Z at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
2023-01-10T08:15:30.8992949Z at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
2023-01-10T08:15:30.8993527Z at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
2023-01-10T08:15:30.8994088Z at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
2023-01-10T08:15:30.8994722Z at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274)
2023-01-10T08:15:30.8995269Z at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
2023-01-10T08:15:30.8995814Z at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
2023-01-10T08:15:30.8996339Z at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
2023-01-10T08:15:30.8996905Z at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
2023-01-10T08:15:30.8997485Z at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
2023-01-10T08:15:30.8998165Z at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
2023-01-10T08:15:30.8998774Z at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
2023-01-10T08:15:30.8999346Z at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
2023-01-10T08:15:30.8999915Z at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
2023-01-10T08:15:30.9000474Z at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
2023-01-10T08:15:30.9001033Z at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:274)
2023-01-10T08:15:30.9001601Z at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
2023-01-10T08:15:30.9002177Z at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
2023-01-10T08:15:30.9002766Z at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
2023-01-10T08:15:30.9003364Z at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
2023-01-10T08:15:30.9003935Z at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
2023-01-10T08:15:30.9004491Z at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
2023-01-10T08:15:30.9005062Z at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
2023-01-10T08:15:30.9005777Z at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:110)
2023-01-10T08:15:30.9006636Z at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:44)
2023-01-10T08:15:30.9007454Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
2023-01-10T08:15:30.9008273Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-01-10T08:15:30.9009086Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
2023-01-10T08:15:30.9009779Z at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
2023-01-10T08:15:30.9010473Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
2023-01-10T08:15:30.9011272Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-01-10T08:15:30.9012167Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
2023-01-10T08:15:30.9012950Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
2023-01-10T08:15:30.9013954Z at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
2023-01-10T08:15:30.9014869Z at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
2023-01-10T08:15:30.9015414Z at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
2023-01-10T08:15:30.9015980Z at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
2023-01-10T08:15:30.9016523Z at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
2023-01-10T08:15:30.9017064Z at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
2023-01-10T08:15:30.9018032Z at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.