gtg-contributors team mailing list archive
-
gtg-contributors team
-
Mailing list archive
-
Message #00416
[Bug 635048] [NEW] fix rtm backend concurrency issue
Public bug reported:
Exception in thread Thread-4:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/usr/lib/python2.6/threading.py", line 484, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/local/lib/python2.6/dist-packages/GTG/core/datastore.py", line 603, in __start_get_tasks
self.backend.start_get_tasks()
File "/usr/local/lib/python2.6/dist-packages/GTG/tools/interruptible.py", line 45, in new
return fn(*args)
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/periodicimportbackend.py", line 81, in start_get_tasks
self._start_get_tasks()
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/periodicimportbackend.py", line 101, in _start_get_tasks
self.do_periodic_import()
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/backend_rtm.py", line 185, in do_periodic_import
self._process_rtm_task(rtm_task_id)
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/backend_rtm.py", line 403, in _process_rtm_task
self.save_state()
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/backend_rtm.py", line 108, in save_state
self._store_pickled_file(self.sync_engine_path, self.sync_engine)
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/genericbackend.py", line 567, in _store_pickled_file
pickle.dump(data, file)
File "/usr/lib/python2.6/pickle.py", line 1362, in dump
Pickler(file, protocol).dump(obj)
File "/usr/lib/python2.6/pickle.py", line 224, in dump
self.save(obj)
File "/usr/lib/python2.6/pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "/usr/lib/python2.6/pickle.py", line 419, in save_reduce
save(state)
File "/usr/lib/python2.6/pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.6/pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "/usr/lib/python2.6/pickle.py", line 663, in _batch_setitems
save(v)
File "/usr/lib/python2.6/pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "/usr/lib/python2.6/pickle.py", line 419, in save_reduce
save(state)
File "/usr/lib/python2.6/pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.6/pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "/usr/lib/python2.6/pickle.py", line 663, in _batch_setitems
save(v)
File "/usr/lib/python2.6/pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "/usr/lib/python2.6/pickle.py", line 419, in save_reduce
save(state)
File "/usr/lib/python2.6/pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.6/pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "/usr/lib/python2.6/pickle.py", line 663, in _batch_setitems
save(v)
File "/usr/lib/python2.6/pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.6/pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "/usr/lib/python2.6/pickle.py", line 661, in _batch_setitems
for k, v in items:
RuntimeError: dictionary changed size during iteration
** Affects: gtg
Importance: Critical
Assignee: Luca Invernizzi (invernizzi)
Status: Triaged
** Tags: release-critical
--
fix rtm backend concurrency issue
https://bugs.launchpad.net/bugs/635048
You received this bug notification because you are a member of Gtg
contributors, which is subscribed to Getting Things GNOME!.
Status in Getting Things GNOME!: Triaged
Bug description:
Exception in thread Thread-4:
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/usr/lib/python2.6/threading.py", line 484, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/local/lib/python2.6/dist-packages/GTG/core/datastore.py", line 603, in __start_get_tasks
self.backend.start_get_tasks()
File "/usr/local/lib/python2.6/dist-packages/GTG/tools/interruptible.py", line 45, in new
return fn(*args)
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/periodicimportbackend.py", line 81, in start_get_tasks
self._start_get_tasks()
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/periodicimportbackend.py", line 101, in _start_get_tasks
self.do_periodic_import()
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/backend_rtm.py", line 185, in do_periodic_import
self._process_rtm_task(rtm_task_id)
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/backend_rtm.py", line 403, in _process_rtm_task
self.save_state()
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/backend_rtm.py", line 108, in save_state
self._store_pickled_file(self.sync_engine_path, self.sync_engine)
File "/usr/local/lib/python2.6/dist-packages/GTG/backends/genericbackend.py", line 567, in _store_pickled_file
pickle.dump(data, file)
File "/usr/lib/python2.6/pickle.py", line 1362, in dump
Pickler(file, protocol).dump(obj)
File "/usr/lib/python2.6/pickle.py", line 224, in dump
self.save(obj)
File "/usr/lib/python2.6/pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "/usr/lib/python2.6/pickle.py", line 419, in save_reduce
save(state)
File "/usr/lib/python2.6/pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.6/pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "/usr/lib/python2.6/pickle.py", line 663, in _batch_setitems
save(v)
File "/usr/lib/python2.6/pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "/usr/lib/python2.6/pickle.py", line 419, in save_reduce
save(state)
File "/usr/lib/python2.6/pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.6/pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "/usr/lib/python2.6/pickle.py", line 663, in _batch_setitems
save(v)
File "/usr/lib/python2.6/pickle.py", line 331, in save
self.save_reduce(obj=obj, *rv)
File "/usr/lib/python2.6/pickle.py", line 419, in save_reduce
save(state)
File "/usr/lib/python2.6/pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.6/pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "/usr/lib/python2.6/pickle.py", line 663, in _batch_setitems
save(v)
File "/usr/lib/python2.6/pickle.py", line 286, in save
f(self, obj) # Call unbound method with explicit self
File "/usr/lib/python2.6/pickle.py", line 649, in save_dict
self._batch_setitems(obj.iteritems())
File "/usr/lib/python2.6/pickle.py", line 661, in _batch_setitems
for k, v in items:
RuntimeError: dictionary changed size during iteration
Follow ups
References