https://issues.apache.org/bugzilla/show_bug.cgi?id=49033
Summary: infinite loop
Product: Apache httpd-2
Version: 2.2.15
Platform: PC
OS/Version: Linux
Status: NEW
Severity: major
Priority: P2
Component: Core
AssignedTo: [email protected]
ReportedBy: [email protected]
Hello
When we create the following rewrite in .htaccess
RewriteEngine On
RewriteRule ^a a.php [N]
apache will consume all memory
The LimitInternalRecursion 100 added in config doesnt help
process
apache 8169 78.1 64.4 2900320 2823532 ? R 01:20 0:21
/usr/sbin/httpd -k start -DSSL
strace
brk(0x5ffaf000) = 0x5ffaf000
brk(0x5ffd1000) = 0x5ffd1000
brk(0x5fff3000) = 0x5fff3000
brk(0x60015000) = 0x60015000
brk(0x60037000) = 0x60037000
brk(0x60059000) = 0x60059000
GDB
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Attaching to process 8169
Reading symbols from /usr/sbin/httpd...done.
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libssl.so.0.9.8...Reading symbols from
/usr/lib/debug/usr/lib/libssl.so.0.9.8...done.
done.
Loaded symbols for /usr/lib/libssl.so.0.9.8
Reading symbols from /usr/lib/libcrypto.so.0.9.8...Reading symbols from
/usr/lib/debug/usr/lib/libcrypto.so.0.9.8...done.
done.
Loaded symbols for /usr/lib/libcrypto.so.0.9.8
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /usr/local/lib/libpcre.so.0...done.
Loaded symbols for /usr/local/lib/libpcre.so.0
Reading symbols from /etc/httpd/lib/libaprutil-1.so.0...done.
Loaded symbols for /etc/httpd/lib/libaprutil-1.so.0
Reading symbols from /usr/lib/libexpat.so.1...done.
Loaded symbols for /usr/lib/libexpat.so.1
Reading symbols from /usr/lib/libiconv.so.2...done.
Loaded symbols for /usr/lib/libiconv.so.2
Reading symbols from /etc/httpd/lib/libapr-1.so.0...done.
Loaded symbols for /etc/httpd/lib/libapr-1.so.0
Reading symbols from /lib/librt.so.1...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libpthread.so.0...done.
[Thread debugging using libthread_db enabled]
[New Thread 0x71c8f06bf6e0 (LWP 8169)]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libnss_nis.so.2...done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /usr/lib/apache/mod_python.so...done.
Loaded symbols for /usr/lib/apache/mod_python.so
Reading symbols from /usr/lib/libpython2.5.so.1.0...Reading symbols from
/usr/lib/debug/usr/lib/libpython2.5.so.1.0...done.
done.
Loaded symbols for /usr/lib/libpython2.5.so.1.0
Reading symbols from /lib/libutil.so.1...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /usr/lib/apache/mod_fastcgi.so...done.
Loaded symbols for /usr/lib/apache/mod_fastcgi.so
Reading symbols from /usr/lib/apache/mod_suphp.so...done.
Loaded symbols for /usr/lib/apache/mod_suphp.so
Reading symbols from /usr/lib/apache/mod_security2.so...done.
Loaded symbols for /usr/lib/apache/mod_security2.so
Reading symbols from /usr/lib/libxml2.so.2...done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /usr/lib/apache/mod_wsgi.so...done.
Loaded symbols for /usr/lib/apache/mod_wsgi.so
Reading symbols from
/opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so...done.
Loaded symbols for
/opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
Reading symbols from /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
0x000071c8ee3550e5 in strlen () from /lib/libc.so.6
(gdb) bt full
#0 0x000071c8ee3550e5 in strlen () from /lib/libc.so.6
No symbol table info available.
#1 0x000071c8eee9ef4a in apr_pstrcat (a=0x4d229b8) at
strings/apr_strings.c:138
cp = 0x37903f60 "a.php"
argp = <value optimized out>
res = <value optimized out>
saved_lengths = {43, 5, 80960600, 4954449, 137199080128336, 10}
nargs = 1
len = 43
adummy = {{gp_offset = 24, fp_offset = 0, overflow_arg_area =
0x7cc8266f4010, reg_save_area = 0x7cc8266f3f30}}
#2 0x00000000004bbac1 in apply_rewrite_rule (p=0x4d35ba8, ctx=0x4d3aa68) at
mod_rewrite.c:3904
regmatch = {{rm_so = 0, rm_eo = 1}, {rm_so = -1, rm_eo = -1}, {rm_so =
-1, rm_eo = -1}, {rm_so = -1, rm_eo = -1}, {rm_so = -1, rm_eo = -1}, {
rm_so = -1, rm_eo = -1}, {rm_so = -1, rm_eo = -1}, {rm_so = -1, rm_eo =
-1}, {rm_so = -1, rm_eo = -1}, {rm_so = -1, rm_eo = -1}}
rewriteconds = (apr_array_header_t *) 0x4d35b28
conds = (rewritecond_entry *) 0x4d35b48
i = 80960392
rc = 80960600
newuri = 0x37903f60 "a.php"
r = (request_rec *) 0x4d22a30
is_proxyreq = 0
#3 0x00000000004bbf72 in apply_rewrite_list (r=0x4d22a30,
rewriterules=0x4d35b88, perdir=0x4d35c58 "/path/to/file")
at mod_rewrite.c:4027
entries = (rewriterule_entry *) 0x4d35ba8
p = (rewriterule_entry *) 0x4d35ba8
i = <value optimized out>
changed = 1
rc = 1
s = <value optimized out>
ctx = (rewrite_ctx *) 0x4d3aa68
#4 0x00000000004bc9ee in hook_fixup (r=0x4d22a30) at mod_rewrite.c:4584
dconf = (rewrite_perdir_conf *) 0x4d362e0
cp = <value optimized out>
cp2 = <value optimized out>
ccp = <value optimized out>
l = 42
rulestatus = <value optimized out>
n = <value optimized out>
ofilename = 0x4d2b5c0 "/path/to/a"
#5 0x000000000044130a in ap_run_fixups (r=0x4d22a30) at request.c:73
n = 5
rv = 1735339360
#6 0x000000000048fc08 in ap_process_request (r=0x4d22a30) at
http_request.c:280
access_status = 932200293
#7 0x000000000048cc38 in ap_process_http_connection (c=0x4d16740) at
http_core.c:190
r = (request_rec *) 0x4d22a30
csd = (apr_socket_t *) 0x0
#8 0x000000000044d943 in ap_run_process_connection (c=0x4d16740) at
connection.c:43
n = 1
---Type <return> to continue, or q <return> to quit---
rv = 1735339360
#9 0x00000000004be150 in child_main (child_num_arg=<value optimized out>) at
prefork.c:662
current_conn = <value optimized out>
csd = (void *) 0x4d16550
ptrans = (apr_pool_t *) 0x4d164d8
allocator = (apr_allocator_t *) 0x4cd47c0
status = <value optimized out>
i = <value optimized out>
lr = <value optimized out>
pollset = (apr_pollset_t *) 0x4d147a0
sbh = (ap_sb_handle_t *) 0x4d14798
bucket_alloc = (apr_bucket_alloc_t *) 0x4d209a8
last_poll_idx = 1
#10 0x00000000004be414 in make_child (s=0x71d690, slot=12) at prefork.c:758
No locals.
#11 0x00000000004be9bc in ap_mpm_run (_pconf=<value optimized out>, plog=<value
optimized out>, s=<value optimized out>) at prefork.c:776
index = <value optimized out>
remaining_children_to_start = 3
rv = <value optimized out>
#12 0x0000000000432da5 in main (argc=4, argv=0x7cc8266f47f8) at main.c:740
c = 68 'D'
configtestonly = 0
confname = 0x4c0ac8 "conf/httpd.conf"
def_server_root = 0x4c0ad8 "/etc/httpd"
temp_error_log = 0x0
error = <value optimized out>
process = <value optimized out>
server_conf = (server_rec *) 0x71d690
pglobal = (apr_pool_t *) 0x70d728
pconf = (apr_pool_t *) 0x70f738
plog = (apr_pool_t *) 0x76db38
ptemp = (apr_pool_t *) 0x71d8b8
pcommands = (apr_pool_t *) 0x711748
opt = (apr_getopt_t *) 0x711838
rv = <value optimized out>
mod = <value optimized out>
optarg = 0x7cc8266f4a33 "SSL"
(gdb) quit
its really a bug ?
Regards,
Piotr
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]