ID: 36507
User updated by: joc at presence-pc dot com
Reported By: joc at presence-pc dot com
Status: Open
Bug Type: Reproducible crash
Operating System: Linux
PHP Version: 4.4.2
New Comment:
The bottom of the stack :
#14537 0x080741a9 in match (eptr=0x835f150 '.' <repeats 200 times>...,
ecode=0x835c14b "C", offset_top=6, md=0xbfffd210, ims=0,
eptrb=0xbfffc6d8,
flags=2) at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:1123
#14538 0x0807317b in match (eptr=0x835f14f '.' <repeats 200 times>...,
ecode=0x835c146 "R", offset_top=6, md=0xbfffd210, ims=0,
eptrb=0xbfffc6d8,
flags=2) at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:589
#14539 0x080741a9 in match (eptr=0x835f14f '.' <repeats 200 times>...,
ecode=0x835c14b "C", offset_top=6, md=0xbfffd210, ims=0,
eptrb=0xbfffcd98,
flags=2) at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:1123
#14540 0x0807317b in match (eptr=0x835f14e '.' <repeats 200 times>...,
ecode=0x835c146 "R", offset_top=4, md=0xbfffd210, ims=0,
eptrb=0xbfffcd98,
flags=2) at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:589
#14541 0x0807317b in match (eptr=0x835f14d "\n", '.' <repeats 199
times>..., ecode=0x835c13b "Q", offset_top=2, md=0xbfffd210, ims=0,
eptrb=0xbfffcd98,
flags=2) at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:589
#14542 0x08073285 in match (eptr=0x835f14d "\n", '.' <repeats 199
times>..., ecode=0x835c138 "P", offset_top=2, md=0xbfffd210, ims=0,
eptrb=0xbfffcfd8,
flags=2) at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:619
#14543 0x0807b052 in php_pcre_exec (argument_re=0x835c110,
extra_data=0x0, subject=0x835f14c "\n\n", '.' <repeats 198 times>...,
length=9700,
start_offset=0, options=0, offsets=0x835c1dc, offsetcount=9) at
/usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:3552
#14544 0x0808003c in php_pcre_replace (regex=0x83525c4
"/(\\s|^)(\\.)+/", regex_len=13, subject=0x835f14c "\n\n", '.' <repeats
198 times>...,
subject_len=9700, replace_val=0x8352604, is_callable_replace=0,
result_len=0xbfffd434, limit=-1) at
/usr/src/php-4.4.2/ext/pcre/php_pcre.c:876
#14545 0x08080935 in php_replace_in_subject (regex=0x8352584,
replace=0x8352604, subject=0x83530b4, result_len=0xbfffd434, limit=-1,
is_callable_replace=0 '\0') at
/usr/src/php-4.4.2/ext/pcre/php_pcre.c:1087
#14546 0x0808100f in preg_replace_impl (ht=3, return_value=0x8352644,
this_ptr=0x0, return_value_used=0, is_callable_replace=0 '\0')
at /usr/src/php-4.4.2/ext/pcre/php_pcre.c:1179
#14547 0x08081060 in zif_preg_replace (ht=3, return_value=0x8352644,
this_ptr=0x0, return_value_used=0) at
/usr/src/php-4.4.2/ext/pcre/php_pcre.c:1190
#14548 0x08183c63 in execute (op_array=0x8357854) at
/usr/src/php-4.4.2/Zend/zend_execute.c:1675
#14549 0x081715d9 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /usr/src/php-4.4.2/Zend/zend.c:934
#14550 0x0813f12a in php_execute_script (primary_file=0xbffff9b0) at
/usr/src/php-4.4.2/main/main.c:1753
#14551 0x081893fc in main (argc=2, argv=0xbffffa74) at
/usr/src/php-4.4.2/sapi/cli/php_cli.c:830
(note there are more than 14500 calls to match function)
Previous Comments:
------------------------------------------------------------------------
[2006-02-24 12:10:40] joc at presence-pc dot com
Hi,
Here is the backtrace :
#0 0x08072ff9 in match (eptr=0x8360dfd '.' <repeats 200 times>...,
ecode=0x835c146 "R", offset_top=6, md=0xbfffd210, ims=0,
eptrb=0xbf8004d8, flags=2)
at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:517
517 utf8 = md->utf8; /* Local copy of the flag */
(gdb) bt
#0 0x08072ff9 in match (eptr=0x8360dfd '.' <repeats 200 times>...,
ecode=0x835c146 "R", offset_top=6, md=0xbfffd210, ims=0,
eptrb=0xbf8004d8, flags=2)
at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:517
#1 0x080741a9 in match (eptr=0x8360dfd '.' <repeats 200 times>...,
ecode=0x835c14b "C", offset_top=6, md=0xbfffd210, ims=0,
eptrb=0xbf8004d8, flags=2)
at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:1123
#2 0x0807317b in match (eptr=0x8360dfc '.' <repeats 200 times>...,
ecode=0x835c146 "R", offset_top=6, md=0xbfffd210, ims=0,
eptrb=0xbf8004d8, flags=2)
at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:589
#3 0x080741a9 in match (eptr=0x8360dfc '.' <repeats 200 times>...,
ecode=0x835c14b "C", offset_top=6, md=0xbfffd210, ims=0,
eptrb=0xbf800958, flags=2)
at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:1123
#4 0x0807317b in match (eptr=0x8360dfb '.' <repeats 200 times>...,
ecode=0x835c146 "R", offset_top=6, md=0xbfffd210, ims=0,
eptrb=0xbf800958, flags=2)
at /usr/src/php-4.4.2/ext/pcre/pcrelib/pcre_exec.c:589
[...]
Regards,
Jocelyn
------------------------------------------------------------------------
[2006-02-24 09:26:23] [EMAIL PROTECTED]
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
------------------------------------------------------------------------
[2006-02-24 09:24:39] joc at presence-pc dot com
Description:
------------
Hi,
PHP segfaults during a call to preg_replace.
If in the code below
preg_replace('/(\s|^)(\.)+/',' ',$source);
is replaced by
preg_replace('/(\s|^)\.+/',' ',$source);
The crash doesn't occurs anymore.
Regards,
Jocelyn
Reproduce code:
---------------
<?$source= "
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..............................................................................................................................................................................................................................................
..........................................................................................................................................................................
";
preg_replace('/(\s|^)(\.)+/',' ',$source);
?>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=36507&edit=1