Re: Debian sid, PHP cli, xdebug, set_error_handler, mysql_list_dbs, throw = Segmentation fault
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.
Reply to:
- References:
- Debian sid, PHP cli, xdebug, set_error_handler, mysql_list_dbs, throw = Segmentation fault
- From: Sven Uhlig <svenuhlig@web.de>
- Re: Debian sid, PHP cli, xdebug, set_error_handler, mysql_list_dbs, throw = Segmentation fault
- From: Jerry Stuckle <jstuckle@attglobal.net>
- Re: Debian sid, PHP cli, xdebug, set_error_handler, mysql_list_dbs, throw = Segmentation fault
- From: Sven Uhlig <svenuhlig@web.de>
- Re: Debian sid, PHP cli, xdebug, set_error_handler, mysql_list_dbs, throw = Segmentation fault
- From: Jerry Stuckle <jstuckle@attglobal.net>
- Prev by Date:
Re: problem with apt repository
- Next by Date:
Re: Running pae kernel on non-pae system
- Previous by thread:
Re: Debian sid, PHP cli, xdebug, set_error_handler, mysql_list_dbs, throw = Segmentation fault
- Next by thread:
Re: Debian sid, PHP cli, xdebug, set_error_handler, mysql_list_dbs, throw = Segmentation fault
- Index(es):