Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-27026

Fatal error when doing composer update on a ezpublish 5.3.x installation under php5.3.3

    Details

    • Type: Bug Bug
    • Status: InputQ
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: 5.3.11
    • Fix Version/s: QA tracked issues
    • Labels:
    • Environment:

      PHP Version: 5.3.3
      Database and version: Mysql 5.1.52

      Description

      When updating a 5.3.x installation, using 5.3 update instructions, I have an error when doing the third step, the composer update instruction.

       [ErrorException]                         
        Invalid argument supplied for foreach() 
      

      Steps to reproduce

      1st Method
      -untar a 5.3.0 tarball
      -access ezpublish5 folder
      -run 5.3 update instructions.
      -In the 3rd instruction, i.e, php -d memory_limit=-1 composer.phar update --no-dev --prefer-dist --no-scripts ezsystems/ezpublish-legacy-installer the error happens

      2nd Method
      Starting from latest 5.3.11 installation, and in this case I used an updated composer.phar
      -Execute php -d memory_limit=-1 composer.phar update --no-dev --prefer-dist

      If I do the same instructions under php 5.4.x, then the error do not happen
      I also tries to clean composer cache (~/.composer/cache) and the error still happens
      My apache error.log doesn't have any additional information

      A verbose composer update gives me

      Running 1.0.3 (2016-04-29 16:30:15) with PHP 5.3.3 on Linux / 2.6.32-431.11.2.el6.x86_64
      Reading ./composer.json
      Loading config file /home/vagrant/.composer/config.json
      Loading config file /home/vagrant/.composer/auth.json
      Loading config file ./composer.json
      Checking CA file /etc/pki/tls/certs/ca-bundle.crt
      Executing command (/var/www/html/ezp53/ezpublish5): git branch --no-color --no-abbrev -v
      Executing command (/var/www/html/ezp53/ezpublish5): git describe --exact-match --tags
      Failed to initialize global composer: Composer could not find the config file: /home/vagrant/.composer/composer.json
      To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
      Reading /var/www/html/ezp53/ezpublish5/vendor/composer/installed.json
      The "ezsystems/ezpublish-legacy-installer" plugin requires composer-plugin-api 1.0.0, this *WILL* break in the future and it should be fixed ASAP (require ^1.0 for example).
      Loading plugin eZ\Publish\Composer\InstallerPlugin
      The "bitexpert/composer-authstore-plugin" plugin requires composer-plugin-api 1.0.0, this *WILL* break in the future and it should be fixed ASAP (require ^1.0 for example).
      Loading plugin bitExpert\Composer\Auth\AuthStorePlugin
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezwt'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezstarrating'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezsi'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezscriptmonitor'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezprestapiprovider'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezodf'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezmultiupload'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezmbpaex'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezie'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezgmaplocation'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezflow'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezdemo'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ezautosave'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy base directory is 'ezpublish_legacy/'
      eZ Publish legacy extension directory is 'ezpublish_legacy/extension/ngsymfonytools'
      Reading ./composer.lock
      Loading composer repositories with package information
      Downloading https://updates.ez.no/bul/packages.json
      Writing /home/vagrant/.composer/cache/repo/https---updates.ez.no-bul/packages.json into cache
      Downloading https://updates.ez.no/bul/packages.json
      Writing /home/vagrant/.composer/cache/repo/https---updates.ez.no-bul/packages.json into cache
      Downloading https://updates.ez.no/bul/packages.json
      Writing /home/vagrant/.composer/cache/repo/https---updates.ez.no-bul/packages.json into cache
       
                                                 
        [ErrorException]                         
        Invalid argument supplied for foreach()  
                                                 
       
      Exception trace:
       () at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Repository/ComposerRepository.php:572
       Composer\Util\ErrorHandler::handle() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Repository/ComposerRepository.php:572
       Composer\Repository\ComposerRepository->loadIncludes() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Repository/ComposerRepository.php:538
       Composer\Repository\ComposerRepository->loadDataFromServer() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Repository/ComposerRepository.php:426
       Composer\Repository\ComposerRepository->initialize() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Repository/ArrayRepository.php:181
       Composer\Repository\ArrayRepository->getPackages() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Repository/ComposerRepository.php:187
       Composer\Repository\ComposerRepository->getPackages() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/DependencyResolver/Pool.php:104
       Composer\DependencyResolver\Pool->addRepository() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Installer.php:402
       Composer\Installer->doInstall() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Installer.php:228
       Composer\Installer->run() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Command/UpdateCommand.php:173
       Composer\Command\UpdateCommand->execute() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/vendor/symfony/console/Command/Command.php:259
       Symfony\Component\Console\Command\Command->run() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/vendor/symfony/console/Application.php:844
       Symfony\Component\Console\Application->doRunCommand() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/vendor/symfony/console/Application.php:192
       Symfony\Component\Console\Application->doRun() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Console/Application.php:189
       Composer\Console\Application->doRun() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/vendor/symfony/console/Application.php:123
       Symfony\Component\Console\Application->run() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/src/Composer/Console/Application.php:99
       Composer\Console\Application->run() at phar:///var/www/html/ezp53/ezpublish5/composer.phar/bin/composer:43
       require() at /var/www/html/ezp53/ezpublish5/composer.phar:24
       
      update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-i|--interactive] [--root-reqs] [--] [<packages>]...
      

      If

        Activity

        Hide
        André Rømcke added a comment -

        Composer version?

        Show
        André Rømcke added a comment - Composer version?
        Hide
        Paulo Nunes (Inactive) added a comment -

        I separated the "steps to reproduce" in 2 method due composer version, since this happens with both
        (1st method) Following 5.3 instructions, the first part is done with v1.0.3 (and the error happens) (
        (2nd method) is done using latest composer version v1.3.2

        Show
        Paulo Nunes (Inactive) added a comment - I separated the "steps to reproduce" in 2 method due composer version, since this happens with both (1st method) Following 5.3 instructions, the first part is done with v1.0.3 (and the error happens) ( (2nd method) is done using latest composer version v1.3.2
        Hide
        Gunnstein Lye added a comment - - edited

        Trying with PHP 5.3.3 on CentOS 6.5:

        • ezp 5.3.0 completes the install. Update fails as described in "1st method".
        • ezp 5.3.9 won't install: php 5.5 or 7.0 is required for doctrine/cache 1.6.0, and others. Update fails as described in "2nd method".

        Will try with xdebug.

        Show
        Gunnstein Lye added a comment - - edited Trying with PHP 5.3.3 on CentOS 6.5: ezp 5.3.0 completes the install. Update fails as described in "1st method". ezp 5.3.9 won't install: php 5.5 or 7.0 is required for doctrine/cache 1.6.0, and others. Update fails as described in "2nd method". Will try with xdebug.
        Hide
        Gunnstein Lye added a comment - - edited

        Having trouble getting xdebug to run with composer.phar. See screenshot: composer-xdebug.png. It works for a plain php file. I am setting COMPOSER_ALLOW_XDEBUG, but it seems to have no effect.

        Interestingly, composer will alternately fail like this, or run in an apparently infinite loop, trying to load package info.

        Also, the error happens both with an up-to-date composer 1.4.2, as well as with the 1.0.3 that is doc-ed to use for early ezp 5.3.x releases.

        Show
        Gunnstein Lye added a comment - - edited Having trouble getting xdebug to run with composer.phar. See screenshot: composer-xdebug.png. It works for a plain php file. I am setting COMPOSER_ALLOW_XDEBUG, but it seems to have no effect. Interestingly, composer will alternately fail like this, or run in an apparently infinite loop, trying to load package info. Also, the error happens both with an up-to-date composer 1.4.2, as well as with the 1.0.3 that is doc-ed to use for early ezp 5.3.x releases.

          People

          • Assignee:
            Unassigned
            Reporter:
            Paulo Nunes (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0 minutes
              0m
              Logged:
              Time Spent - 1 day, 4 hours
              1d 4h