[Commented] (SUREFIRE-1422) Forking fails on Linux if /bin/ps isn't available

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Commented] (SUREFIRE-1422) Forking fails on Linux if /bin/ps isn't available

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/SUREFIRE-1422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16248963#comment-16248963 ]

Thomas Raehalme commented on SUREFIRE-1422:
-------------------------------------------

I had a look at the code and looks like it's using the {{-p}} parameter on {{ps}}. Since by default Alpine uses {{ps}} from Busybox, the {{-p}} parameter is not going to work. The procps package needs to be added.

Any chance the code could be modified to not use the {{-p}} parameter?

> Forking fails on Linux if /bin/ps isn't available
> -------------------------------------------------
>
>                 Key: SUREFIRE-1422
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1422
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: process forking
>    Affects Versions: 2.20.1
>         Environment: Linux (Debian 9 with OpenJDK 8)
>            Reporter: Emmanuel Bourg
>            Assignee: Tibor Digana
>             Fix For: 2.21.0.Jigsaw
>
>
> Hi,
> With the changes introduced by SUREFIRE-1302 I'm now experiencing a failure on Linux when the fork mode is enabled:
> {code}
> [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?
> {code}
> 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.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)