Composer Memory Issue: proc_open(): fork failed - Cannot allocate memory

I rebuilt my arandomproject server, in favor of this one, but this worked on that server just fine. As far as I know it is setup the exact same way.

When I run this command, in /var/www/:

composer create-project --repository=https://repo.magento.com/ magento/project-community-edition arandomproject
I get the following messages including the following error:

Installing magento/project-community-edition (2.3.2)
  - Installing magento/project-community-edition (2.3.2): Loading from cache

Created project in arandomproject
Loading composer repositories with package information
Updating dependencies (including require-dev)

Package operations: 422 installs, 0 updates, 0 removals
  - Installing magento/magento-composer-installer (0.1.13): Loading from cache

    proc_open(): fork failed - Cannot allocate memory

    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

The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details

PHP Warning:  proc_open(): fork failed - Cannot allocate memory in phar:///usr/bin/composer/vendor/symfony/console/Application.php on line 952
Warning: proc_open(): fork failed - Cannot allocate memory in phar:///usr/bin/composer/vendor/symfony/console/Application.php on line 952

[ErrorException]                                   
proc_open(): fork failed - Cannot allocate memory      

2 Replies

The ErrorException you're seeing means that there's simply not enough memory available to run the job on your Linode. There's another Community post with regards to a Symfony Compose job, that explains a Nanode is usually insufficient for running this, as the required memory for this job and anything else on the server usually will be too much on the Linode. In that case, it was determined that a 2GB Linode was the minimum needed for that job.

If you can determine that the size of the Linode plan you're using isn't sufficient, you can resize your Linode at any time. This can be helpful with testing out the available memory needed for the job.

We have a post that lists a few tools you can use to gauge the memory use on your Linode that may be helpful in determining if it is memory related specifically. Additionally, there's a section in Composer's documentation related to this very error.

You mentioned that this is on a rebuilt server, but it worked on the previous server. Is it possible that there's more running on this server? If not, then it may be something else.

I also found this very informative post on StackOverflow, which has a number of possible steps you can take to fix this issue. Some of the suggestions in that post include:

  • Upgrading PHP version
  • Reallocating additional swap
  • Remove vendor directory to not build from cache

Reviewing the options, I'd personally opt for resizing the Linode, as this could take a few moments of time to determine if the additional resources were all that was needed.

I certainly will give it a try, I was just hoping to avoid that. I will also look at the other suggestions as well. Thanks.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct