Opened 10 years ago

Closed 10 years ago

#21621 closed Bug (fixed)

Remove kqueue-based autoreloader

Reported by: Aymeric Augustin Owned by: nobody
Component: Core (Management commands) Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I keep running into issues and I now think it's a dead end. The final nail in the coffin is the subprocess module: if fails miserably as soon as 1024 file descriptors open, even if they're unrelated.

  File "/Users/myk/Documents/dev/myks_org/django/utils/version.py", line 26, in get_version
    git_changeset = get_git_changeset()
  File "/Users/myk/Documents/dev/myks_org/django/utils/version.py", line 48, in get_git_changeset
    timestamp = git_log.communicate()[0]
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 806, in communicate
    return self._communicate(input)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1384, in _communicate
    stdout, stderr = self._communicate_with_select(input)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1485, in _communicate_with_select
    rlist, wlist, xlist = select.select(read_set, write_set, [])
ValueError: filedescriptor out of range in select()

kqueue needs one open file descriptor per watched file, so this condition is reached extremely quickly.

Change History (1)

comment:1 by Aymeric Augustin <aymeric.augustin@…>, 10 years ago

Resolution: fixed
Status: newclosed

In 3beffea4b0aa5e28b4e3a6b34fff4c7bf0b6fab3:

Fixed #21621 -- Removed kqueue autoreloader.

Note: See TracTickets for help on using tickets.
Back to Top