Bug 37315 - UMC crashes with broken pipe
UMC crashes with broken pipe
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 3.2
Other Linux
: P5 normal (vote)
: UCS 3.2-4-errata
Assigned To: Florian Best
Alexander Kramer
:
Depends on: 35231
Blocks:
  Show dependency treegraph
 
Reported: 2014-12-12 11:48 CET by Alexander Kläser
Modified: 2014-12-17 12:54 CET (History)
7 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Error handling
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2014-12-12 11:48:51 CET
The patch needs to be back ported to 3.2. This error currently occurs on UCS@school systems such that the UMC server exists with the traceback (cf. Ticket #2014110221000053).

+++ This bug was initially created as a clone of Bug #35231 +++

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)
Comment 1 Alexander Kläser univentionstaff 2014-12-12 11:53:20 CET
The latest log files on the system were:

-------------------- /var/log/univention --------------------
-rw-r----- 1 root adm        8268 12. Dez 10:58 management-console-module-schoolexam-master.log
-rw-r----- 1 root adm      112307 12. Dez 10:58 management-console-module-schoolexam.log
-rw-r----- 1 root adm         118 12. Dez 11:03 management-console-module-printers.log
-rw-r----- 1 root adm     7264243 12. Dez 11:03 management-console-server.log
-rw-r----- 1 root adm    13843838 12. Dez 11:03 management-console-module-computerroom.log
-rw-r----- 1 root adm       32531 12. Dez 11:09 updater.log
-rw-r----- 1 root adm     1348483 12. Dez 11:09 config-registry.replog
-rw-r----- 1 root adm    14841369 12. Dez 11:29 management-console-web-server.log
-rw-r----- 1 root adm    57656947 12. Dez 11:30 system-stats.log
-rw-r----- 1 root adm         788 12. Dez 11:34 connector-s4-status.log
-rw-r----- 1 root adm  1158404063 12. Dez 11:34 connector-s4.log
--------------------------------------------------

And here the last lines of the relevant log files:

-------------------- umc-server.log --------------------
[...]
12.12.14 11:03:54.114  PARSER      ( PROCESS ) : Attribute status just available for MIME type application/json
12.12.14 11:03:54.114  PARSER      ( PROCESS ) : Attribute status just available for MIME type application/json
12.12.14 11:03:54.319  PARSER      ( PROCESS ) : Attribute status just available for MIME type application/json
12.12.14 11:03:54.319  PARSER      ( PROCESS ) : Attribute status just available for MIME type application/json
12.12.14 11:03:56.781  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/sbin/univention-management-console-server", line 142, in _restart
    self._start()
  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 548, in _inactivitiy_tick
    if self._mod_inactive( module ): # open requests -> waiting
  File "/usr/lib/pymodules/python2.6/univention/management/console/protocol/session.py", line 778, in _mod_inactive
    self.handle_request_exit( req )
  File "/usr/lib/pymodules/python2.6/univention/management/console/protocol/session.py", line 315, 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)
--------------------------------------------------

-------------------- umc-module-computerroom.log --------------------
[...]
12.12.14 11:03:54.113  PARSER      ( PROCESS ) : Attribute status just available for MIME type application/json
12.12.14 11:03:54.113  PARSER      ( PROCESS ) : Attribute status just available for MIME type application/json
12.12.14 11:03:54.318  PARSER      ( PROCESS ) : Attribute status just available for MIME type application/json
12.12.14 11:03:54.318  PARSER      ( PROCESS ) : Attribute status just available for MIME type application/json
12.12.14 11:03:54.318  PARSER      ( PROCESS ) : Attribute status just available for MIME type application/json
12.12.14 11:03:56.895  MODULE      ( WARN    ) : lockDN: uid=[...], userDN: uid=[...]
12.12.14 11:03:56.895  MODULE      ( WARN    ) : lockDN: uid=[...], userDN: uid=[...]
12.12.14 11:03:56.895  MODULE      ( WARN    ) : lockDN: uid=[...], userDN: uid=[...]
12.12.14 11:03:56.896  MAIN        ( WARN    ) : Shutting down all open connections
12.12.14 11:03:56.896  MAIN        ( WARN    ) : Shutting down all open connections
12.12.14 11:03:56.896  MAIN        ( WARN    ) : Shutting down all open connections
--------------------------------------------------
Comment 2 Florian Best univentionstaff 2014-12-15 12:05:17 CET
2014-12-12-univention-management-console.yaml
svn r56760; svn r56761
Comment 3 Alexander Kläser univentionstaff 2014-12-17 10:28:51 CET
The entry in the YAML file is missing.
Comment 4 Florian Best univentionstaff 2014-12-17 10:34:06 CET
(In reply to Alexander Kläser from comment #3)
> The entry in the YAML file is missing.
added.
Comment 5 Alexander Kramer univentionstaff 2014-12-17 11:16:38 CET
OK - changelog
OK - yaml
OK - new package has code as expected
Comment 6 Moritz Muehlenhoff univentionstaff 2014-12-17 12:54:53 CET
http://errata.univention.de/ucs/3.2/250.html