moriyoshi Wed Dec 18 14:32:44 2002 EDT Modified files: /php4/sapi/apache2filter sapi_apache2.c Log: An intuitive attempt to hunt the bug. Index: php4/sapi/apache2filter/sapi_apache2.c diff -u php4/sapi/apache2filter/sapi_apache2.c:1.93 php4/sapi/apache2filter/sapi_apache2.c:1.94 --- php4/sapi/apache2filter/sapi_apache2.c:1.93 Mon Dec 9 13:45:32 2002 +++ php4/sapi/apache2filter/sapi_apache2.c Wed Dec 18 14:32:44 2002 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sapi_apache2.c,v 1.93 2002/12/09 18:45:32 iliaa Exp $ */ +/* $Id: sapi_apache2.c,v 1.94 2002/12/18 19:32:44 moriyoshi Exp $ */ #include <fcntl.h> @@ -310,6 +310,8 @@ apr_bucket *b; const char *str; apr_size_t n; + const char *prev_fetched_str; + apr_size_t prev_fetched_str_len; apr_status_t rv; TSRMLS_FETCH(); @@ -328,8 +330,25 @@ return rv; } + prev_fetched_str = NULL; + prev_fetched_str_len = -1; + for (b = APR_BRIGADE_FIRST(bb); b != APR_BRIGADE_SENTINEL(bb); b = APR_BUCKET_NEXT(b)) { apr_bucket_read(b, &str, &n, 1); + if (APR_BUCKET_IS_HEAP(b)) { + if ((str == prev_fetched_str && n == prev_fetched_str_len)) { + char *brigade_dump = NULL; + apr_bucket *tmp; + + for (tmp = APR_BRIGADE_FIRST(bb); tmp != +APR_BRIGADE_SENTINEL(bb); tmp = APR_BUCKET_NEXT(tmp)) { + brigade_dump = apr_psprintf(f->r->pool, "%s[%s +%x] ", (brigade_dump ? brigade_dump: ""), tmp->type->name, (int)tmp); + } + + ap_log_error(APLOG_MARK, APLOG_WARNING, 0, 0, "* BUG * +You encountered an apr bug. Please contact to [EMAIL PROTECTED] with the +following information: %s", (brigade_dump ? brigade_dump: "(empty)")); + } + prev_fetched_str = str; + prev_fetched_str_len = n; + } if (n > 0) { old_index = ctx->post_len; ctx->post_len += n;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php