Bug #1265
closedSSL + file upload = lots of memory
Description
I'm using lighttpd (1.4.15) in an embedded device, and attempting to upload a file (~6MB). Without SSL enabled, lighttpd doesn't use much more than 6-7MB (lighttpd process grows by <1MB, ~6MB are written to /tmp). With SSL enabled, lighttpd's memory usage quickly jumps to over 26MB (lighttpd process grows to 20+MB, ~6MB are written to /tmp), exhausting all available memory and bringing the device to a grinding halt.
I also noticed that the <1MB of extra size on a non-SSL upload goes away once the upload is complete; in contrast, if I upload a smaller file (900kB) via SSL, the process size grows by ~7MB and stays that large, even after the connection is closed. However, uploading a similarly-sized file again does not cause it to grow any larger, i.e. the memory doesn't seem to be permanently leaked.
I found this ticket:
http://trac.lighttpd.net/trac/ticket/881
which sounds somewhat similar, but no additional information was ever posted about a potential cause. Any ideas? Thanks!
Files
Added by gstrauss almost 9 years ago
Also available in: Atom
[TLS] release openssl buffers as used (fixes #1265, fixes #1283, #881)
use SSL_MODE_RELEASE_BUFFERS (OpenSSL >= 1.0.0) to free buffers
as they are used, to potentially reduce memory footprint of
idle SSL connections
x-ref:
"memory usage when ssl.engine used and large data uploaded through CGI"
https://redmine.lighttpd.net/issues/881
"SSL + file upload = lots of memory"
https://redmine.lighttpd.net/issues/1265
"Memory usage increases when proxy+ssl+large file"
https://redmine.lighttpd.net/issues/1283