Univention Bugzilla – Bug 35231
UMC crashes with broken pipe
Last modified: 2015-03-16 09:34:27 CET
Not sure how (and if) this can be provoked intentionally, but my UMC-server crashed (while killing the join module?) 01.07.14 13:56:51.675 MAIN ( INFO ) : The session is shutting down. Sending UMC modules an EXIT request (0 processes) 01.07.14 14:02:30.131 MAIN ( WARN ) : Socket died (module=udm) 01.07.14 14:02:30.132 MAIN ( WARN ) : Module process udm died (pid: 15643, exit status: -1, signal: -1) 01.07.14 14:02:30.132 MAIN ( INFO ) : Checking for kill timer () 01.07.14 14:02:30.132 MAIN ( WARN ) : Cleaning up requests 01.07.14 14:02:30.132 MAIN ( INFO ) : No pending requests found 01.07.14 14:02:30.132 MAIN ( WARN ) : Remove inactivity timer 01.07.14 14:02:30.232 MAIN ( PROCESS ) : ModuleProcess: child died 01.07.14 14:02:30.232 MAIN ( INFO ) : Module process udm died on purpose 01.07.14 14:02:30.232 MAIN ( INFO ) : Checking for kill timer () 01.07.14 14:02:30.427 MAIN ( INFO ) : The module join is inactive for too long. Sending EXIT request to module 01.07.14 14:02:30.427 PROTOCOL ( INFO ) : Sending UMCP EXIT REQUEST 140421615042793-27 01.07.14 14:02:30.672 MAIN ( ERROR ) : Traceback (most recent call last): File "/usr/sbin/univention-management-console-server", line 209, in <module> umc_daemon.do_action() File "/usr/lib/pymodules/python2.6/daemon/runner.py", line 186, in do_action func(self) File "/usr/lib/pymodules/python2.6/daemon/runner.py", line 131, in _start self.app.run() File "/usr/sbin/univention-management-console-server", line 192, in run notifier.loop() File "/usr/lib/pymodules/python2.6/notifier/nf_generic.py", line 284, in loop step() File "/usr/lib/pymodules/python2.6/notifier/nf_generic.py", line 243, in step if not timer[ CALLBACK ](): File "/usr/lib/pymodules/python2.6/notifier/__init__.py", line 104, in __call__ return self._function( *tmp, **self._kwargs ) File "/usr/lib/pymodules/python2.6/univention/management/console/protocol/session.py", line 541, in _inactivitiy_tick if self._mod_inactive( module ): # open requests -> waiting File "/usr/lib/pymodules/python2.6/univention/management/console/protocol/session.py", line 771, in _mod_inactive self.handle_request_exit( req ) File "/usr/lib/pymodules/python2.6/univention/management/console/protocol/session.py", line 312, in handle_request_exit self.__processes[ module_name ].request( msg ) File "/usr/lib/pymodules/python2.6/univention/management/console/protocol/client.py", line 256, in request if self._resend( sock ): File "/usr/lib/pymodules/python2.6/univention/management/console/protocol/client.py", line 193, in _resend bytessent = sock.send( data ) error: [Errno 32] Daten?bergabe unterbrochen (broken pipe)
I noticed these tracebacks when doing the following: 1) firewall blocks appcenter.software-univention.de 2) start app center → initial loading endures >2min 3) restart UMC server within this loading procedure
Well yes, it's probably reproducible by making a request which isn't answered immediately while killing the process. At some point the process have to kill itself when receiving SIGINT. What should the desired behavior be? → The module could answer all pending requests with some error like 500 Internal Server Error/etc. Other suggestions?
*** Bug 35640 has been marked as a duplicate of this bug. ***
*** Bug 33360 has been marked as a duplicate of this bug. ***
(In reply to Florian Best from comment #3) > *** Bug 35640 has been marked as a duplicate of this bug. *** See also Bug #35640 comment 1 there? I experienced this error again with the appcenter: MAIN ( INFO ) : The module appcenter is inactive for too long. Sending EXIT request to module PROTOCOL ( INFO ) : Sending UMCP EXIT REQUEST 141203604715722-22 MAIN ( ERROR ) : Traceback (most recent call last): …
Created attachment 6357 [details] patch Attached a patch for this. This happens when the module exits itself due to session timeout (no incoming requests) while receiving the upstream EXIT request from the UMC-server who wants to do the same.
Package: univention-management-console Version: 7.1.63-2.837.201411201850 User: fbest Branch: ucs_4.0-0 Scope: errata4.0-0 YAML: 2014-11-20-univention-management-console.yaml
YAML: 2014-11-20-univention-management-console.yaml Package: univention-management-console Version: 7.1.63-2.837.201411201850 User: fbest Branch: ucs_4.0-0 Scope: errata4.0-0
(In reply to Florian Best from comment #6) > Attached a patch for this. This happens when the module exits itself due to > session timeout (no incoming requests) while receiving the upstream EXIT > request from the UMC-server who wants to do the same. Sounds reasonable. However, I was unable to trigger the error case without the fix. OK: code change OK: functionality (at least I noticed no new problems) OK: YAML
This happened today on demo.univention.de.
http://errata.univention.de/ucs/4.0/3.html