php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #78249 assert(0) hit in _zend_is_inconsistent
Submitted: 2019-07-04 06:46 UTC Modified: 2019-07-08 12:34 UTC
From: sjon@php.net Assigned: sjon (profile)
Status: Closed Package: Reproducible crash
PHP Version: 7.3.7 OS:
Private report: No CVE-ID: None
 [2019-07-04 06:46 UTC] sjon@php.net
Description:
------------
After upgrading 7.3.7 to contain https://github.com/php/php-src/commit/21465ec0e1c1401751b35a21f45f1d57255d5be9 I still have segfaults. Here is a backtrace from my debugbuild (which did not contain this fix)

#0  0x00007ffff72f5755 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff72e0851 in abort () from /usr/lib/libc.so.6
#2  0x00007ffff72e0727 in __assert_fail_base.cold () from /usr/lib/libc.so.6
#3  0x00007ffff72ee026 in __assert_fail () from /usr/lib/libc.so.6
#4  0x0000555555b35475 in _zend_is_inconsistent (ht=0x7fffd2147420, file=0x55555637c570 "Zend/zend_hash.c", line=2100) at Zend/zend_hash.c:67
#5  0x0000555555b3c5bc in _zend_hash_find_known_hash (ht=0x7fffd2147420, key=0x7fffd3934b38) at Zend/zend_hash.c:2100
#6  0x0000555555b8183b in zend_hash_find_ex (ht=0x7fffd2147420, key=0x7fffd3934b38, known_hash=1 '\001') at Zend/zend_hash.h:177
#7  0x0000555555b8190f in zend_hash_find_ex_ind (ht=0x7fffd2147420, key=0x7fffd3934b38, known_hash=1 '\001') at Zend/zend_hash.h:352
#8  0x0000555555be55d8 in ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CV_CONST_HANDLER () at Zend/zend_vm_execute.h:41689
#9  0x0000555555bfe809 in execute_ex (ex=0x7ffff4e20030) at Zend/zend_vm_execute.h:59813
#10 0x0000555555bff922 in zend_execute (op_array=0x7ffff4e82300, return_value=0x0) at Zend/zend_vm_execute.h:60881
#11 0x0000555555b232b0 in zend_execute_scripts (type=8, retval=0x0, file_count=2) at Zend/zend.c:1568
#12 0x0000555555a877e8 in php_execute_script (primary_file=0x7fffffffd490) at main/main.c:2627
#13 0x0000555555c026ed in do_cli (argc=7, argv=0x555556548650) at sapi/cli/php_cli.c:997
#14 0x0000555555c038cc in main (argc=7, argv=0x555556548650) at sapi/cli/php_cli.c:1389



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2019-07-04 06:55 UTC] sjon@php.net
-PHP Version: 7.3.7RC3 +PHP Version: 7.3.7
 [2019-07-04 06:55 UTC] sjon@php.net
in frame 4, p (*ht)->u->flags shows 26
 [2019-07-08 12:34 UTC] sjon@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: sjon
 [2019-07-08 12:34 UTC] sjon@php.net
this was caused by opcache.file_cache=1 where a specific file was corrupt. This was caused by the fact that 7.3.7 was updated after distributions were notified, and Archlinux already pushed the package to their repos. The first 7.3.7 did not include https://github.com/php/php-src/commit/21465ec0e1c1401751b35a21f45f1d57255d5be9

The opcache includes a version-id in the path-hash - but the version-id didn't change between these two 7.3.7 "releases".
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 14:01:32 2024 UTC