Hide Forgot
Created attachment 344278 [details] proposed fix Description of problem: One more step closer to leak-less curl... Why are internal objects cloned by collect_objects() function? Nobody is cared to free them. Version-Release number of selected component (if applicable): nss-3.12.2-5.fc10 Steps to Reproduce: 1. run libcurl based application performing SSL transfers Actual results: Allocated memory is growing quickly, machine runs into swap... Expected results: Constant amount of allocated memory. Additional info: patch ready and awaiting review
Kamil, Please check the ? review request flag so I can review it.
This patch get and r+ from me. It would be nice to get Rob's opinion on this one in particular.
Sure. It's actually significant change of the code and it deserves some clarification from my side: The internal objects are never freed, so there is no reason to clone them when exposing out of the module. The only way to free internal object is by unloading the module (handled by attachment #344239 [details]) and once the module is unloaded, nobody can expect its objects to be accessible. I didn't follow any documentation while changing this, but it gives me pretty good results in valgrind - no errors, no memory leaks. Any objections?
I have found it instructive to compare the pem module code with that in capi and nssmkey, the modules that deal with the Microsoft CAPI key/cert store and Macintosh keychain, respectively.
It looks pretty sane to me. +r.
nss-3.12.3.99.3-2.11.3.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/nss-3.12.3.99.3-2.11.3.fc11
nss-3.12.3.99.3-2.11.3.fc11 has been pushed to the Fedora 11 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update nss'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6948
nss-3.12.3.99.3-2.10.4.fc10 has been pushed to the Fedora 10 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update nss'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-7017
nss-3.12.3.99.3-2.11.3.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.
nss-3.12.3.99.3-2.10.4.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.