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

From: 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

« previous php.bugs (#210093) next »