-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ErrorException: copy(/tmp/composer_archive60e5622111255.tar): Failed to open stream: No such file or directory #655
Comments
I have similar error with similar deployment: docker-compose:
satis.json:
The problem appers somewhere from 2021-07-02 13:30:00 (GMT+0200) (our last successfull build) EDIT:
|
the problem appears after updating the latest image of satis |
Do you resolved the problem? |
@Seldaek any idea if this could be related to the new parallel downloading? |
Could it be? Yes perhaps.. Is it? I have no idea, sorry. |
I do not use satis in kubernetes nor do I have access to any kubernetes environments at the moment. I was however able to reproduce this locally. The following satis.json produces no errors for me:
However, the moment I add custom archive options, things break. The following satis.json did manage to reproduce the issue:
I'm guessing there is something broken in the way archives are created. @GromNaN Sorry to put this on you again; but is there any chance you could take the time to see if and why the Composer 2.0 changes might have broken this? |
The paths here don't line up with the exception, but it could very well be that even in very very verbose mode we're missing one or two steps in the output. Also the unzip command is mentioned as being async; which is something Composer 2.0 introduced if I am not mistaken.
|
I think the problem is caused by $promise = $this->process->executeAsync($command); here https://github.com/composer/composer/blob/master/src/Composer/Downloader/ZipDownloader.php#L119. $promise->then is never called. Maybe https://github.com/composer/composer/blob/master/src/Composer/Package/Archiver/ArchiveManager.php#L192 is called before the async process is finished? If async command is replaced by $status = $this->process->execute($command); it seems to work |
There was definitely a bug in ArchiveManager there, which is fixed by composer/composer@b602b19 - I don't know if that fixes the issue here or not though. |
I just patched a Satis instance hitting this bug with the fix @Seldaek pushed and it fixed the bug there. |
As soon as a new minor or patch version of |
tks, i will update for checking |
there is a workaround here: I built the docker image myself from this commit 4d42fc6 and it works You can do the same or use my built docker image here temporarily until a new official docker image is updated for the fix https://hub.docker.com/layers/hoatle/satis/4d42fc6/images/sha256-c06491e6a5b8bbf551ca5adce89d38f0d6e29e919c94d2e194cdcdf5f2fc4b09?context=repo |
It fixes for me... But @Seldaek do you know when the next release of composer/composer with your fix will come out? |
Probably next week |
Nice :) |
I am still seeing a similar error even with the latest commits. I am guessing this here https://github.com/composer/satis/blob/main/src/Builder/ArchiveBuilder.php#L200 only creates a promise which needs to be dealt with. I tried this
but that didn't seem to work. |
@fooman if you are confident it is the same issue, we can reopen this. If not, please open a new issue. Include relevant stack traces and logs, and ideally a reproducible scenario. |
Hello,
I've deployed a satis instance using the satis.json from k8s :
1、the configmap file is below:
and i have deployed the satis pod using the persistent volumn that is the way of hostpath
2、the deployment file is below:
but when the pod is running, i find the error logs:

could you help me to solve the problem, thanks very much!
The text was updated successfully, but these errors were encountered: