-
-
Notifications
You must be signed in to change notification settings - Fork 223
detect and avoid creating clipboard loops #452
Copy link
Copy link
Closed
Labels
Description
Issue migrated from trac ticket # 452
component: core | priority: major | resolution: fixed
2013-11-05 08:23:17: totaam created the issue
If I shadow a display somewhere, then shadow again back to original display, I have created a loop... which creates havoc with the nested loop clipboard code:
Maximum recursion depth exceeded Traceback (most recent call last): File "/usr/lib64/python2.7/site-packages/xpra/server/window_source.py", line 451, in expire_delayed_region self.may_send_delayed() File "/usr/lib64/python2.7/site-packages/xpra/server/window_source.py", line 506, in may_send_delayed self.do_send_delayed_region() File "/usr/lib64/python2.7/site-packages/xpra/server/window_source.py", line 513, in do_send_delayed_region self.send_delayed_regions(*delayed) File "/usr/lib64/python2.7/site-packages/xpra/server/window_source.py", line 552, in send_delayed_regions log.error("send_delayed_regions: error processing region %s: %s", damage, e, exc_info=True) File "/usr/lib64/python2.7/site-packages/xpra/log.py", line 34, in <lambda> self.log(level, msg, *args, **kwargs)) File "/usr/lib64/python2.7/site-packages/xpra/log.py", line 30, in log self.logger.log(level, msg, *args, **kwargs) File "/usr/lib64/python2.7/logging/__init__.py", line 1218, in log self._log(level, msg, args, **kwargs) File "/usr/lib64/python2.7/logging/__init__.py", line 1264, in _log fn, lno, func = self.findCaller() File "/usr/lib64/python2.7/logging/__init__.py", line 1225, in findCaller f = currentframe() RuntimeError: maximum recursion depth exceededWe should detect when the nesting level gets high, and disable the clipboard.
Preferably, we would also have a way to avoid getting in that situation in first place.
Reactions are currently unavailable