Univention Bugzilla – Bug 44965
UMC-Webserver crashes with "[Errno24] Too many open files" at login
Last modified: 2017-08-31 13:31:00 CEST
Created attachment 9010 [details]
Screenshot of the traceback, that appeared when trying to log in
After opening many umc-modules I was not able to login to the umc anymore. I got a traceback (see screenshot.png).
Restarting the webserver solved the problem.
Created attachment 9011 [details]
result of the lsof command
Executing `lsof -p $PID_WEBSERVER`, where $PID_WEBSERVER comes from `pgrep -fl web-server` gave the output that can be seen in the attachment result_of_the_lsof_command.
Happend also in a Customer Environment with UCS 4.2-1 e118
(In reply to Nico Stöckigt from comment #3)
> Happend also in a Customer Environment with UCS 4.2-1 e118
If possible please attach a lsof output of the process.
Added traceback to comment for easier bug search:
Traceback (most recent call last):
File "/usr/sbin/univention-management-console-web-server", line 235, in check_queue
File "/usr/sbin/univention-management-console-web-server", line 250, in dispatch
client = SessionClient(ip=queuerequest.ip)
File "/usr/sbin/univention-management-console-web-server", line 126, in __init__
self.client = Client()
File "/usr/lib/pymodules/python2.7/univention/management/console/protocol/client.py", line 119, in __init__
File "/usr/lib/pymodules/python2.7/univention/management/console/protocol/client.py", line 143, in _init_socket
File "/usr/lib/python2.7/socket.py", line 187, in __init__
_sock = _realsocket(family, type, proto)
error: [Errno 24] Too many open files
Occured several times at UCS@school customer
"lsof -i $PID-UMC-WEBSERVER ; lsof -i $PID-UMC-SERVER ; ps faxwww" is available at ticket 2017081421000335
Created attachment 9116 [details]
r82101 | YAML Bug #44965
r82100 | Bug #44965: fix a memory leak in the UMC-Server process
The problem lies in the UMC-Server, which didn't close the connections after 30 seconds if a request was send whichs response could be send in one chunk to the client. The response wasn't closed because state.requests still contained the response which was already answered but the logic in _timeout_connection() expects an empty state.requests to close the connection.
Works. YAML file is OK.
[FAIL] bug.43658.scope+version: Bug 43658 scope: ---
[FAIL] changes.valid: Mismatching binary package version: 9.0.80-63A~184.108.40.2067081413 != univention-management-console 9.0.80-63A~220.127.116.11708141353 from univention-management-console 9.0.80-63A~18.104.22.168708141353
Im Scope ist 9.0.80-63A~22.214.171.124708141353 gebaut
Vielleicht war das auch Bug 43658, egal, bitte einfach prüfen.