[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian sid, PHP cli, xdebug, set_error_handler, mysql_list_dbs, throw = Segmentation fault



On 3/19/2013 3:08 PM, Sven Uhlig wrote:
On 17.03.2013 23:40, Jerry Stuckle wrote:
On 3/17/2013 2:54 PM, Sven Uhlig wrote:
On 17.03.2013 16:01, Jerry Stuckle wrote:
On 3/17/2013 9:20 AM, Sven Uhlig wrote:
The following PHP code exits in "segmentation fault".

<?php
function error_handler() {
     throw new Exception;
}
set_error_handler('error_handler');
mysql_list_dbs();
?>

No segmentation fault if I do either of these things:
1) disable xdebug
2) don't set_error_handler
3) don't throw exception
4) throw exception after mysql_list_dbs but outside of error_handler

$ php -v
PHP 5.4.4-14 (cli) (built: Mar  4 2013 14:08:43)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
       with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans

# uname -a
Linux baldur 3.2.0-4-amd64 #1 SMP Debian 3.2.39-2 x86_64 GNU/Linux

Impossible to tell from the (lack of) information you supplied.

What do you need?

Well, if it happened to me, I'd get a dump of the problem, preferably
with a debug version of the binaries, and a trace leading up to the
problem.  Then I'd dig in and see where the problem lies.

Because I am no C developer, I have no idea where to look for the cause
of the problem. All I can do is to help someone else fixing the code of
xdebug/php. But I am really not the right person to do this.

Here is the backtrace of gdb after I have installed php5-dbg.

#0  _zend_mm_alloc_int (heap=0xdb92b0, size=32) at
/tmp/buildd/php5-5.4.4/Zend/zend_alloc.c:1906
#1  0x000000000069eeda in zend_error (type=8192, format=0xa77fdf "%s")
at /tmp/buildd/php5-5.4.4/Zend/zend.c:1105
#2  0x000000000063d376 in php_verror (docref=0xdb84c0
"x\255\377\377\377\177",
     params=0x1 <Address 0x1 out of bounds>, type=8192, format=0x1
<Address 0x1 out of bounds>, args=0x1)
     at /tmp/buildd/php5-5.4.4/main/main.c:853
#3  0x000000000063d79e in php_error_docref0 (docref=0xdb92b0 "\001",
type=32,
     format=0x1 <Address 0x1 out of bounds>) at
/tmp/buildd/php5-5.4.4/main/main.c:865
#4  0x00007ffff45f86e1 in ?? () from /usr/lib/php5/20100525/mysql.so
#5  0x00007ffff4a2aedc in xdebug_execute_internal
(current_execute_data=0x7ffff4f26060, return_value_used=0)
     at /srv/debian_developer/xdebug/xdebug-2.2.1/build-php5/xdebug.c:1483
#6  0x0000000000746a3e in zend_do_fcall_common_helper_SPEC
(execute_data=0x7ffff4f26060)
     at /tmp/buildd/php5-5.4.4/Zend/zend_vm_execute.h:644
#7  0x0000000000700447 in execute (op_array=0x7ffff4f592f0) at
/tmp/buildd/php5-5.4.4/Zend/zend_vm_execute.h:410
#8  0x00007ffff4a2aa81 in xdebug_execute (op_array=0x7ffff4f592f0)
     at /srv/debian_developer/xdebug/xdebug-2.2.1/build-php5/xdebug.c:1391
#9  0x00000000006a028e in zend_execute_scripts (type=8,
retval=0x7ffff4f592b8, file_count=3)
     at /tmp/buildd/php5-5.4.4/Zend/zend.c:1279
#10 0x000000000063f863 in php_execute_script (primary_file=0x7ffff5b44ec0)
     at /tmp/buildd/php5-5.4.4/main/main.c:2473
#11 0x00000000007491b3 in do_cli (argc=0, argv=0x7fffffffe8f1) at
/tmp/buildd/php5-5.4.4/sapi/cli/php_cli.c:988
#12 0x000000000043110a in main (argc=32767, argv=0xdb9210) at
/tmp/buildd/php5-5.4.4/sapi/cli/php_cli.c:1361


Sven.



Sven,

I'm not sure about anyone else on this list, but unfortunately I don't have the time it would take to duplicate your environment then try to duplicate your problem.

I understand you're not a C programmer - which is why I suggested you start with the developer of xdebug. It's where I would start if I had this problem.


Reply to: