Univention Bugzilla – Bug 26172
UMC maximum recursion depth reached
Last modified: 2015-05-08 17:05:55 CEST
Ticket#: 2012021621000941 Hier wurde vermutlich das gleiche Problem auf einem UCS 2.4-4 UCS@school System beobachtet: 6.02.12 13:07:04 ADMIN ( ERROR ) : AJAX: EXCEPTION: [Errno 2] No such file or directory: '/tmp/webui/9c8fed27cd67effdfb8249160d842eb4/socket_filename' 16.02.12 13:07:04 ADMIN ( ERROR ) : AJAX: DATA = FieldStorage(None, None, [MiniFieldStorage('session_id', '9c8fed27cd67effdfb8249160d842eb4'), MiniFieldStorage('umcpcmd', 'roomadmin/italc/request/data'), MiniFieldStorage('room', 'schule-B31'), MiniFieldStorage('date', '1329394023104')]) 16.02.12 13:07:04 ADMIN ( ERROR ) : Traceback (most recent call last): File "/var/www/univention-management-console/ajax.py", line 87, in main fn = open('/tmp/webui/%s/socket_filename' % session_id).read() IOError: [Errno 2] No such file or directory: '/tmp/webui/9c8fed27cd67effdfb8249160d842eb4/socket_filename' +++ This bug was initially created as a clone of Bug #22594 +++ Dieser Bug wird auch durch den Code in den DVS-Modulen getriggert und scheint seine Ursache in einem Kommunikationsproblem zwischen UMC event loop und UVMM zu haben. Ausgelöst wird der Bug anscheinend unter anderem dadurch, dass ein Benutzer in einem UMC-Modul eine UVMM-Anfrage auslöst (z.B. Maschine Clonen) und nebenbei dann in einem zweiten UMC Modul eine weitere UVMM-Anfrage auslöst. Im konkreten Fall verbraucht der Prozess root 6354 31754 46 08:42 ? 00:20:00 /usr/bin/python2.4 /usr/sbin/univention-management-console-module -m dvs_templates -s /var/run/univention-management-console/31754-1306219366585.socket -i web -d 4 -l de_DE.utf8 dann ca. 90% CPU und looped im strace: -------------------------------------- gettimeofday({1306221660, 138522}, NULL) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 write(2, "2011-05-24 09:21:00,138: notifier: ERROR : maximum recursion depth reached\nNone\n"..., 82) = 82 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2309, ...}) = 0 write(8, "2011-05-24 09:21:00,138: notifier: ERROR : maximum recursion depth reached\nNone\n"..., 82) = 82 gettimeofday({1306221660, 139368}, NULL) = 0 -------------------------------------- In /var/log/univention/management-console-web.log stehen viele Meldungen folgender Art: -------------------------------------- 24.05.11 09:28:34 DEBUG_INIT 24.05.11 09:28:34 ADMIN ( ERROR ) : AJAX: EXCEPTION: [Errno 2] No such file or directory: '/tmp/webui/ffe604e17938c464caefb607da9b3c84/socket_filename' 24.05.11 09:28:34 ADMIN ( ERROR ) : AJAX: DATA = FieldStorage(None, None, [MiniFieldStorage('session_id', 'ffe604e17938c464caefb607da9b3c84'), MiniFieldStorage('umcpcmd', 'dvs/instance/state'), MiniFieldStorage('instance', 'qemu://xen13.dvs10.local/system#9902f9b7-2951-44a9-9e9e-1155e22e94f5'), MiniFieldStorage('dojo.preventCache', '1306222113769')]) 24.05.11 09:28:34 ADMIN ( ERROR ) : Traceback (most recent call last): File "/var/www/univention-management-console/ajax.py", line 87, in main fn = open('/tmp/webui/%s/socket_filename' % session_id).read() IOError: [Errno 2] No such file or directory: '/tmp/webui/ffe604e17938c464caefb607da9b3c84/socket_filename' -------------------------------------- Endresultat ist, dass die Logmeldungen die Platte fluten. Vermutlich ist das das gleiche Problem wie der Ursprungsbug: +++ This bug was initially created as a clone of Bug #21616 +++
6.02.12 13:07:04 ADMIN ( ERROR ) : AJAX: EXCEPTION: [Errno 2] No such file or directory: '/tmp/webui/9c8fed27cd67effdfb8249160d842eb4/socket_filename' [...] 16.02.12 13:07:04 ADMIN ( ERROR ) : Traceback (most recent call last): File "/var/www/univention-management-console/ajax.py", line 87, in main fn = open('/tmp/webui/%s/socket_filename' % session_id).read() IOError: [Errno 2] No such file or directory: '/tmp/webui/9c8fed27cd67effdfb8249160d842eb4/socket_filename' Das deutet erstmal nur darauf hin, dass der Sessionprozess nicht mehr da ist. Das kann auch durch z.B. das Duplizieren eines UMC-Fensters bzw. öffnen eines Links in einem neuen Fenster und dem anschließenden Abmelden im ersten Fenster auftreten. Das zweite Fenster macht dann weiter fleissig AJAX-Abfrage für eine ungültige Session. Alternativ wurde der Back-Button verwendet und versucht auf einer ungültigen Session zu arbeiten. Einen direkten Zusammenhang mit dem "UMC maximum recursion depth reached" Fehler kann ich gerade nicht erkennen.
UCS 2.4 is out of maintenance.