View Single Post
Old 04-24-2022, 12:42 PM   #15
chaley
Grand Sorcerer
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 12,476
Karma: 8025702
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
@davidfor: I think it worth noting that this error:
Quote:
Originally Posted by w00dent0p View Post
calibre, version 5.38.0
ERROR: Error: Error communicating with device

Set changed size during iteration

Traceback (most recent call last):
File "calibre\gui2\device.py", line 87, in run
File "calibre\gui2\device.py", line 592, in _upload_books
File "calibre_plugins.kobotouch_extended.device.driver" , line 416, in upload_books
File "calibre\devices\kobo\driver.py", line 2171, in upload_books
File "calibre_plugins.kobotouch_extended.device.driver" , line 211, in _modify_epub
File "calibre_plugins.kobotouch_extended.container" , line 119, in __init__
File "calibre_plugins.kobotouch_extended.container" , line 375, in __run_async_over_content
File "calibre_plugins.kobotouch_extended.container" , line 368, in __run_async
File "concurrent\futures\_base.py", line 432, in result
File "concurrent\futures\_base.py", line 388, in __get_result
File "concurrent\futures\thread.py", line 57, in run
File "calibre_plugins.kobotouch_extended.container" , line 310, in forced_cleanup
File "calibre_plugins.kobotouch_extended.container" , line 169, in flush_cache
File "calibre_plugins.kobotouch_extended.container" , line 169, in <listcomp>
RuntimeError: Set changed size during iteration
is almost certainly caused by the problem we fixed this week, where multiple threads call flush_task(). It would happen if thread A starts and adds to the dirty set while thread B is flush_cache iterating over the dirty set with a comprehension. The set it is complaining about is self.dirty.
chaley is offline   Reply With Quote