ID: 38600
User updated by: phillip dot berndt at googlemail dot com
Reported By: phillip dot berndt at googlemail dot com
-Status: Feedback
+Status: Open
Bug Type: PCRE related
Operating System: Linux
PHP Version: 5.1.5
New Comment:
Same result for a fresh php5.2-200608261230 build.
I don't know, whether this helps, but in this build I interrupted the
process after about 10 seconds; here's the bt:
#0 adjust_recurse (group=0x84706db "R", adjust=1, utf8=0,
cd=0xbfd088e0) at
/home/pberndt/php_snap/php5.2-200608261230/ext/pcre/pcrelib/pcre_compile.c:1117
#1 0x08080269 in compile_regex (options=0, oldims=0,
brackets=0xbfd084a4, codeptr=0xbfd08344, ptrptr=0xbfd0837c,
errorcodeptr=0xbfd084dc, lookbehind=0,
skipbytes=0, firstbyteptr=0x0, reqbyteptr=0x0, bcptr=0x3d,
cd=0xbfd088e0) at
/home/pberndt/php_snap/php5.2-200608261230/ext/pcre/pcrelib/pcre_compile.c:2681
#2 0x0807e71a in compile_regex (options=0, oldims=0,
brackets=0xbfd084a4, codeptr=0xbfd084a8, ptrptr=0xbfd084d8,
errorcodeptr=0xbfd084dc, lookbehind=0,
skipbytes=0, firstbyteptr=0x0, reqbyteptr=0x0, bcptr=0x3d,
cd=0xbfd088e0) at
/home/pberndt/php_snap/php5.2-200608261230/ext/pcre/pcrelib/pcre_compile.c:3177
#3 0x08081339 in php_pcre_compile2 (pattern=0xb7bdf6d8
"(?<!\\w)(0x[\\p{N}]+[lL]?|[\\p{Nd}]+(e[\\p{Nd}]*)?[lLdDfF]?)(?!\\w)",
options=0, errorcodeptr=0x0,
errorptr=0xbfd089a4, erroroffset=0xbfd089a8, tables=0x8470220 "")
at
/home/pberndt/php_snap/php5.2-200608261230/ext/pcre/pcrelib/pcre_compile.c:4983
#4 0x080829a3 in php_pcre_compile (pattern=0x0, options=0,
errorptr=0x0, erroroffset=0x0, tables=0x0)
at
/home/pberndt/php_snap/php5.2-200608261230/ext/pcre/pcrelib/pcre_compile.c:3905
#5 0x0808bfad in pcre_get_compiled_regex_cache (regex=0xb7be4bd4
"/(?<!\\w)(0x[\\p{N}]+[lL]?|[\\p{Nd}]+(e[\\p{Nd}]*)?[lLdDfF]?)(?!\\w)/",
regex_len=64)
at
/home/pberndt/php_snap/php5.2-200608261230/ext/pcre/php_pcre.c:324
#6 0x0808d225 in php_do_pcre_match (ht=2, return_value=0xb7be4c20,
return_value_ptr=0x0, this_ptr=0x0, return_value_used=0, global=0)
at
/home/pberndt/php_snap/php5.2-200608261230/ext/pcre/php_pcre.c:457
#7 0x082292d7 in zend_do_fcall_common_helper_SPEC
(execute_data=0xbfd08b60) at zend_vm_execute.h:200
#8 0x08228bdc in execute (op_array=0xb7be47d8) at
zend_vm_execute.h:92
#9 0x0820dabe in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at
/home/pberndt/php_snap/php5.2-200608261230/Zend/zend.c:1095
#10 0x081cfb86 in php_execute_script (primary_file=0xbfd0b060) at
/home/pberndt/php_snap/php5.2-200608261230/main/main.c:1759
#11 0x082963b0 in main (argc=1, argv=0xbfd0b144) at
/home/pberndt/php_snap/php5.2-200608261230/sapi/cli/php_cli.c:1102
Previous Comments:
------------------------------------------------------------------------
[2006-08-25 21:39:04] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
------------------------------------------------------------------------
[2006-08-25 21:14:47] phillip dot berndt at googlemail dot com
Description:
------------
When executing the code below, the function won't return but loop
forever (or do something else, I don't know).
Reproduce code:
---------------
<?php
$foo = 'bla bla bla';
preg_match('/(?<!\w)(0x[\p{N}]+[lL]?|[\p{Nd}]+(e[\p{Nd}]*)?[lLdDfF]?)(?!\w)/',
$foo);
?>
Expected result:
----------------
Something like that:
[EMAIL PROTECTED] ~ $ time perl -e '$_="bla bla bla";
/(?<!\w)(0x[\p{N}]+[lL]?|[\p{Nd}]+(e[\p{Nd}]*)?[lLdDfF]?)(?!\w)/;'
real 0m0.017s
user 0m0.016s
sys 0m0.000s
Actual result:
--------------
[EMAIL PROTECTED] ~ $ php
<?php
set_time_limit(10);
$foo = 'bla bla bla';
preg_match('/(?<!\w)(0x[\p{N}]+[lL]?|[\p{Nd}]+(e[\p{Nd}]*)?[lLdDfF]?)(?!\w)/',
$foo);
?>
Fatal error: Maximum execution time of 10 seconds exceeded in
/home/pberndt/- on line 4
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=38600&edit=1