#25798 [Com]: forever-running or no-error-abort in preg_match

2004-01-20 Thread indy at indeyets dot pp dot ru
 ID:   25798
 Comment by:   indy at indeyets dot pp dot ru
 Reported By:  musha dot yoshinori at nifty dot ne dot jp
 Status:   Bogus
 Bug Type: PCRE related
 Operating System: Windows XP
 PHP Version:  4.3.5RC2-dev
 New Comment:

however, it works just fine on Apache-1 systems


Previous Comments:


[2004-01-20 03:50:57] [EMAIL PROTECTED]

It's a PCRE limitation, NOT any bug in PHP..




[2004-01-19 23:51:12] musha dot yoshinori at nifty dot ne dot jp

I have tried to check the latest version, 4.3.5RC2-dev,
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip.
I'm sorry that it doesn't work well. The result doesn't change from
previous versions.



[2004-01-18 23:01:08] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip





[2003-10-15 01:59:32] [EMAIL PROTECTED]

Reproduced with latest CVS (under Windows XP), PHP as Apache2 module.
Works fine with CLI.




[2003-10-08 14:04:09] musha dot yoshinori at nifty dot ne dot jp

Description:

PHP aborts without any message or runs forever in below case.
Platform: Windows XP Pro, Apache2.0.46, PHP4.3.3

For example, in preg_match('/a(?:.)+z/',$str,$match), the length of
string matched between 'a' and 'z' is more than approximately 1KB. It
always appears. According to the length, PHP aborts without any message
or runs forever.

It also appears in preg_match('/a(?>.)+z/',$str,$match), but does not
appear in preg_match('/a(.)+z/',$str,$match) and
preg_match('/a.+z/',$str,$match).

Actually, I want to use
preg_match_all('/]*>((?>.(?!<\/tr>))+.)<\/tr>/is',$str,$matches)
and so on.

Reproduce code:
---
$str =<

#25798 [Com]: forever-running or no-error-abort in preg_match

2003-11-13 Thread drb at msu dot edu
 ID:   25798
 Comment by:   drb at msu dot edu
 Reported By:  musha dot yoshinori at nifty dot ne dot jp
 Status:   Verified
 Bug Type: PCRE related
 Operating System: win32 only
 PHP Version:  4.3.4RC2-dev
 New Comment:

Using the supplied test case, on Debian-testing, php 4.3.3 built by
hand from source using the following configuration:

./configure  --with-regex=php --with-config-file-path=/etc/php4/apache
--disable-rpath --disable-debug --enable-memory-limit --with-layout=GNU
--enable-calendar --enable-sysvsem --enable-sysvshm --enable-track-vars
--enable-trans-sid --enable-bcmath --enable-ctype --with-iconv
--enable-exif --enable-filepro --enable-ftp --with-gettext
--enable-mbstring --with-pcre-regex=/usr --enable-shmop
--enable-sockets --enable-wddx --enable-xml --enable-xslt
--with-xslt-sablot --no-create --no-recursion

Here's a traceback:

dev1 233 # gdb /usr/sbin/apache2
GNU gdb 5.3-debian
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i386-linux"...(no debugging symbols
found)...
(gdb) run -X 
Starting program: /usr/sbin/apache2 -X
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...[New
Thread 16384 (LWP 8539)]

(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
[Thu Nov 13 16:03:30 2003] [warn] module php4_module is already loaded,
skipping
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 8539)]
php_pcre_match (ht=1, return_value=0x81cd6c4, this_ptr=0x0, 
return_value_used=0, tsrm_ls=0x8140618, global=0)
at /root/src/php-4.3.3/ext/pcre/php_pcre.c:443
443 subpat_names[name_idx] =
name_table + 2;
(gdb) where
#0  php_pcre_match (ht=1, return_value=0x81cd6c4, this_ptr=0x0, 
return_value_used=0, tsrm_ls=0x8140618, global=0)
at /root/src/php-4.3.3/ext/pcre/php_pcre.c:443
#1  0x405baae3 in zif_preg_match (ht=60170, return_value=0xeb0a, 
this_ptr=0xeb0a, return_value_used=60170, tsrm_ls=0xeb0a)
at /root/src/php-4.3.3/ext/pcre/php_pcre.c:600
#2  0x406982ef in execute (op_array=0x81c86dc, tsrm_ls=0x8140618)
at /root/src/php-4.3.3/Zend/zend_execute.c:1616
#3  0x406888ed in zend_execute_scripts (type=8, tsrm_ls=0x8140618,
retval=0x0, 
file_count=3) at /root/src/php-4.3.3/Zend/zend.c:885
#4  0x40656e36 in php_execute_script (primary_file=0xb510, 
tsrm_ls=0x8140618) at /root/src/php-4.3.3/main/main.c:1723
#5  0x4069da9f in php_handler (r=0x81baaf8)
at /root/src/php-4.3.3/sapi/apache2handler/sapi_apache2.c:534
#6  0x08073b0a in ap_run_handler ()
#7  0x0807401e in ap_invoke_handler ()
#8  0x0806767f in ap_process_request ()
#9  0x080638ed in _start ()
#10 0x0807c8a6 in ap_run_process_connection ()
#11 0x080726db in ap_graceful_stop_signalled ()
#12 0x08072882 in ap_graceful_stop_signalled ()
#13 0x080728db in ap_graceful_stop_signalled ()
#14 0x08072fc1 in ap_mpm_run ()
#15 0x08077d06 in main ()
#16 0x4032ddb6 in __libc_start_main () from /lib/libc.so.6


Previous Comments:


[2003-11-06 16:40:37] roland at astrofoto dot org

I have run into what I think is the same bug in 4.3.3 under SunOS 5.7
with apache 2.0.47 all compiled with gcc

331 rroberts> gcc --version
gcc_bin (GCC) 3.2-gnupro-03r1
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

The particular problem shows up when attempting to use
class.rFastTemplate.php which has a preg_match looking for unmatched
template variables.  The script *always* times out and the reported
error is always on preg_match.

The difference is that the preg_match is merely long-running, not
forever running.  However with PHP 4.3.1 on RedHat 8.0, I do not see
this behavior.  I can put together a test case, but I didn't see the
point other than pointing out that it does *not* appear to be Win32
only.


#25798 [Com]: forever-running or no-error-abort in preg_match

2003-11-06 Thread roland at astrofoto dot org
 ID:   25798
 Comment by:   roland at astrofoto dot org
 Reported By:  musha dot yoshinori at nifty dot ne dot jp
 Status:   Verified
 Bug Type: PCRE related
 Operating System: win32 only
 PHP Version:  4.3.4RC2-dev
 New Comment:

I have run into what I think is the same bug in 4.3.3 under SunOS 5.7
with apache 2.0.47 all compiled with gcc

331 rroberts> gcc --version
gcc_bin (GCC) 3.2-gnupro-03r1
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

The particular problem shows up when attempting to use
class.rFastTemplate.php which has a preg_match looking for unmatched
template variables.  The script *always* times out and the reported
error is always on preg_match.

The difference is that the preg_match is merely long-running, not
forever running.  However with PHP 4.3.1 on RedHat 8.0, I do not see
this behavior.  I can put together a test case, but I didn't see the
point other than pointing out that it does *not* appear to be Win32
only.


Previous Comments:


[2003-10-15 01:59:32] [EMAIL PROTECTED]

Reproduced with latest CVS (under Windows XP), PHP as Apache2 module.
Works fine with CLI.




[2003-10-08 14:04:09] musha dot yoshinori at nifty dot ne dot jp

Description:

PHP aborts without any message or runs forever in below case.
Platform: Windows XP Pro, Apache2.0.46, PHP4.3.3

For example, in preg_match('/a(?:.)+z/',$str,$match), the length of
string matched between 'a' and 'z' is more than approximately 1KB. It
always appears. According to the length, PHP aborts without any message
or runs forever.

It also appears in preg_match('/a(?>.)+z/',$str,$match), but does not
appear in preg_match('/a(.)+z/',$str,$match) and
preg_match('/a.+z/',$str,$match).

Actually, I want to use
preg_match_all('/]*>((?>.(?!<\/tr>))+.)<\/tr>/is',$str,$matches)
and so on.

Reproduce code:
---
$str =<

#25798 [Com]: forever-running or no-error-abort in preg_match

2003-10-30 Thread tor at mail dot matrix dot msu dot edu
 ID:   25798
 Comment by:   tor at mail dot matrix dot msu dot edu
 Reported By:  musha dot yoshinori at nifty dot ne dot jp
 Status:   Verified
 Bug Type: PCRE related
 Operating System: win32 only
 PHP Version:  4.3.4RC2-dev
 New Comment:

Confirmed on debian linux with 

php 4.3.3
Apache/2.0.47


Previous Comments:


[2003-10-15 01:59:32] [EMAIL PROTECTED]

Reproduced with latest CVS (under Windows XP), PHP as Apache2 module.
Works fine with CLI.




[2003-10-08 14:04:09] musha dot yoshinori at nifty dot ne dot jp

Description:

PHP aborts without any message or runs forever in below case.
Platform: Windows XP Pro, Apache2.0.46, PHP4.3.3

For example, in preg_match('/a(?:.)+z/',$str,$match), the length of
string matched between 'a' and 'z' is more than approximately 1KB. It
always appears. According to the length, PHP aborts without any message
or runs forever.

It also appears in preg_match('/a(?>.)+z/',$str,$match), but does not
appear in preg_match('/a(.)+z/',$str,$match) and
preg_match('/a.+z/',$str,$match).

Actually, I want to use
preg_match_all('/]*>((?>.(?!<\/tr>))+.)<\/tr>/is',$str,$matches)
and so on.

Reproduce code:
---
$str =<