apache / apache/maven-surefire

[SUREFIRE-1524] PpidChecker sometimes writes dump file with IOException

Open
#2,572 0 comments 0 reactions 0 assignees View on GitHub
bug priority:minor
Dominant language
Java
Stars
461
Forks
588
Avg merge
1d 8h
Merged PRs (30d)
19

Description

**[Dan Berindei](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=dan.berindei)** opened **[SUREFIRE-1524](https://issues.apache.org/jira/browse/SUREFIRE-1524?redirect=false)** and commented

We have a build with lots of modules, and once in a while we see a dump file like this after the build:

```
./commons/target/surefire-reports/2018-05-26T05-53-09_562-jvmRun1.dump
1. Created on 2018-05-26T05:53:16.823
java.io.IOException: Stream closed
at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:176)
at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:289)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:185)
at java.base/java.io.Reader.read(Reader.java:104)
at java.base/java.util.Scanner.readInput(Scanner.java:882)
at java.base/java.util.Scanner.findWithinHorizon(Scanner.java:1796)
at java.base/java.util.Scanner.hasNextLine(Scanner.java:1610)
at org.apache.maven.surefire.booter.PpidChecker$ProcessInfoConsumer.execute(PpidChecker.java:301)
at org.apache.maven.surefire.booter.PpidChecker.unix(PpidChecker.java:160)
at org.apache.maven.surefire.booter.PpidChecker.isProcessAlive(PpidChecker.java:115)
at org.apache.maven.surefire.booter.ForkedBooter$2.run(ForkedBooter.java:213)
<...>

1. Created on 2018-05-26T05:53:16.827
System.exit() or native command error interrupted process checker.
```

Looks like it's safe to ignore both messages, but it would be better if they weren't logged at all.

---

**Affects:** 2.21.0

Contributor guide

Open the contributing guide

Research direction

Start with org.apache.maven.surefire.booter.PpidChecker, especially unix(PpidChecker.java:160), isProcessAlive(PpidChecker.java:115), and ProcessInfoConsumer.execute(PpidChecker.java:301) from the reported stack trace. Reproduce the affected multi-module build if possible, then verify that expected stream-closed and process-checker interruption messages are no longer logged or written to dump files.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.