Univention Bugzilla – Bug 31319
atjobs.py is not EINTR-safe (errno 4)
Last modified: 2014-11-18 15:05:00 CET
atjobs.py is not signal safe. Have a look at bug 31173 for further details. > Traceback (most recent call last): > File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py", line 204, in execute > func( request ) > File "/usr/lib/pymodules/python2.6/univention/management/console/modules/computerroom/__init__.py", line 598, in settings_set > jobs = atjobs.list( extended = True ) > File "/usr/lib/pymodules/python2.6/univention/lib/atjobs.py", line 110, in list > for line in p.stdout: > IOError: [Errno 4] Unterbrechung während des Betriebssystemaufrufs Currently this seems to be no urgent problem but it should be fixed to avoid random tracebacks.
This bug occurrs regulary in the ucs-test scripts for UCS@school.
This bug appears many times when trying to request ('computerroom/settings/get' or 'computerroom/settings/get') in Bug #35151. A work around to ignore the test case where this bug appears was added for now, and need to be removed when this bug is fixed in function "essential.computerroom.check_room_settings()"
I checked for two things: * subprocess.Popen() is called with stdout and stderr being piped. * subprocess.communicate() is used (instead of iterating) as this will then be (together with point above) EINTR-safe. The existing YAML 2014-08-28-univention-lib.yaml file has been extended. univention-lib (3.0.26-66): * Bug #31319: make sure that atjobs is EINTR-safe
Merged changes to 4.0 branch. univention-lib (4.0.3-1): * Bug #31319: make sure that atjobs is EINTR-safe
> I checked for two things: > * subprocess.Popen() is called with stdout and stderr being piped. → OK > * subprocess.communicate() is used (instead of iterating) as this will then > be (together with point above) EINTR-safe. → OK > The existing YAML 2014-08-28-univention-lib.yaml file has been extended. → OK > univention-lib (3.0.26-66): > * Bug #31319: make sure that atjobs is EINTR-safe → OK > Merged changes to 4.0 branch. > univention-lib (4.0.3-1): > * Bug #31319: make sure that atjobs is EINTR-safe → OK → VERIFIED
http://errata.univention.de/ucs/3.2/191.html