Hi Anatol,

Sorry, I fogot to include the output of the grep.

[frank@dev php-src-7]$ grep -rn _live_range  Zend/
Zend/zend_opcode.c:83:    op_array->last_live_range = 0;
Zend/zend_compile.h:176:typedef struct _zend_live_range {
Zend/zend_compile.h:179:} zend_live_range;
Zend/zend_compile.h:364:    int last_live_range;
Zend/zend_compile.h:366:    zend_live_range *live_range;
Zend/zend_compile.c:579:static uint32_t zend_start_live_range(zend_op_array *op_array, uint32_t start) /* {{{ */
Zend/zend_compile.c:581:    zend_live_range *range;
Zend/zend_compile.c:583:    op_array->last_live_range++;
Zend/zend_compile.c:584: op_array->live_range = erealloc(op_array->live_range, sizeof(zend_live_range) * op_array->last_live_range); Zend/zend_compile.c:585: range = op_array->live_range + op_array->last_live_range - 1;
Zend/zend_compile.c:587:    return op_array->last_live_range - 1;
Zend/zend_compile.c:591:static void zend_end_live_range(zend_op_array *op_array, uint32_t offset, uint32_t end) /* {{{ */ Zend/zend_compile.c:593: zend_live_range *range = op_array->live_range + offset; Zend/zend_compile.c:595: if (range->start == end && offset == op_array->last_live_range - 1) {
Zend/zend_compile.c:596:        op_array->last_live_range--;
Zend/zend_compile.c:619: info.u.live_range_offset = zend_start_live_range(CG(active_op_array), start); Zend/zend_compile.c:643: zend_end_live_range(CG(active_op_array), loop_var->u.live_range_offset, end); Zend/zend_compile.c:6472: range = zend_start_live_range(CG(active_op_array), get_next_op_number(CG(active_op_array))); Zend/zend_compile.c:6485: zend_end_live_range(CG(active_op_array), range, get_next_op_number(CG(active_op_array))); Zend/zend_compile.c:6807: uint32_t range = zend_start_live_range(CG(active_op_array), rope_init_lineno); Zend/zend_compile.c:6822: zend_end_live_range(CG(active_op_array), range, opline - CG(active_op_array)->opcodes); Zend/zend_execute.c:2552: for (i = 0; i < EX(func)->op_array.last_live_range; i++) { Zend/zend_execute.c:2553: const zend_live_range *range = &EX(func)->op_array.live_range[i];


- Frank

On 11/11/15 11:38, Frank M. Kromann wrote:
Hi Anatol,

Here is what I have

[frank@dev php-src-7]$ git show
commit d1077f7a897d9267a0cad3d64663fd952dd1c6b2
Merge: e88e3f2 a2e59e7
Author: Anatol Belski <a...@php.net>
Date:   Wed Nov 11 16:35:07 2015 +0100

    Merge branch 'PHP-7.0'

    * PHP-7.0:
      fix format macro names in UPGRADING.INTERNALS

[frank@dev php-src-7]$ git status
# On branch master
# Untracked files:

I think that is the latest from git.php.net?

- Frank

On 11/11/15 11:34, Anatol Belski wrote:
Hi Frank,

-----Original Message-----
From: Frank M. Kromann [mailto:f...@php.net]
Sent: Wednesday, November 11, 2015 8:14 PM
To: Dmitry Stogov <dmi...@zend.com>
Cc: PHP Internals <internals@lists.php.net>
Subject: Re: [PHP-DEV] PHP 7 Segmentation fault

Hi Dmitry,

Yes this is the master branch. I have previously tested it on the
PHP-7.0 branch with the same result. I will do that again to verify that the
problem is the same.

I run vcsclean, buildconf, configure, make at least once a day. I do not run the make install as that will break all the sites on my dev box. I'm just testing the
new binary with a command line script.

I just did all the steps above and the result is still the same. I'll try to create a small script that can be used to reproduce the problem, but it might be tricky as it seems to have to do with the number of autoloaded classes, a problem with
my PHP code (although PHP should not seg fault in that case).

I've just checked for zend_add_live_range - it's even not in the current master. Also ` grep -rn _live_range Zend/` finds nothing in PHP-7.0. Could you please check that you're using up-to-date source tree and the correct branch? It could be pretty much like something in that direction.

Thanks



--
Frank M. Kromann, M.Sc.E.E.
Web by Pixel, Inc.

Phone: +1 949 742 7533
Fax: +1 949 742 7534
Cell: +1 949 702 1794
Denmark: +45 78 79 11 48

Web: http://webbypixel.com

Reply via email to