Bug #78335 [Ver]: Segfault in zend_mm_find_leaks_small

From: Date: Mon, 29 Jul 2019 12:32:38 +0000
Subject: Bug #78335 [Ver]: Segfault in zend_mm_find_leaks_small
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-221990@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78335&edit=1

 ID:                 78335
 Updated by:         nikic@php.net
 Reported by:        kelunik@php.net
 Summary:            Segfault in zend_mm_find_leaks_small
 Status:             Verified
 Type:               Bug
 Package:            Reproducible crash
 Operating System:   Ubuntu 19.04
 PHP Version:        7.3.7
 Block user comment: N
 Private report:     N

 New Comment:

Repro for leaks turned out to be quite simple:

<?php  
class Test {
    public static $test;
}
$foo = [&$foo];
Test::$test = $foo;


Previous Comments:
------------------------------------------------------------------------
[2019-07-29 11:18:40] nikic@php.net

Leak messages reproduce on 7.3 and master, segfault only on 7.3.

------------------------------------------------------------------------
[2019-07-25 16:27:23] kelunik@php.net

Description:
------------
PHP segfaults in debug builds inside the memory leak detection code.

Test script:
---------------
<?php

// https://github.com/amphp/hpack/issues/2
// Commit: 0c16dfb577458dd3527167c0cb4807f5ccf76b59

require __DIR__ . '/vendor/autoload.php';

(function () {
    var_dump(count(static::$huffmanLookup));
})->bindTo(new Amp\Http\HPack, Amp\Http\HPack::class)();



Expected result:
----------------
No segfault.

Actual result:
--------------
Program received signal SIGSEGV, Segmentation fault.

#0  0x0000555555dfa121 in zend_mm_find_leaks_small (p=0x7ffff3600000, i=509, j=38,
leak=0x7fffffffbb80) at /home/kelunik/.php-build/release/Zend/zend_alloc.c:2056
#1  0x0000555555dfa285 in zend_mm_find_leaks (heap=0x7ffff4000040, p=0x7ffff3600000, i=509,
leak=0x7fffffffbb80) at /home/kelunik/.php-build/release/Zend/zend_alloc.c:2084
#2  0x0000555555dfa768 in zend_mm_check_leaks (heap=0x7ffff4000040) at
/home/kelunik/.php-build/release/Zend/zend_alloc.c:2188
#3  0x0000555555dfaa49 in zend_mm_shutdown (heap=0x7ffff4000040, full=0, silent=0) at
/home/kelunik/.php-build/release/Zend/zend_alloc.c:2253
#4  0x0000555555dfb852 in shutdown_memory_manager (silent=0, full_shutdown=0) at
/home/kelunik/.php-build/release/Zend/zend_alloc.c:2668
#5  0x0000555555d98468 in php_request_shutdown (dummy=0x0) at
/home/kelunik/.php-build/release/main/main.c:1949
#6  0x0000555555f128c7 in do_cli (argc=2, argv=0x55555697cde0) at
/home/kelunik/.php-build/release/sapi/cli/php_cli.c:1164
#7  0x0000555555f13141 in main (argc=2, argv=0x55555697cde0) at
/home/kelunik/.php-build/release/sapi/cli/php_cli.c:1389


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=78335&edit=1


Thread (5 messages)

« previous php.bugs (#221990) next »