Edit report at https://bugs.php.net/bug.php?id=80376&edit=1
ID: 80376
Updated by: requinix@php.net
Reported by: mav2287 at aol dot com
Summary: last day of the month causes runway cpu usage
-Status: Open
+Status: Feedback
Type: Bug
Package: Date/time related
Operating System: OS X 10.11.6 El Capitan
PHP Version: 7.4.12
Block user comment: N
Private report: N
New Comment:
Unless someone else can reproduce this (I couldn't on Linux),
Can you try running PHP with gdb or another debugger attached, run the code to the point it hangs,
interrupt PHP so you return to the debugger, and get a backtrace? Hopefully that will help identify
what sort of loop is involved.
Previous Comments:
------------------------------------------------------------------------
[2020-11-17 19:41:20] mav2287 at aol dot com
In case it isn't clear when using the sample script once you execute "$newDate =
$date->modify('last day of this month');" PHP will hang. You will never get the
chance to go to the next step of the script and do "php > var_dump($newDate);" as the
object is never created,
------------------------------------------------------------------------
[2020-11-17 19:38:15] mav2287 at aol dot com
Description:
------------
As discovered and documented via the Mac Ports project ( see ticket url below ) php versions 7.3.23
& 7.4.11 and newer seem to create a process with runaway CPU usage when attempting to get the
last day of the month. This runaway process seems to continue indefinitely and consumes 100% cpu.
Orignal Mac Ports Ticket:
https://trac.macports.org/ticket/61351
Test script:
---------------
# php -a
Interactive shell
php > $date = new \DateTime();
php > $newDate = $date->modify('last day of this month');
php > var_dump($newDate);
Expected result:
----------------
creation of a DateTime object and a blinking cursor awaiting new command
Actual result:
--------------
PHP will hang indefinitely and the php process will consume 100% cpu until manually killed
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=80376&edit=1