Composer update is reporting the following error when updating Drupal Core (no matter to which version, 8.5.x or 8.6.x);


- Updating drupal/core (8.5.6 => 8.6.1): Downloading (100%) The process "unzip -qq 'web/core/d0aae1f2722b0b9203fde990aa92ad76' -d '/var/www/html/vendor/composer/a55bd770'" exceeded the timeout of 300 seconds.
The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)
Unzip with unzip command failed, falling back to ZipArchive class

Composer has been executed inside a Docker container (https://ddev.readthedocs.io/en/latest/, version 1.2.0) on a Windows 10 Pro host machine. The host filesystem is NTFS.

Only seems to happen after deleting all vendor files and then running `composer update` for a clean start.

Comments

mvonfrie created an issue. See original summary.

cilefen’s picture

Status: Active » Postponed (maintainer needs more info)

Is there an upstream issue or upstream FAQ about this? I am not sure how this can be fixed by Drupal. I'll admit it if I'm wrong.

cilefen’s picture

This Composer warning appears to be just a guess, see https://github.com/composer/composer/issues/5938.

longwave’s picture

The real error message here appears to be "unzip exceeded the timeout of 300 seconds"

mvonfrie’s picture

This basically means that the package contains two files or directories with names like MyController.php and myController.php. Under Linux those are two different files but under Windows (NTFS, FAT32, FAT file systems) those two different files are seen as the same. If you can tell me where I can manually download the zip file downloaded by composer I will look into if I can find the files triggering this error message.

cilefen’s picture

composer show vendor/project -a will display the source and dist URLs, for any given package. In this case, use drupal/core.

mlncn’s picture

Issue summary: View changes

@longwave: I increased the timeout and no longer get the error message for Drupal core, but i do get it for a bunch of other projects, for example the dependency phar-stream-wrapper:

Failed to execute unzip -qq '/var/www/drutopia/vendor/typo3/phar-stream-wrapper/f15ac9fedf54dfcf3aff6365697c4302' -d '/var/www/drutopia/vendor/composer/2ab3bfee'

[/var/www/drutopia/vendor/typo3/phar-stream-wrapper/f15ac9fedf54dfcf3aff6365697c4302]
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of /var/www/drutopia/vendor/typo3/phar-stream-wrapper/f15ac9fedf54dfcf3aff6365697c4302 or
/var/www/drutopia/vendor/typo3/phar-stream-wrapper/f15ac9fedf54dfcf3aff6365697c4302.zip, and cannot find /var/www/drutopia/vendor/typo3/phar-stream-wrapper/f15ac9fedf54dfcf3aff6365697c4302.ZIP, period.

The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)
Unzip with unzip command failed, falling back to ZipArchive class

This is in a Vagrant VM, host running Ubuntu and guest running Debian.

mlncn’s picture

Oh and i changed the timeout to 600 following this approach: https://stackoverflow.com/a/49305102/1028376

begrafx’s picture

I've been getting that with the last, I don't know how many updates of Drupal Core. At least back into early 8.5.x . Other modules update without issue, then it comes to Core, and...

 The process "unzip -qq  'web/core/4be5fc05f64f7a79eed2ca19322000ff' -d '/Users/[me}/Projects/{site}/vendor/composer/49d176dc'" exceeded the timeout of 300 seconds.
    The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems)
    Unzip with unzip command failed, falling back to ZipArchive class

Then it'll sit for another 5 minutes or more, and eventually pull the update, and all installs well. But that "error" and delay are awful.

cilefen’s picture

Title: Source files naming issue with case insensitive filesystems » The process "unzip -qq 'web/core/d0aae1f2722b0b9203fde990aa92ad76' -d '/var/www/html/vendor/composer/a55bd770'" exceeded the timeout of 300 seconds.
Status: Postponed (maintainer needs more info) » Closed (won't fix)
Issue tags: +Composer

#4 is the key comment. This is not a Drupal problem per se because there is no way to fix this in the Drupal codebase. File issues with Composer please.

begrafx’s picture

@cliefen

Respectfully, if this issue "is not a Drupal problem why is it that this problem only crops up when updating core? Other modules, themes, etc. Update without incident, yet any of my sites, I know it is going to do this, when I see a core update. I suspect the issue is a capitalization issue in something somewhere within the core structure. I have seen this issue happen at every update since at least 8.5.x.

cilefen’s picture

You can see what I mean in #3 on this line in the composer source.

babis.p’s picture

I came accross this error using while using Vagrant with an Ubuntu 18 guest machine on a Windows 10 host.

After hours of googling, I was able to fix this following these directions.

Steps:

  1. Run vagrant plugin install vagrant-winnfsd
  2. Add a private network to Vagrantfile: config.vm.network "private_network", type: "dhcp"
  3. Change synced folder type to nfs: config.vm.synced_folder ".", "/vagrant", type: "nfs"
  4. Reboot the virtual machine:
    vagrant halt
    vagrant up
5hawn’s picture

@babis.p, can you share your vagrant file? We're running into the same issue with the same setup. We're currently using ubuntu/bionic64 on a Windows 10 host. The steps you shared haven't resolved the issue yet as we're seeing this:
[NFS] Status: running
==> default: Mounting NFS shared folders...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
Stderr from the command:
mount.nfs: Connection timed out

EDIT: the guest edition and virtualbox versions didn't line up. Doing this fixed it: vagrant plugin install vagrant-vbguest

begrafx’s picture

Whatever the issue was, at least in my specific instance, it has been resolved. Things seem to be updating "normally" now.

vindesh’s picture

The process "'/usr/bin/unzip' -qq '/app/vendor/composer/tmp-0f3735eadbb24e99519a74af05175c40' -d '/app/vendor/composer/def9e8bd'" exceeded the timeout of 3
00 seconds.

# composer diag (Check status)

I tried below commands but it does not work for me
# export COMPOSER_PROCESS_TIMEOUT=600 ( defaults to 300 ) -> increate the timeout limit
# composer --global config process-timeout 2000
# COMPOSER_PROCESS_TIMEOUT=-1 docker-compose exec cli composer install

Below Solution work for me...
Add code in composer.json file
"config": {
"process-timeout":0
}
----x----x-----
"scripts": {
"clearCache": "rm -rf cache/*"
}

After that Run your Composer command.

Reference document: https://getcomposer.org/doc/articles/scripts.md#writing-custom-commands

mimran’s picture

following code should fix the composer timeout error
composer config --global process-timeout 2000

if you are experiencing this with lando then, use the following code
lando composer config --global process-timeout 2000

Mayankkumar Jeshti’s picture

#17 resolved my issue with lando. Thanks @mimran