Bug #74833 [Asn]: Random crashes, seemingly related to DateTimeImmutable and mod_php
| From: | ab@php.net | Date: | Mon, 17 Jul 2017 17:54:37 +0000 |
| Subject: | Bug #74833 [Asn]: Random crashes, seemingly related to DateTimeImmutable and mod_php | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-210093@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
Updated by: ab@php.net
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:
Thanks for staying on this. Nope, bugs.php.net doesn't have this facilities. But a couple of
days ago I've seen people sharing files through https://www.transfernow.net/en/ , any other service like
that will suffice. The full dump were of course great. Please ensure before, that it doesn't
contain any sensitive data.
So basically it's get_defined_constants() that has some issues. It would still make sense to
check a reproduce possibility. As it might be something simple, or something that depends on the app
code or the extensions constellation, etc. Anyway, a dump is a good start already.
Thanks.
Previous Comments:
------------------------------------------------------------------------
[2017-07-17 17:49:45] mike dot fellows at shaw dot ca
I also have just the mini-dump. It is about 1 MByte in size.
------------------------------------------------------------------------
[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.
------------------------------------------------------------------------
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