id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 22017 RuntimeError: dictionary changed size during iteration Ceesjan Luiten nobody "This bug report is identical to #21049 but for Django 1.7. I run Django 1.7a2 with a Python3 virtualenv. Occasionally the runserver crashes with the following stacktrace: {{{ System check identified no issues (0 silenced). Traceback (most recent call last): File ""manage.py"", line 10, in execute_from_command_line(sys.argv) File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/core/management/__init__.py"", line 427, in execute_from_command_line utility.execute() File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/core/management/__init__.py"", line 419, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/core/management/base.py"", line 287, in run_from_argv self.execute(*args, **options.__dict__) File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/core/management/base.py"", line 336, in execute output = self.handle(*args, **options) File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/core/management/commands/runserver.py"", line 81, in handle self.run(*args, **options) File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/core/management/commands/runserver.py"", line 90, in run autoreload.main(self.inner_run, args, options) File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/utils/autoreload.py"", line 267, in main reloader(wrapped_main_func, args, kwargs) File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/utils/autoreload.py"", line 233, in python_reloader reloader_thread() File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/utils/autoreload.py"", line 212, in reloader_thread if fn(): File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/utils/autoreload.py"", line 139, in inotify_code_changed update_watch() File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/utils/autoreload.py"", line 132, in update_watch for path in gen_filenames(): File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/utils/autoreload.py"", line 84, in gen_filenames filenames = [filename.__file__ for filename in sys.modules.values() File ""/home/quinox/projecten/deadlines/virtual/lib/python3.3/site-packages/django/utils/autoreload.py"", line 84, in filenames = [filename.__file__ for filename in sys.modules.values() RuntimeError: dictionary changed size during iteration }}} The issue shows up sporadically, it can usually be triggered within 10 minutes by running the following command in a shell: {{{ #!bash while true ; do touch project/xxx/models.py ; sleep 1s; done }}} The fix as suggested in #21049 seems to fix the issue, I haven't seen the runserver crash since I modified `django/utils/autoreload.py` lines 84-85 from: {{{ #!python filenames = [filename.__file__ for filename in sys.modules.values() if hasattr(filename, '__file__')] }}} to {{{ #!python filenames = [filename.__file__ for filename in list(sys.modules.values()) if hasattr(filename, '__file__')] }}}" Bug closed Python 3 1.7-alpha-1 Normal fixed djangoproject.com@… Accepted 1 0 0 0 1 0