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

Reply via email to