Bug #70022 [NEW]: Crash with opcache using opcache.file_cache_only=1
| From: | suralc dot github at gmail dot com | Date: | Wed, 08 Jul 2015 13:53:48 +0000 |
| Subject: | Bug #70022 [NEW]: Crash with opcache using opcache.file_cache_only=1 | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-194213@lists.php.net to get a copy of this message | ||
From: suralc dot github at gmail dot com
Operating system: Windows 10 Build 10162
PHP version: 7.0Git-2015-07-08 (Git)
Package: opcache
Bug Type: Bug
Bug description:Crash with opcache using opcache.file_cache_only=1
Description:
------------
Note: I am aware that the file based opcache is experimental.
Compiled php (master@f9dc60f36f0c03) using visual studio 2015(RC) on the
latest windows 10 build (x64 host and built) using
`configure --enable-debug --with-openssl --enable-opcache-file
--without-gd`
Opcache config:
opcache.enable=1
opcache.enable_cli=1
opcache.file_cache=e:\programme\dev\php7\tmp
opcache.file_cache_only=1
Setting file_cache_only to 0 prevents the crash.
Running
phpunit executes the tests fine (and prints results) but
crashes afterwards:
First guess is that p->key->gc.u.v which is accessed by the GC_FLAGS
macro which is "called" by the ZSTR_IS_INTERNED macro is already free
when execution reaches accel_reset_pcre_cache. (See the output below)
I was unable to reproduce the crash outside of that environment(phpunit)
so far.
Actual result:
--------------
>? p->key->gc.u.v
{type=??? flags=??? gc_info=??? }
type: <Speicher kann nicht gelesen werden>
flags: <Speicher kann nicht gelesen werden>
gc_info: <Speicher kann nicht gelesen werden>
>? p->key->gc
{refcount=??? u={v={type=??? flags=??? gc_info=??? } type_info=??? } }
refcount: <Speicher kann nicht gelesen werden>
u: {v={type=??? flags=??? gc_info=??? } type_info=??? }
Ausnahmefehler bei 0x00007FFD06498C8E (php_opcache.dll) in php.exe:
0xC0000005: Zugriffsverletzung beim Lesen [Access violation while
reading] an Position 0x0000006DF1603925
> php_opcache.dll!accel_reset_pcre_cache() Zeile 1976 C
php_opcache.dll!accel_shutdown() Zeile 2676 C
php_opcache.dll!zm_shutdown_zend_accelerator(int type, int
module_number) Zeile 420 C
php7ts_debug.dll!module_destructor(_zend_module_entry * module) Zeile
2513 C
php7ts_debug.dll!module_destructor_zval(_zval_struct * zv) Zeile
603 C
php7ts_debug.dll!_zend_hash_del_el_ex(_zend_array * ht, unsigned int
idx, _Bucket * p, _Bucket * prev) Zeile 936 C
php7ts_debug.dll!_zend_hash_del_el(_zend_array * ht, unsigned int idx,
_Bucket * p) Zeile 960 C
php7ts_debug.dll!zend_hash_graceful_reverse_destroy(_zend_array * ht)
Zeile 1406 C
php7ts_debug.dll!zend_destroy_modules() Zeile 1990 C
php7ts_debug.dll!zend_shutdown() Zeile 839 C
php7ts_debug.dll!php_module_shutdown() Zeile 2346 C
php.exe!main(int argc, char * * argv) Zeile 1355 C
[Externer Code]
--
Edit bug report at https://bugs.php.net/bug.php?id=70022&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=70022&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=70022&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=70022&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=70022&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=70022&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=70022&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=70022&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=70022&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=70022&r=support
Expected behavior: https://bugs.php.net/fix.php?id=70022&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=70022&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=70022&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=70022&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=70022&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=70022&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=70022&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=70022&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=70022&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=70022&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=70022&r=mysqlcfg