ID: 27810 Comment by: noackjr at alumni dot rice dot edu Reported By: renato at galle dot com dot br Status: Closed Bug Type: Apache2 related Operating System: FreeBSD-5.2.1-RELEASE-p4 PHP Version: 4.3.5 New Comment:
Bless you -- the FreeBSD port works flawlessly for me now. Previous Comments: ------------------------------------------------------------------------ [2004-04-16 07:46:13] ale at FreeBSD dot org Hopefully fixed in php port with this patch: http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/php4/files/patch-ext%3a%3apcre%3a%3aphp_pcre.c?rev=1.1&content-type=text/x-cvsweb-markup ------------------------------------------------------------------------ [2004-04-16 03:35:45] towerofpower at operamail dot com You might want to take a look at... http://nagoya.apache.org/bugzilla/show_bug.cgi?id=20462 http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17055 This seems very similar. Apache 2.0.49, mod_ssl (OpenSSL 0.9.7d), PHP 4.3.6, mod_perl 1.99_13, mod_delfate (zlib 1.1.4), perl 5.8.3 Built with VS.NET 2002 under Win2k, SP4 (except PHP 4.3.6 -- official binary) After 'net stop Apache2'... Apache.exe - Application Error The instruction at "0x77f92373" referenced memory at "0x00000010". The memory could not be "written". We do have a workaround for this problem: set "LogLevel" under httpd.conf from "warn" to "error" (this only works for a select set of versions of Apache and PHP) If Apache2 is not started with "-D SSL" and PHP 4.3.6 is used (over 4.3.5), the app error does not happen. ------------------------------------------------------------------------ [2004-04-15 17:45:01] danu at drydog dot com Here's the diffs between the old (working) version of PCRE and the new (broken) version of PCRE. Note changes in memory allocation code, which I believe is causing the problem: Note: 4.3.4 works (1.29.2.3, 1.132.2.10) Note: 4.3.5 is broken (1.29.2.5, 1.132.2.16) diff pcre.4.3.4/config.m4 pcre.4.3.5/config.m4 2c2 < dnl $Id: config.m4,v 1.29.2.3 2003/06/29 00:08:29 andrei Exp $ --- > dnl $Id: config.m4,v 1.29.2.5 2003/12/16 22:14:55 andrei Exp $ Only in pcre.4.3.4: pcrelib diff pcre.4.3.4/php_pcre.c pcre.4.3.5/php_pcre.c 19c19 < /* $Id: php_pcre.c,v 1.132.2.10 2003/09/12 01:32:38 sniper Exp $ */ --- > /* $Id: php_pcre.c,v 1.132.2.16 2004/02/01 19:56:16 moriyoshi Exp $ */ 108a109,117 > > pcre_malloc = php_pcre_malloc; > pcre_free = php_pcre_free; > > #ifdef NO_RECURSE > pcre_stack_malloc = php_pcre_malloc; > pcre_stack_free = php_pcre_free; > #endif > 124,133d132 < /* {{{ PHP_RINIT_FUNCTION(pcre) */ < static PHP_RINIT_FUNCTION(pcre) < { < pcre_malloc = php_pcre_malloc; < pcre_free = php_pcre_free; < < return SUCCESS; < } < /* }}} */ < 177c176 < while (isspace((int)*p)) p++; --- > while (isspace((int)*(unsigned char *)p)) p++; 186c185 < if (isalnum((int)delimiter) || delimiter == '\\') { --- > if (isalnum((int)*(unsigned char *)&delimiter) || delimiter == '\\') { 351c350 < int flags; /* Match control flags */ --- > long flags; /* Match > control flags */ 365c364 < int start_offset = 0; /* Where the new search starts */ --- > long start_offset = 0; /* Where the new > search starts */ 432c431 < int name_cnt, name_size, ni = 0; --- > int name_cnt = 0, name_size, ni = 0; 1394a1394,1398 > case '\0': > *q++ = '\\'; > *q++ = '0'; > break; > 1526c1530 < PHP_RINIT(pcre), --- > NULL ------------------------------------------------------------------------ [2004-04-15 16:10:22] danu at drydog dot com NOT fixed with php-4.3.6 I just tried this and it isn't fixed with PHP 4.3.6 either. ------------------------------------------------------------------------ [2004-04-13 19:28:27] loki at arete dot cc I also tried the latest php4 snapshot, as well as the latest php4 release candidate, and CVS HEAD for both php4-STABLE and php5. None of them worked. This bug is not fixed in CVS, in snaps, or anywhere. It's not documented as being fixed, and the problem is still there. I finally got fed up and took ext/pcre from php-4.3.4 and used that instead of what you shipped with php -5.0.0rc1, and that works fine. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/27810 -- Edit this bug report at http://bugs.php.net/?id=27810&edit=1