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

Tibor Digana commented on SUREFIRE-1573:
----------------------------------------

[~scott.cameron]
Acctually, this means both, it is safe to use these versions and it is in 
progress.
We disabled the ppid checker in Nov 2019 due to these troubles.
We are reworking the internal code in the milestones, and we will change some 
config in the last milestone, see the [road 
map|https://maven.apache.org/surefire/maven-surefire-plugin/]. Meanwhile it 
won't mean any impact unless you are a developer of surefire providers (since 
the provider API would be changed but that's only java code). The users would 
not see any impact in their projects POM with M5 and M6. Of course we are 
fixing the bugs along.

> PpidChecker inherits and blocks resources from tests while checking if the 
> forked VM is still alive
> ---------------------------------------------------------------------------------------------------
>
>                 Key: SUREFIRE-1573
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1573
>             Project: Maven Surefire
>          Issue Type: Bug
>    Affects Versions: 2.22.0
>         Environment: Windows, our tests create temporary files using 
> native-code (std::fstream) and remove or rename them using boost::filesystem. 
> Java 1.8.
>            Reporter: Marcus Ackermann
>            Priority: Critical
>
> On Windows, the PpidChecker executes wmic through cmd by starting a new 
> process. Java calls {{CreateProcess}} with the flag {{bInheritHandles=TRUE}}.
> When I create a temporary file in a test, it happens that this file can 
> neither be removed nor deleted. The error code is the following (from 
> https://docs.microsoft.com/en-us/windows/desktop/debug/system-error-codes--0-499-)
> {code:java}
> ERROR_SHARING_VIOLATION
> 32 (0x20)
> The process cannot access the file because it is being used by another 
> process.{code}
> I found out that this sharing violation is due to the fact that the process 
> started from PpidChecker also owns the file inherited from the test process.
> This seems to be a side-effect of the new monitoring mechanism for the forked 
> VM introduced in 2.20.1 with SUREFIRE-1302.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to