Skip to content

Tests: OSError: [Errno 24] Too many open files #388

@tlambert03

Description

@tlambert03

There appears to be a leaked file handle somewhere in the tests

  • cloned repo
  • pip install -e ".[notebook,docs,tests]"
  • ran pytest examples
OSError: [Errno 24] Too many open files: '/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pygments/formatters/terminal.py'
Details
module = PosixPath('/Users/talley/dev/forks/fastplotlib/examples/desktop/gridplot/gridplot.py'), force_offscreen = None

Traceback (most recent call last):
  File "/Users/talley/miniforge3/envs/fastplotlib/bin/pytest", line 8, in <module>
    sys.exit(console_main())
             ^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/config/__init__.py", line 192, in console_main
    code = main()
           ^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/config/__init__.py", line 169, in main
    ret: Union[ExitCode, int] = config.hook.pytest_cmdline_main(
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_hooks.py", line 493, in __call__
    return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_manager.py", line 115, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_callers.py", line 113, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_callers.py", line 77, in _multicall
    res = hook_impl.function(*args)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/main.py", line 318, in pytest_cmdline_main
    return wrap_session(config, _main)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/main.py", line 306, in wrap_session
    config.hook.pytest_sessionfinish(
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_hooks.py", line 493, in __call__
    return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_manager.py", line 115, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_callers.py", line 130, in _multicall
    teardown[0].send(outcome)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/terminal.py", line 867, in pytest_sessionfinish
    self.config.hook.pytest_terminal_summary(
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_hooks.py", line 493, in __call__
    return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_manager.py", line 115, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_callers.py", line 152, in _multicall
    return outcome.get_result()
           ^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_result.py", line 114, in get_result
    raise exc.with_traceback(exc.__traceback__)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pluggy/_callers.py", line 62, in _multicall
    next(wrapper_gen)  # first yield
    ^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/terminal.py", line 882, in pytest_terminal_summary
    self.summary_failures()
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/terminal.py", line 1064, in summary_failures
    self._outrep_summary(rep)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/terminal.py", line 1083, in _outrep_summary
    rep.toterminal(self._tw)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/reports.py", line 89, in toterminal
    longrepr_terminal.toterminal(out)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/_code/code.py", line 1072, in toterminal
    element[0].toterminal(tw)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/_code/code.py", line 1102, in toterminal
    entry.toterminal(tw)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/_code/code.py", line 1197, in toterminal
    self._write_entry_lines(tw)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/_code/code.py", line 1179, in _write_entry_lines
    tw._write_source(source_lines, indents)
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/_io/terminalwriter.py", line 192, in _write_source
    new_lines = self._highlight(source).splitlines()
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/_pytest/_io/terminalwriter.py", line 203, in _highlight
    from pygments.formatters.terminal import TerminalFormatter
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 936, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1073, in get_code
  File "<frozen importlib._bootstrap_external>", line 1130, in get_data
OSError: [Errno 24] Too many open files: '/Users/talley/miniforge3/envs/fastplotlib/lib/python3.11/site-packages/pygments/formatters/terminal.py'

I'm on macos 14, python 3.11

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions