Bug 26172 - UMC maximum recursion depth reached
UMC maximum recursion depth reached
Status: RESOLVED WONTFIX
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 2.4
Other Linux
: P2 normal (vote)
: ---
Assigned To: UMC maintainers
:
Depends on: 22594
Blocks: 22711
  Show dependency treegraph
 
Reported: 2012-02-17 10:20 CET by Janis Meybohm
Modified: 2015-05-08 17:05 CEST (History)
5 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):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Janis Meybohm univentionstaff 2012-02-17 10:20:55 CET
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 +++
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2012-02-17 10:30:52 CET
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.
Comment 2 Florian Best univentionstaff 2015-05-08 17:05:55 CEST
UCS 2.4 is out of maintenance.