[
https://issues.apache.org/jira/browse/SUREFIRE-1376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tibor Digana closed SUREFIRE-1376.
----------------------------------
Resolution: Fixed
https://git-wip-us.apache.org/repos/asf?p=maven-surefire.git;a=commit;h=59c065f5d4a5a9c181ef9ce788b31305886e8592
> "The forked VM terminated without properly saying goodbye" when running
> Surefire in a very deep project structure on Windows
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: SUREFIRE-1376
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1376
> Project: Maven Surefire
> Issue Type: Bug
> Components: Maven Failsafe Plugin, Maven Surefire Plugin
> Affects Versions: 2.20
> Environment: Windows
> Reporter: Guillaume Boué
> Assignee: Tibor Digana
> Fix For: 2.20.1
>
> Attachments: SUREFIRE-1376-prefix.patch
>
>
> When Surefire is ran on a project under a very long path (exceeding Windows'
> {{MAX_PATH}}), the invocation fails with
> {noformat}
> org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM
> terminated without properly saying goodbye. VM crash or System.exit called?
> {noformat}
> In the generated dumpstream, there is
> {noformat}
> # Created on 2017-05-28T10:17:09.474
> Error: Unable to access jarfile
> C:\Users\Guillaume\Desktop\surefire-longpath-test-with-windows\surefire-longpath-test-with-windows\surefire-longpath-test-with-windows\surefire-longpath-test-with-windows\surefire-longpath-test-with-windows\surefire-longpath-test-with-windows\target\surefire\surefirebooter2512478076549179739.jar
> {noformat}
> The problem is that the path to the JAR file exceeds the maximum path length
> of 260 characters, and so it cannot be accessed.
> Prepending the path to the JAR file with {{\\?\}}, [as documented
> on
> MSDN|https://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx#maxpath],
> makes the test run again correctly. I've attached a possible patch with this
> approach (SUREFIRE-1376-prefix.patch, that also handles UNC pathnames), but
> perhaps there is a better way to tackle this problem.
> In order to reproduce this, it is possible to create a project under lots of
> different subdirectories, something like:
> {noformat}
> └───surefire-longpath-test-with-windows
> └───surefire-longpath-test-with-windows
> └───surefire-longpath-test-with-windows
> └───surefire-longpath-test-with-windows
> └───surefire-longpath-test-with-windows
> │ pom.xml
> │
> └───src
> └───test
> └───java
> └───Test.java
> {noformat}
> As a side-note, this issue is behind the current Jenkins failures on
> [maven-plugins-ITs-m3.1.x-with-maven-plugin-jdk-1.8_windows|https://builds.apache.org/job/maven-plugins-ITs-m3.1.x-with-maven-plugin-jdk-1.8_windows/3702/]
> when running the ITs on the Assembly Plugin.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)