Univention Bugzilla – Bug 36922
schoolcsvimport/recheck fails
Last modified: 2015-02-27 15:19:42 CET
Maybe due to session timeout. Don't know. Dirk you could say. Reported by Traceback feedback: Die Ausführung des Kommandos schoolcsvimport/recheck ist fehlgeschlagen: Traceback (most recent call last): File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py", line 218, in execute func( request ) File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 305, in _response result = _multi_response(self, request) File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 432, in _response for res in function(self, iterator, *nones): File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 271, in _fake_func yield function(self, *args) File "/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolcsvimport/__init__.py", line 268, in recheck_users file_info = self.file_map[file_id] KeyError: 'RObsSMrmaq(b6YpBWwZTcC7K&xm()H'
This was btw reported by 2 different schools!
Traceback: Die Ausführung des Kommandos schoolcsvimport/progress ist fehlgeschlagen: Traceback (most recent call last): File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py", line 218, in execute func( request ) File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 305, in _response result = _multi_response(self, request) File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 432, in _response for res in function(self, iterator, *nones): File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 271, in _fake_func yield function(self, *args) File "/usr/lib/pymodules/python2.6/univention/management/console/modules/mixins.py", line 143, in progress ret = progress_obj.poll() File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 419, in _thread for res in function(self, iterator, *nones): File "/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolcsvimport/__init__.py", line 299, in import_users yield {'username' : user.name, 'action' : action, 'success' : False, 'msg' : user.get_error_msg()} File "/usr/lib/python2.6/contextlib.py", line 34, in __exit__ self.gen.throw(type, value, traceback) File "/usr/lib/pymodules/python2.6/ucsschool/lib/models/utils.py", line 171, in stopped_notifier yield File "/usr/lib/pymodules/python2.6/univention/management/console/modules/schoolcsvimport/__init__.py", line 286, in import_users file_info = self.file_map[file_id] KeyError: 's?R=JS8$AUKTpFVER42(50Sue$k%5!'
Remark: csv-Benutzerimport lief, als ein anderer BEnutzer den Raum übernommen hat. Gruß.
Reproduce: upload file, kill process (or let it session timeout), submit values.
In the frontend we already have a timer which keeps the session opened. I guess that the umc-server was restarted during the steps which causes this.
As discussed, this situation should be catched and the user should get a more userfriendly message, e.g. something like this "UMC-Module has been stopped... Maybe UMC-Server has been restarted... Import has to be restarted".
A user friendly message is now shown in that case. A real fix would be to send all data along with both of the requests but the change would be too big. Fix: svn r57787
merged to UCS@school 3.2
OK: debian changelog entry OK: XML changelog entry Execution of command 'schoolcsvimport/progress' has failed: Traceback (most recent call last): File "/usr/lib/pymodules/python2.7/univention/management/console/modules/__init__.py", line 176, in _decorated return function(self, request, *args, **kwargs) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 316, in _response result = _multi_response(self, request) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 460, in _response return list(function(self, iterator, *nones)) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 282, in _fake_func yield function(self, *args) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/mixins.py", line 149, in progress ret = progress_obj.poll() File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 307, in _thread result = _multi_response(self, request) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 460, in _response return list(function(self, iterator, *nones)) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 282, in _fake_func yield function(self, *args) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/schoolcsvimport/__init__.py", line 236, in show file_info = self._get_info(file_id) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/schoolcsvimport/__init__.py", line 108, in _get_info raise FileNotFound() File "/usr/lib/pymodules/python2.7/univention/management/console/modules/schoolcsvimport/__init__.py", line 60, in __init__ super(FileNotFound, self).__init__(self.error_message, status=500) File "/usr/lib/pymodules/python2.7/univention/management/console/modules/schoolcsvimport/__init__.py", line 67, in error_message _('The import have to be restarted again.') TypeError: join() takes exactly one argument (3 given) Suggentions for texts and translations: "The import have to be restarted again." → "The import has to be restarted." "Dies liegt möglicherweise an einem kürzlichem Neustart der Univention Management Console." → "Dies liegt möglicherweise an einem Neustart der Univention Management Console."
fixed, svn r58303
OK: functionality OK: package is built OK: code change Tested with ucs-school-umc-csv-import 2.0.6-2.39.201502212114
UCS@school 4.0 v2 has been released: http://docs.univention.de/release-notes-ucsschool-4.0v2-de.html If this error occurs again, please use "Clone This Bug".