On Thu, 10 Nov 2016, Dmitry Stogov wrote: > On Nov 9, 2016 20:45, Derick Rethans <der...@php.net> wrote: > > > > On Wed, 9 Nov 2016, Nikita Popov wrote: > > > > > On Wed, Nov 9, 2016 at 4:09 PM, Derick Rethans <der...@php.net> wrote: > > > > > > > On Wed, 9 Nov 2016, Christoph M. Becker wrote: > > > > > > > > > On 09.11.2016 at 15:21, Derick Rethans wrote: > > > > > > > > <snip> > > > > > > > > > > And running it with "valgrind php -n index.php", produces: > > > > > > > > > > > > root@debian-8-64bit:/home/derick/xdebug-issue-1185# valgrind > > > > > > php -n index.php > > > > > > ==760== Memcheck, a memory error detector > > > > > > ==760== Copyright (C) 2002-2013, and GNU GPL'd, by Julian > > > > > > Seward et al. > > > > > > ==760== Using Valgrind-3.10.0 and LibVEX; rerun with -h for > > > > > > copyright info > > > > > > ==760== Command: php -n index.php > > > > > > ==760== > > > > > > ==760== Conditional jump or move depends on uninitialised > > > > > > value(s) > > > > > > ==760== at 0x797992: zend_std_get_static_method > > > > > > (zend_object_handlers.c:1261) > > > > > > ==760== by 0x7B66FE: > > > > > > ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CONST_HANDLER > > > > > > (zend_vm_execute.h:3887) > > > > > > ==760== by 0x7A379F: execute_ex (zend_vm_execute.h:363) > > > > > > ==760== by 0x76E2AF: zend_execute_scripts (zend.c:1341) > > > > > > ==760== by 0x70CC87: php_execute_script (main.c:2613) > > > > > > ==760== by 0x81A990: do_cli (php_cli.c:998) > > > > > > ==760== by 0x431996: main (php_cli.c:1382) > > > > > > ==760== > > > > > > > > > zend_std_get_static_method() declares use_heap[1] (if there's support > > > > > for alloca), but doesn't initialize it with SET_ALLOCA_FLAG()[2]. It > > > > > seems to me that ALLOCA_FLAG()[3] should be defined like so: > > > > > > > > > > # define ALLOCA_FLAG(name) \ > > > > > zend_bool name = 0; > > > > > > > > That sounds about right - Dmitry, Nikita? > > > > > > This shouldn't be a problem. alloca is only used in the !key branches, in > > > which case the flag is initialized by do_alloca. > > > > However, it is a problem as my valgrind note says. However, I wouldn't > > be surprised if this was a (Debian) GCC bug. I can't reproduce this when > > I change -O2 to -O0 in the Makefile. > > > > In the past, I have found a similar issue in Xdebug, where it was really > > something Xdebug was doing wrong, but in a very vague way > > (https://github.com/xdebug/xdebug/commit/c36ea38141cb9403ff4bf72602fcf4ae62e5ba1e). > > > > However, right now, it's a bug with this GCC version. > > This is possible. In this backtracked "key" has to be not NULL, and > the line 1261 shouldn't be reached at all.
No, but it does, and I think this is something we should look at addressing, as it's a bog standard Debian install. cheers, Derick -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php