apache2 mod_rewrite memleak

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

apache2 mod_rewrite memleak

nizamov
Hello,

We detect memleak in apache2 with mod_rewrite

steps for repeat:

create directory structure
.
└── categories
     └── test
     └── .htaccess


cat ./categories/.htaccess

RewriteEngine On
RewriteBase /categories/
RewriteRule "^(.*)\ (.*)$" "$1-$2" [R=301,N,QSA]

after it sent request to apache
curl -H "Host: example.com"
http://127.0.0.1/categories/test/%3C/a%20href=

apache eating all memory and we got this in strace output
lstat("/var/www/html/example.com/categories/test",
{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/var/www/html/example.com/categories/test/.htaccess",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
lstat("/var/www/html/example.com/categories/test/<", 0x7f7c0d7e9aa0) =
-1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c2286c000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c2286a000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c22868000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c22866000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c22864000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c22862000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c22860000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c2285e000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c2285c000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7f7c2285a000


Please could you clarify is it bug or feature?

This memleak is not good for shared hosting.


------
Best Regards
Nizamov Mikhail

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Loading...