-
-
Notifications
You must be signed in to change notification settings - Fork 342
RecursionError: maximum recursion depth exceeded on python 3.8.0 after upgrading to flake8 5.0.0 #1637
Copy link
Copy link
Closed
Milestone
Description
how did you install flake8?
$ pip install flake8==5.0.0
Collecting flake8==5.0.0
Using cached flake8-5.0.0-py2.py3-none-any.whl (61 kB)unmodified output of flake8 --bug-report
{
"platform": {
"python_implementation": "CPython",
"python_version": "3.8.0",
"system": "Linux"
},
"plugins": [
{
"plugin": "mccabe",
"version": "0.7.0"
},
{
"plugin": "pycodestyle",
"version": "2.9.0"
},
{
"plugin": "pyflakes",
"version": "2.5.0"
}
],
"version": "5.0.0"
}describe the problem
commands ran
$ flake8 src/
Traceback (most recent call last):
File "/home/user/project/env/bin/flake8", line 8, in <module>
sys.exit(main())
File "/home/user/project/env/lib/python3.8/site-packages/flake8/main/cli.py", line 22, in main
app.run(argv)
File "/home/user/project/env/lib/python3.8/site-packages/flake8/main/application.py", line 336, in run
self._run(argv)
File "/home/user/project/env/lib/python3.8/site-packages/flake8/main/application.py", line 325, in _run
self.run_checks()
File "/home/user/project/env/lib/python3.8/site-packages/flake8/main/application.py", line 229, in run_checks
self.file_checker_manager.run()
File "/home/user/project/env/lib/python3.8/site-packages/flake8/checker.py", line 250, in run
self.run_parallel()
File "/home/user/project/env/lib/python3.8/site-packages/flake8/checker.py", line 217, in run_parallel
for ret in pool_map:
File "/usr/lib/python3.8/multiprocessing/pool.py", line 448, in <genexpr>
return (item for chunk in result for item in chunk)
File "/usr/lib/python3.8/multiprocessing/pool.py", line 865, in next
raise value
File "/usr/lib/python3.8/multiprocessing/pool.py", line 537, in _handle_tasks
put(task)
File "/usr/lib/python3.8/multiprocessing/connection.py", line 206, in send
self._send_bytes(_ForkingPickler.dumps(obj))
File "/usr/lib/python3.8/multiprocessing/reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
File "/usr/lib/python3.8/collections/__init__.py", line 429, in __getnewargs__
return _tuple(self)
RecursionError: maximum recursion depth exceededIt looks like FileChecker isn't pickleable for some reason.
I added a breakpoint in checker.py on line 210, and ran:
(Pdb) p self.checkers[0]
FileChecker for src/dir/__init__.py
(Pdb) import pickle
(Pdb) pickle.dumps(self.checkers[0])
*** RecursionError: maximum recursion depth exceeded
This did not occur before upgrading, when I was using flake8 4.0.1.
It does not reproduce on python 3.8.10.
Reactions are currently unavailable