Univention Bugzilla – Bug 50643
ADC memory leak in group member cache
Last modified: 2020-01-22 14:47:58 CET
Created attachment 10272 [details] fix_adc_memory_leak_in_group_member_cache.patch Ticket #2019121321000192 reported AD-Connector consuming memory until OOM. From reading the code I think the ad().group_members_cache_* could be growing indefinitely, see attached patch.
699cc88288 | Turn self.group_members_cache_* into a set() 9bf26d8471 | Advisory
Created attachment 10282 [details] QA proposal for fix OK: Migrate to set, probably adapted patch from #50644 Reopen: At least one occurence of the old list handling was missing, which caused the ad connector to fail on initialization: connector-status.log --- connect failed, failure was: --- Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/univention/connector/ad/main.py", line 302, in main connect() File "/usr/lib/python2.7/dist-packages/univention/connector/ad/main.py", line 190, in connect baseConfig['%s/ad/listener/dir' % CONFIGBASENAME] File "/usr/lib/python2.7/dist-packages/univention/connector/ad/__init__.py", line 908, in __init__ self.group_members_cache_con[group].extend(m.lower() for m in ad_members) AttributeError: 'set' object has no attribute 'extend' I found one wrong syntax line in a debug output. A patch proposal is attached.
Oh, how embarrassing, sorry. 533a750e84 | Feedback from QA 781c441283 | Advisory Package: univention-ad-connector Version: 13.0.0-20A~4.4.0.202001141138 Branch: ucs_4.4-0 Scope: errata4.4-3
OK: Patch applied OK: yaml Waiting for automated test results
OK: ucs-test, manual tests Verified
<http://errata.software-univention.de/ucs/4.4/425.html>