On Wed, 27 Jan 2016, Nish Aravamudan wrote:
> > > I'm happy to provide more output from gdb, but not really sure
> > > where to start :)
> >
> > Can you instead provide the script to run, and exact steps on how to
> > reproduce this? That includes command line arguments, exact PHP and
> > Xdebug versions, etc.
>
> xdebug 2.4.0-rc4 php 7.0.2
>
> The script is bin/pkgtools from
> http://anonscm.debian.org/cgit/pkg-php/pkg-php-tools.git/log/?h=master-7.0
>
> The core dump occurs regardless of any parameters to pkgtools (i.e.,
> just running `pkgtools` should be sufficient).
>
> I reproduce this by spinning up a VM (technically a chroot, but
> equivalent for this purpose) with Ubuntu Xenial, and adding a PPA to it
> (https://launchpad.net/~php-ubuntu/+archive/ubuntu/php7.0). Update and
> `apt-get install pkg-php-tools php-xdebug` and run `pkgtools`.
I can reproduce this, but my "quick" fix breaks a test case for PHP 7,
and I haven't figured out yet how to solve that bit. In any case, the
crash fix is:
diff --git a/xdebug_stack.c b/xdebug_stack.c
index 2df4c99..ce57521 100644
--- a/xdebug_stack.c
+++ b/xdebug_stack.c
@@ -1147,7 +1147,7 @@ static void xdebug_build_fname(xdebug_func *tmp, zend_execute_data *edata TSRMLS
) {
tmp->type = XFUNC_NORMAL;
tmp->function = xdstrdup("{internal eval}");
- } else if (edata && edata->prev_execute_data && edata->prev_execute_data->opline && edata->prev_execute_data->opline->opcode == ZEND_INCLUDE_OR_EVAL) {
+ } else if (edata && edata->prev_execute_data && edata->prev_execute_data->func->type == ZEND_USER_FUNCTION && edata->prev_execute_data->opline && edata->prev_execute_data->opline->opcode == ZEND_INCLUDE_OR_EVAL) {
switch (edata->prev_execute_data->opline->extended_value) {
case ZEND_EVAL:
tmp->type = XFUNC_EVAL;
Could you be so kind to file a bug at http://bugs.xdebug.org please? You
can mention this temporary patch as well (and please test it).
cheers,
Derick
Received on Wed Jan 27 2016 - 17:55:49 GMT
This archive was generated by hypermail 2.2.0 : Mon Jun 25 2018 - 06:00:04 BST