Changes between Initial Version and Version 2 of Ticket #27647


Ignore:
Timestamp:
Dec 27, 2016, 8:45:07 AM (7 years ago)
Author:
Aleksi Häkli
Comment:

Add analysis on the os.spawnve() behaviour and its thread-safety.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #27647

    • Property Summary Django segmentation faults with server autoreload enabled on Windows 10Django runserver segfaults with autoreload enabled on Windows 10
  • Ticket #27647 – Description

    initial v2  
    44
    55https://github.com/django/django/blob/b79fc11d730b5beff92e9dd8853a61524cdeffe3/django/utils/autoreload.py#L290
     6
     7Python documentation states that the _`os.spawnve` function is NOT thread-safe on Windows_ and that the `subprocess` module should be used instead.
     8
     9I hence suspect that a thread that is spawned on reload makes a memory violation and causes a segmentation fault which kills off the server.
     10
     11I propose that `autoreload.py` be refactored to use a thread-safe implementation either by the subprocess module or by other alternative implementation.
    612
    713----
Back to Top