Charcoal-SE / SmokeDetector

Headless chatbot that detects spam and posts links to it in chatrooms for quick deletion.
https://metasmoke.erwaysoftware.com
Apache License 2.0
464 stars 175 forks source link

build (3.12) occasionally fails with: flake8.exceptions.FailedToLoadPlugin: Flake8 failed to load plugin "pyflakes" due to source code string cannot contain null bytes. #10667

Open jeffschaller opened 3 months ago

jeffschaller commented 3 months ago

Sample failed build: https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272

Error output:

python3 -m flake8 --config=tox_tests.ini ./test/
  python3 -m flake8 --config=tox_tests.ini ./test/
  shell: /usr/bin/bash -e {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.1[2](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:2).2/x64
    PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/[3](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:3).12.2/x64/lib/pkgconfig
    Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.2/x6[4](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:4)
    Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.2/x64
    Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.2/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.2/x64/lib
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/plugins/finder.py", line 291, in _load_plugin
    obj = plugin.entry_point.load()
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/importlib/metadata/__init__.py", line 20[5](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:5), in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.2/x[6](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:6)4/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 138[7](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:7), in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 4[8](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:8)8, in _call_with_frames_removed
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/plugins/pyflakes.py", line 11, in <module>
    import pyflakes.checker
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/pyflakes/checker.py", line 12, in <module>
    import doctest
SyntaxError: source code string cannot contain null bytes

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen runpy>", line 1[9](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:9)8, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/__main__.py", line 7, in <module>
    raise SystemExit(main())
                     ^^^^^^
  File "/opt/hostedtoolcache/Python/3.[12](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:13).2/x64/lib/python3.12/site-packages/flake8/main/cli.py", line 23, in main
    app.run(argv)
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/main/application.py", line 198, in run
    self._run(argv)
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/main/application.py", line 186, in _run
    self.initialize(argv)
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/main/application.py", line [16](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:17)5, in initialize
    self.plugins, self.options = parse_args(argv)
                                 ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/options/parse_args.py", line 42, in parse_args
    plugins = finder.load_plugins(raw_plugins, plugin_opts)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/plugins/finder.py", line 365, in load_plugins
    return _classify_plugins(_import_plugins(plugins, opts), opts)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/plugins/finder.py", line 307, in _import_plugins
    return [_load_plugin(p) for p in plugins]
            ^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/site-packages/flake8/plugins/finder.py", line [29](https://github.com/Charcoal-SE/SmokeDetector/actions/runs/8600409207/job/23565316272#step:7:30)3, in _load_plugin
    raise FailedToLoadPlugin(plugin.package, e)
flake8.exceptions.FailedToLoadPlugin: Flake8 failed to load plugin "pyflakes" due to source code string cannot contain null bytes.
Error: Process completed with exit code 1.

According to Makyen:

teward commented 3 months ago

Just gonna say, that looks like it might be a failure at Github CI itself. If a rerun fixes it, maybe we have bad artifacts or its a Github CI issue specifically?