Bug #74833 [Asn]: Random crashes, seemingly related to DateTimeImmutable and mod_php
| From: | ab@php.net | Date: | Wed, 26 Jul 2017 10:59:02 +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-210350@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:
Finally i got to the point on this. After the investigation, I don't see any issues with the
string interning. I'm going to push a patch soon. Otherwise, you might have luck with
reproducing on alpha3 with the code like this
session_start();
session_regenerate_id();
session_regenerate_id();
get_defined_constants(true);
I'm pretty sure the issue lays on the SID constant handling, but i don't reproduce it on
my environment. I guess it depends very much on your application logic and ini, maybe some system
specific factor, too. So you might luck reproducing it either by stress testing the snippet above or
even better by analyzing your application and paying attention to the parts where
session_regenerate_id() is used.
Thanks.
Previous Comments:
------------------------------------------------------------------------
[2017-07-19 20:29:56] ab@php.net
@mike thanks for the crash dump. I'll get back to you with some findings after investigating on
it.
Thanks.
------------------------------------------------------------------------
[2017-07-17 19:12:39] mike dot fellows at shaw dot ca
@ab, I have emailed you a link to the minidump with heap.
------------------------------------------------------------------------
[2017-07-17 17:54:31] ab@php.net
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.
------------------------------------------------------------------------
[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?
------------------------------------------------------------------------
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