Alexis Marrero wrote: > All, > > We are trying to nail down a memory leak that happens only when > documents are POSTed to the server. > > For testing we have a short script that does: > > while True: > dictionary_of_parameters = {'field1': 'a'*100000} > post('url...', dictionary_of_parameters) > > Then we run "top" on the server and watch the server memory grow without > bound. Why do we know that the problem is in request.readline()? If I > go to mod_python.util.FieldStorage.read_to_boundary() and add the > following statement: > > def read_to_boundary(...): > return True > ... > > as the first executable line in the function the memory does not grow. > > I have read the req_readline a 1000 time and I can't figure out where > the problem is. > > > My config: > Python 2.4.1 > mod_python 3.2.10 > > Our request handler does nothing other than using util.FieldStorage(req) > and req.write('hello'). > > I have some suspicion that it has to do with: > .... > 19 * requestobject.c > 20 * > 21 * $Id: requestobject.c 420297 2006-07-09 13:53:06Z nlehuen $ > 22 * > 23 */ > .... > 846 /* Free rbuff if we're done with it */ > 847 if (self->rbuff_pos >= self->rbuff_len && self->rbuff != NULL) > 848 { > 849 free(self->rbuff); > 850 self->rbuff = NULL; > 851 } > 852 > > Though, I can't confirm. > > > /amn
When we were fixing MODPYTHON-172 I was a little suspicious of that bit of code as When we were fixing MODPYTHON-172 I was a little suspicious of that bit of code as well, but I couldn't see exactly where it might be going wrong, and in the end the leak hunt led elsewhere. How fast are you leaking memory with your test script? Which Apache mpm are you using? Jim