ID:               30513
 Updated by:       [EMAIL PROTECTED]
 Reported By:      asm at asm dot flynet dot pl
 Status:           Verified
 Bug Type:         Zend Engine 2 problem
 Operating System: *
 PHP Version:      5CVS-2005-03-09
 New Comment:

See bug #28839



Previous Comments:
------------------------------------------------------------------------

[2005-03-03 19:06:51] mweierophinney at gmail dot com

I have reproduced the problem with the similar code:

<test.php>:
<?php if (1) { echo "Working." } ?>

and 'php -a test.php' produces a segfault.

I can confirm it for PHP versions 5.0.1, 5.0.2, and 5.0.3 -- 5.0.3 on
Gentoo GNU/Linux and 5.0.1 and 5.0.2 on Fedora Core 1.

------------------------------------------------------------------------

[2004-10-23 18:28:44] [EMAIL PROTECTED]

Actually it segfaults in interactive mode even on this:
<?
if (true) true;
?>
And it's caused by the fact that somehow EX(opline) happens to point to
not initilized memory.

bt:
Program received signal SIGSEGV, Segmentation fault.
0x0819681b in execute (op_array=0x831093c) at zend_vm_execute.h:58
58                      if (EX(opline)->handler(&execute_data
TSRMLS_CC) > 0) {
(gdb) bt
#0  0x0819681b in execute (op_array=0x831093c) at zend_vm_execute.h:58
#1  0x0816e574 in execute_new_code () at
/home/dev/php-src/Zend/zend_execute_API.c:1089
#2  0x08159a24 in zendparse () at zend_language_parser.y:166
#3  0x0815c086 in compile_file (file_handle=0xbffff890, type=2) at
zend_language_scanner.l:375
#4  0x08178445 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /home/dev/php-src/Zend/zend.c:1049
#5  0x0813fd23 in php_execute_script (primary_file=0xbffff890) at
/home/dev/php-src/main/main.c:1634
#6  0x081f6250 in main (argc=2, argv=0xbffff914) at
/home/dev/php-src/sapi/cli/php_cli.c:943

------------------------------------------------------------------------

[2004-10-21 16:49:24] asm at asm dot flynet dot pl

Description:
------------
Please forgive, that I haven't attached backtrace, and
whole ./configure options. But I see this behaviour
on diffrent boxes (an old slackware with 2.2 and fedora with 2.4) with
diffrent versions
of PHP5's CLI/CGI interactive mode (so it should be easy to recover).
It doesn't affect PHP4.


Reproduce code:
---------------
BOX1$ php -v ; php -a
PHP 5.0.0 (cli) (built: Oct 15 2004 17:43:01)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.0, Copyright (c) 1998-2004 Zend Technologies
Interactive mode enabled

<?

if (preg_match('/.*end$/', 'abcend')) echo 'got it';
?>
got itSegmentation fault


***

BOX2$ php5 -v ; php5 -a
PHP 5.0.2 (cli) (built: Oct 17 2004 00:46:25)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.2, Copyright (c) 1998-2004 Zend Technologies
Interactive mode enabled

<?

if (preg_match('/.*end$/', 'abcend')) echo 'got it';
?>
got itSegmentation fault


Expected result:
----------------
got it

Actual result:
--------------
expected + segfault


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=30513&edit=1

Reply via email to