Bug #77647 [Fbk->Csd]: preload: Access violation in zend_mm_shutdown

From: Date: Sun, 05 Jan 2020 13:34:31 +0000
Subject: Bug #77647 [Fbk->Csd]: preload: Access violation in zend_mm_shutdown
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-224714@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77647&edit=1 ID: 77647 User updated by: mberchtold at gmail dot com Reported by: mberchtold at gmail dot com Summary: preload: Access violation in zend_mm_shutdown -Status: Feedback +Status: Closed Type: Bug Package: opcache Operating System: Windows 10 x64 PHP Version: master-Git-2019-02-21 (snap) Assigned To: cmb Block user comment: N Private report: N New Comment: I was recently testing it (2 weeks ago) with a master snapshot. Same issue. I recommend to close this as the opcache is clearly not usable on Windows at the moment. Previous Comments: ------------------------------------------------------------------------ [2020-01-05 11:58:05] cmb@php.net Please try a recent PHP 7.4 snapshot[1]. Also note that preloading support is very much restricted on Windows currently, and might be dropped altogether[2]. [1] <https://windows.php.net/downloads/snaps/php-7.4/> [2] <https://github.com/php/php-src/pull/4999> ------------------------------------------------------------------------ [2019-04-29 10:00:06] nikic@php.net That's weird, this call is happening as part of an SHM_UNPROTECT region and shouldn't generate an access violation :/ ------------------------------------------------------------------------ [2019-04-16 06:55:14] mberchtold at gmail dot com With opcache.protect_memory=1 and the latest snapshot, I get the following crash now: [Inline Frame] php_opcache.dll!accel_interned_strings_save_state() Line 416 C php_opcache.dll!accel_use_shm_interned_strings() Line 749 C php_opcache.dll!accel_post_startup() Line 2986 C [Inline Frame] php8.dll!zend_post_startup() Line 992 C php8.dll!php_module_startup(_sapi_module_struct * sf, _zend_module_entry * additional_modules, unsigned int num_additional_modules) Line 2337 C php-cgi.exe!php_cgi_startup(_sapi_module_struct * sapi_module) Line 969 C php-cgi.exe!main(int argc, char * * argv) Line 1916 C > [Inline Frame] php-cgi.exe!invoke_main() Line 78 C++ php-cgi.exe!__scrt_common_main_seh() Line 288 C++ kernel32.dll!BaseThreadInitThunk() Unknown ntdll.dll!RtlUserThreadStart() Unknown code: static void accel_interned_strings_save_state(void) { ZCSG(interned_strings).saved_top = ZCSG(interned_strings).top; } debug out: Unhandled exception thrown: write access violation. **accel_shared_globals** was 0x100000000080. ------------------------------------------------------------------------ [2019-04-15 13:38:23] nikic@php.net Support for opcache.protect_memory=1 on Windows has landed in the meantime, so it might be possible to produce a better trace now. (Assuming that ext/phar is not used, which is not compatible with memory protection right now.) ------------------------------------------------------------------------ [2019-03-23 10:31:15] nikic@php.net Thanks for checking! Unfortunately it's hard to do anything here, as a segfault during memory manager shutdown just indicates that memory manager data structures were corrupted at some point, but doesn't really tell us where. This is the point where I'd usually suggest to set opcache.protect_memory=1, but after checking the code this functionality is currently implemented using mprotect() only and has no VirtualProtect() support, so it won't actually do anything on Windows. We should probably add that to make debugging opcache issues easier on Windows... ------------------------------------------------------------------------ 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=77647 -- Edit this bug report at https://bugs.php.net/bug.php?id=77647&edit=1

« previous php.bugs (#224714) next »