# Bug report When having a lot of opened files, glob can return an empty list rather than either raising an error or returning a non-empty list. With a `ulimit` set at 256 (`ulimit -n 256`), and with a file named `foo`: ```py from glob import glob print(glob("*")) # expectedly prints files in current folder handles = [(x for x in open("foo")) for _ in range(253)] # create 253 file handles on foo print(len(handles)) # returns 253 print(glob("*")) # prints [] ``` My intuition is that `glob` should inform the user that it couldn't do its job properly (like `open` raises `OSError` if we try to open too many files), because right now there's an uncertainty on whether a given folder is empty or `ulimit -n` has been reached. An OSError is caught in `glob.py`, but not propagated: https://github.com/python/cpython/blob/3.11/Lib/glob.py#L172 # Your environment - CPython versions tested on: 3.10, 3.11 - Operating system and architecture: macOS 12.0.1 (for 3.10), Debian 11 (for 3.11, from docker's `python:latest`), both x86_64 <!-- gh-linked-prs --> ### Linked PRs * gh-109517 <!-- /gh-linked-prs -->