Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-1422

Forking fails on Linux if /bin/ps isn't available

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.20.1
    • Fix Version/s: 2.21.0
    • Component/s: process forking
    • Labels:
      None
    • Environment:
      Linux (Debian 9 with OpenJDK 8)

      Description

      Hi,

      With the changes introduced by SUREFIRE-1302 I'm now experiencing a failure on Linux when the fork mode is enabled:

      [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.20.1:test (default-test) on project foo: There are test failures.
      [ERROR]
      [ERROR] Please refer to /foo/target/surefire-reports for the individual test results.
      [ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
      [ERROR] The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
      

      I traced the issue back to the PpidChecker class, the code assumes that /bin/ps or /usr/bin/ps exist but this isn't guaranteed (especially on trimmed down containers commonly used for continuous integration).

      It would be nice to have a fallback mechanism when ps isn't available, or at least check its existence and display an explicit message stating that it must be installed.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                tibor17 Tibor Digana
                Reporter:
                ebourg Emmanuel Bourg
              • Votes:
                2 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: