|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2019-07-25 16:27 UTC] 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 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 09:00:02 2025 UTC |
Repro for leaks turned out to be quite simple: <?php class Test { public static $test; } $foo = [&$foo]; Test::$test = $foo;