lorisleiva / laravel-docker

🐳 Generic docker image for Laravel Applications
MIT License
927 stars 313 forks source link

Potential memory issues with 7.4 #49

Closed ragingdave closed 3 years ago

ragingdave commented 4 years ago

Note that this issue was original created to fix some missing dependencies of the new 7.4 image. Scroll down for the memory issue.

Original post below:


I'm not sure what exactly was including it but previous docker images had the exif extension as I am now getting (without any package changes between the last successful build and now):

`

The last successful build in the same repo was Jan 10, 2020 at 11AM EST. This is causing our pipeline to effectively die for no good reason other than a docker build image update. I unfortunately can't share much more than this as it's a private company repo. Additionally I looked the changes in the docker image for php7.3 (stable) and it seems nothing changed there.

Small update as I was writing this, it seems (based on looking at the compressed sizes on docker hub) that stable was replaced last night for 7.4. This seems to break most builds that were using stable and IMHO flies in the face of what "stable" even means. Would you be able to add back exif (as it previously was/is there in the 7.3 build) to the 7.4 build or perhaps just swap stable back to 7.3 until your 7.4 docker image has feature/extension parity with 7.3? This is basically nuking our pipeline right now and appears to have been an overnight change without any announcements to prepare.

lorisleiva commented 4 years ago

Hi there 👋

Thank you for raising this!

That is very strange indeed. I've looked at the PHP 7.4 changelog and diffed the official alpine Dockerfile for 7.3 and 7.4 and there is nothing mentioned about unbundling exif by default.

In any case, I have now explicitly added it for 7.4. I've checked that locally by successfully running php -m | grep exif inside a freshly built container (whereas it wasn't returning anything prior to my last commit so you're 100% right).

A quick note on using stable in your CI: It might be a good idea to use specific versions like 7.3 and then switch to 7.4 whenever your codebase is ready. Otherwise, you might always be the first one to get all the issues when new PHP versions become available. That being said, it is very useful for me to debug haha.

Anyways, this should be all fixed now (as soon as Docker Hub finishes building the images).

P.S.: I'll leave this open until you can confirm that your CI is back to green.

ragingdave commented 4 years ago

So that seems to have improved it, however I am hitting another issue that was previously fixed now:

Error: Call to undefined function easter_days() which I believe ends up being solved via the calendar extension. #44

kreitje commented 4 years ago

I was getting the exif error from the scheduled job that is now cleared up after the update.

Side note: With :latest I am getting errors about memory exhausted on GitLab CI and downgrading to 7.3 solved it.

lorisleiva commented 4 years ago

@ragingdave Yep, calendar was missing from the 7.4 image, I've added it back.

@kreitje Thank you for letting me know. Do you have any idea what was using too many resources? I've decided to support JPEG for the GD extension on 7.4 but I should probably revert this if it's going to be too heavy on CI pipelines.

ragingdave commented 4 years ago

From at least 2 of my repos things appear all good (they are the most complex of my current CI stuff) so I would say things are good from my end. Can't say one way or the other from the jpeg support as my builds don't seem to complain about that in 7.4

kreitje commented 4 years ago

The 2 spots where it ran out of memory on Gitlab CI was dealing with Faker. I will investigate further on my end.

lorisleiva commented 4 years ago

Thanks guys, I've updated the title of the issue so that if other people experience the same problem they can find that thread and help us investigate this.

kreitje commented 4 years ago

I have just come across this https://github.com/laravel/framework/issues/30736 where others hit memory issues with 7.4.

lorisleiva commented 4 years ago

Hey guys, is this still happening with PHP 7.4 or can we close this?