Skip to content

symfony/process throws error when trying to unlink temp file on windows since 3.0.8 #19416

Closed
@fernandobandeira

Description

@fernandobandeira

This occurs when i try to composer update a laravel project:

  [ErrorException]
  unlink(C:\Users\ferna\AppData\Local\Temp\sf_proc_00.out): Permission denied

Script php artisan optimize handling the post-update-cmd event returned with error code 1

Downgrading to 3.0.7 fix this issue.

Results from debugging:
This issue is caused since this change #19118 and may be related to issue #19336

Thrown in the line 62 of src/Symfony/Component/Process/Pipes/WindowsPipes.php

if (file_exists($file) && !@unlink($file))

The PHP function is_writtable returns true to both $file and $tmpDir.
Removing the @ from the calls gives no extra infos.
Also var_dump(error_get_last()); returns null.
The file exists and it is deleted after the error (the error kill the proccess though) so it may be an issue with another process using the file at the same time?

Using Windows 10 x64 php 7.0.6 composer .

Previously added this as a comment on that issue but it seems a different issue.
Didn't break anything on the projects that i've tested so far so it probably doesn't have a big impact apart from the scary message.

If there's any info's that are required i can provide it.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions