ID:               24922
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Verified
+Status:           Closed
 Bug Type:         Zend Engine 2 problem
 Operating System: Linux 2.4.21 (debian sid)
 PHP Version:      5.0.0b2-dev
 New Comment:

This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.




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

[2003-08-03 05:51:57] [EMAIL PROTECTED]

GDB backtrace:

[Switching to Thread 1024 (runnable)]
0x837b4c7 in execute (op_array=0x41c75b40) at
/usr/src/web/php/php5/Zend/zend_execute.c:1199
1199                    if (EX(opline)->handler(&execute_data, op_array
TSRMLS_CC)) {
(gdb) bt
#0  0x837b4c7 in execute (op_array=0x41c75b40) at
/usr/src/web/php/php5/Zend/zend_execute.c:1199
#1  0x834e723 in execute_new_code () at
/usr/src/web/php/php5/Zend/zend_execute_API.c:884
#2  0x8332326 in zendparse () at
/usr/src/web/php/php5/Zend/zend_language_parser.y:151
#3  0x8336a34 in compile_file (file_handle=0xbffff620, type=2)
    at /usr/src/web/php/php5/Zend/zend_language_scanner.l:295
#4  0x835a2e3 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /usr/src/web/php/php5/Zend/zend.c:1028
#5  0x8313bce in php_execute_script (primary_file=0xbffff620) at
/usr/src/web/php/php5/main/main.c:1573
#6  0x8395abf in main (argc=2, argv=0xbffff694) at
/usr/src/web/php/php5/sapi/cli/php_cli.c:910
#7  0x4055b9cb in __libc_start_main (main=0x8394ce4 <main>, argc=2,
argv=0xbffff694, init=0x80b5bc4 <_init>, 
    fini=0x84f4074 <_fini>, rtld_fini=0x4000aea0 <_dl_fini>,
stack_end=0xbffff68c)
    at ../sysdeps/generic/libc-start.c:92


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

[2003-08-03 02:23:57] [EMAIL PROTECTED]

Description:
------------
Just call php with -a option to enter in interactive mode. Then open
php tags <? (short or long: <?php), write 'foreach' loop and php dies.
The list of modules is long:
./configure \
        --prefix=/usr/local/stow/php \
        --with-apxs=/usr/bin/apxs \
        --with-regex=php \
        --with-config-file-path=/usr/loca/stow/php/etc/php \
        --disable-rpath \
        --disable-debug \
        --enable-memory-limit \
        --with-layout=GNU \
        --enable-calendar \
        --enable-sysvmsg \
        --enable-sysvsem \
        --enable-sysvshm \
        --enable-wddx \
        --enable-track-vars \
        --enable-trans-sid \
        --enable-bcmath \
        --with-bz2 \
        --with-crack \
        --enable-ctype \
        --with-iconv \
        --enable-exif \
        --enable-filepro \
        --enable-ftp \
        --with-gettext \
        --enable-mbstring \
        --with-pcre-regex=/usr \
        --enable-shmop \
        --enable-sockets \
        --enable-wddx \
        --disable-xml \
        --with-expat-dir=/usr \
        --enable-yp \
        --with-zlib \
        --with-pgsql=shared,/usr \
        --with-kerberos=/usr \
        --with-openssl=/usr \
        --with-exec-dir=/usr/lib/php4/libexec \
        --disable-static \
        --enable-dba \
        --with-db4 \
        --with-gdbm \
        --with-inifile \
        --with-flatfile \
        --enable-dbase \
        --with-curl=shared,/usr \
        --with-dom=shared,/usr \
        --with-dom-xslt=shared,/usr \
        --with-dom-exslt=shared,/usr \
        --with-zlib-dir=/usr \
        --with-gd=shared \
        --with-jpeg-dir=shared,/usr \
        --with-xpm-dir=shared,/usr/X11R6 \
        --with-png-dir=shared,/usr \
        --with-imap=shared,/usr \
        --with-imap-ssl \
        --with-mcal=shared,/usr \
        --with-mcrypt=shared,/usr \
        --with-mhash=shared,/usr \
        --with-sqlite=shared,/usr \
        --with-mysql=shared,/usr \
        --with-unixODBC=shared,/usr \
        --with-recode=shared,/usr \
        --enable-xslt \
        --with-xsl=shared,/usr \
        --with-xslt-sablot=shared,/usr \
        --with-snmp=shared \
        --enable-ucd-snmp-hack \
        --with-ttf=shared,/usr \
        --with-mime-magic=/etc/mime-magic \
        --with-mysql=shared,/usr \
        --with-ncurses=shared,/usr \
        --with-readline=shared,/usr \
        --with-iodbc=shared,/usr \
        --enable-pcntl \
        --with-simplexml \
        --with-libxml-dir=/usr \
        --with-freetype-dir=shared,/usr


php.ini diff (compared to php.ini-recomended):
# diff -u php.ini-recommended php.ini 
--- src/php-5.0.0b1/php.ini-recommended 2003-06-18 12:19:16.000000000
-0300
+++ /usr/local/stow/php/etc/php/php.ini 2003-08-03 03:20:22.000000000
-0300
@@ -127,7 +127,7 @@
 ;       also. 
 ; Note: output_handler must be empty if this is set 'On' !!!!
 ;       Instead you must use zlib.output_handler.
-zlib.output_compression = Off
+zlib.output_compression = On
 
 ; You cannot specify additional output handlers if
zlib.output_compression
 ; is activated here. This setting does the same as output_handler but
in
@@ -289,7 +289,7 @@
 ; instead (see below).  Keeping display_errors enabled on a production
web site
 ; may reveal security information to end users, such as file paths on
your Web
 ; server, your database schema or other information.
-display_errors = Off
+display_errors = On
 
 ; Even when display_errors is on, errors that occur during PHP's
startup
 ; sequence are not displayed.  It's strongly recommended to keep
@@ -307,7 +307,7 @@
 
 ; Do not log repeated messages. Repeated errors must occur in same
file on same
 ; line until ignore_repeated_source is set true.
-ignore_repeated_errors = Off
+ignore_repeated_errors = On
 
 ; Ignore source of message when ignoring repeated messages. When this
setting 
 ; is On you will not log errors with repeated messages from different
files or
@@ -320,7 +320,7 @@
 report_memleaks = On
 
 ; Store the last error/warning message in $php_errormsg (boolean).
-track_errors = Off
+track_errors = On
 


Reproduce code:
---------------
homero:/home/luca# /usr/local/stow/php/bin/php -a
Interactive mode enabled

<? foreach(range(1,2) as $i);
Segmentation Fault



homero:/home/luca# /usr/local/stow/php/bin/php -a
Interactive mode enabled

<?
$a = array(1,2,3,4);
foreach ($a as $i);
Segmentation Fault

Expected result:
----------------
The foreach loop.

Actual result:
--------------
(gdb) run -a
Starting program: /usr/local/stow/php/bin/php -a
[New Thread 16384 (LWP 16009)]
Interactive mode enabled

<? foreach (range(1,2) as $i);

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 16009)]
0x0816a666 in execute (op_array=0x824d0d4) at
/home/luca/src/php-5.0.0b1/Zend/zend_execute.c:1254
1254                    if (EX(opline)->handler(&execute_data, op_array
TSRMLS_CC)) {
(gdb) bt
#0  0x0816a666 in execute (op_array=0x824d0d4) at
/home/luca/src/php-5.0.0b1/Zend/zend_execute.c:1254
#1  0x0815449f in execute_new_code () at
/home/luca/src/php-5.0.0b1/Zend/zend_execute_API.c:841
#2  0x08141520 in zendparse () at Zend/zend_language_parser.c:2174
#3  0x08144ffb in compile_file (file_handle=0xbffff990, type=2) at
Zend/zend_language_scanner.c:3067
#4  0x0815b5d1 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /home/luca/src/php-5.0.0b1/Zend/zend.c:1013
#5  0x0812e246 in php_execute_script (primary_file=0xbffff990) at
/home/luca/src/php-5.0.0b1/main/main.c:1695
#6  0x081757dc in main (argc=2, argv=0xbffffa24) at
/home/luca/src/php-5.0.0b1/sapi/cli/php_cli.c:910
(gdb) 



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


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

Reply via email to