Bug #74833 [Com]: Random crashes, seemingly related to DateTimeImmutable and mod_php

From: Date: Mon, 17 Jul 2017 17:49:46 +0000
Subject: Bug #74833 [Com]: Random crashes, seemingly related to DateTimeImmutable and mod_php
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-210092@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74833&edit=1

 ID:                 74833
 Comment by:         mike dot fellows at shaw dot ca
 Reported by:        mike dot fellows at shaw dot ca
 Summary:            Random crashes, seemingly related to
                     DateTimeImmutable and mod_php
 Status:             Assigned
 Type:               Bug
 Package:            Apache2 related
 Operating System:   Windows 7 64 bit, MacOs, Linux
 PHP Version:        7.0.1 to 7.1.6
 Assigned To:        ab
 Block user comment: N
 Private report:     N

 New Comment:

I also have just the mini-dump.  It is about 1 MByte in size.


Previous Comments:
------------------------------------------------------------------------
[2017-07-17 17:44:04] mike dot fellows at shaw dot ca

I've seen another crash, this one with 7.2 alpha 3.  Here is the Call Stack from Visual Studio:

php7ts.dll!zif_get_defined_constants(_zend_execute_data * execute_data, _zval_struct * return_value)
Line 2102	C
php7ts.dll!ZEND_DO_FCALL_BY_NAME_SPEC_RETVAL_USED_HANDLER(_zend_execute_data * execute_data) Line
827	C
php7ts.dll!execute_ex(_zend_execute_data * ex) Line 59085	C
php7ts.dll!zend_execute(_zend_op_array * op_array, _zval_struct * return_value) Line 63117	C
php7ts.dll!zend_execute_scripts(int type, _zval_struct * retval, int file_count, ...) Line 1491	C
php7ts.dll!php_execute_script(_zend_file_handle * primary_file) Line 2550	C
php7apache2_4.dll!php_handler(request_rec * r) Line 702	C
libhttpd.dll!00000000549ae9e5()	Unknown
libhttpd.dll!00000000549ad7e0()	Unknown
libhttpd.dll!00000000549aa1e6()	Unknown
mod_rewrite.so!000000006f3353c8()	Unknown
libhttpd.dll!00000000549ae9e5()	Unknown
libhttpd.dll!00000000549ad7e0()	Unknown
libhttpd.dll!00000000549aa49a()	Unknown
libhttpd.dll!00000000549aa527()	Unknown
libhttpd.dll!00000000549a3b73()	Unknown
libhttpd.dll!00000000549b1885()	Unknown
libhttpd.dll!00000000549b1675()	Unknown
libhttpd.dll!00000000549c1734()	Unknown
[External Code]

Same as the previous one it seems.

I have saved a mini dump with the heap. The file is about 160 MBytes.  @ab if you would like the
dump file does bugs.php.net have a way to upload the file somehow?

------------------------------------------------------------------------
[2017-07-12 18:04:10] mike dot fellows at shaw dot ca

I've been running the 7.2 alpha3 release for almost a week now without any crashes.  I only saw
the one crash in alpha2 I noted in my comment above.

I have not been doing any specific testing to try to trigger the bug.  Just the normal development
work with CakePHP, including it's Chronos package, which was triggering crashes regularly in my
windows environment with 7.1.  Before I changed to 7.2 alpha2/3 I was seeing about 10-15 crashes a
day.  So a very big improvement with the 7.2 alpha releases.

I will continue to work with 7.2 and report any new crashes when/if they happen.  I can also create
a full dump from SQL studio if any occur.

------------------------------------------------------------------------
[2017-07-07 13:28:19] ab@php.net

Thanks for that. So there might be still some leftover. Did your system generate a minidump? Or,
maybe you've found some better way to repro?

On your side, i would try to make some stress test while using get_defined_constants(). Like use ab
with high concurrency. With or without your app, with core only and with full set of the exts you
use. While the last backtrace is different, it could be still some leftover not fixed, or something
completely different. Lets see for further info.

Thanks.

------------------------------------------------------------------------
[2017-07-06 17:15:07] mike dot fellows at shaw dot ca

@ab I've been testing php7.2.0 alpha2 for the last two days.  I was not able to test it as much
as I'd like because I've been fixing application bugs due to 7.2 changes.  There were no
crashes for the last two days.  But this morning I did have a crash.

Here is the error output from Visual Studio:

The thread 0x28d8 has exited with code 0 (0x0).
The thread 0xa50 has exited with code 0 (0x0).
The thread 0x1668 has exited with code 0 (0x0).
Unhandled exception at 0x000007FED85F2A44 (php7ts.dll) in httpd.exe: 0xC0000005: Access violation
reading location 0x0000000000000000.


And here is the Call Stack:

php7ts.dll!zif_get_defined_constants(_zend_execute_data * execute_data, _zval_struct * return_value)
Line 2103	C
php7ts.dll!ZEND_DO_FCALL_BY_NAME_SPEC_RETVAL_USED_HANDLER(_zend_execute_data * execute_data) Line
827	C
php7ts.dll!execute_ex(_zend_execute_data * ex) Line 59218	C
php7ts.dll!zend_execute(_zend_op_array * op_array, _zval_struct * return_value) Line 63244	C
php7ts.dll!zend_execute_scripts(int type, _zval_struct * retval, int file_count, ...) Line 1538	C
php7ts.dll!php_execute_script(_zend_file_handle * primary_file) Line 2548	C
php7apache2_4.dll!php_handler(request_rec * r) Line 702	C
libhttpd.dll!000000007422e9e5()	Unknown
libhttpd.dll!000000007422d7e0()	Unknown
libhttpd.dll!000000007422a1e6()	Unknown
mod_rewrite.so!0000000073ed53c8()	Unknown
libhttpd.dll!000000007422e9e5()	Unknown
libhttpd.dll!000000007422d7e0()	Unknown
libhttpd.dll!000000007422a49a()	Unknown
libhttpd.dll!000000007422a527()	Unknown
libhttpd.dll!0000000074223b73()	Unknown
libhttpd.dll!0000000074231885()	Unknown
libhttpd.dll!0000000074231675()	Unknown
libhttpd.dll!0000000074241734()	Unknown
[External Code]


I notice that alpha 3 was released today.  I will upgrade to that release and continue with my
testing.

------------------------------------------------------------------------
[2017-07-04 17:17:14] mike dot fellows at shaw dot ca

Got it, thanks.  I will let you know how the testing goes in the next few days.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=74833


--
Edit this bug report at https://bugs.php.net/bug.php?id=74833&edit=1


Thread (31 messages)

« previous php.bugs (#210092) next »