Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#27586 closed Bug (needsinfo)

Django sometimes crashes on Windows when being launched in PyCharm

Reported by: Vilius Poška Owned by: nobody
Component: Utilities Version: 1.10
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

When trying to launch a Django server with (and sometimes even without) debugging on PyCharm, I get this error:

...
pydev debugger: process 10532 is connecting
Connected to pydev debugger (build 163.8233.8)
Process finished with exit code -1073741819 (0xC0000005)

That's how it looks without debugging:

"C:\Program Files (x86)\PyCharm\bin\runnerw.exe" D:\project\env\Scripts\python.exe D:/project/manage.py runserver 80

Process finished with exit code -1073741819 (0xC0000005)

The strangest thing is that if I re-run, some of the times (1 success in about 4-6 reruns) it will launch successfully. I also couldn't reproduce this problem without PyCharm.

Specs: Windows 10 Pro, Pycharm (this happens on versions 5.x through 2016.3) x86 and x64 versions, Python 3.5x, Django 1.8-1.10.x.

This is what the Event Viewer reports about the error:

    Faulting application name: python.exe, version: 3.5.1150.1013, time stamp: 0x566391f0
    Faulting module name: ucrtbase.dll, version: 10.0.14393.0, time stamp: 0x57898db2
    Exception code: 0xc0000005
    Fault offset: 0x000b6d95
    Faulting process ID: 0x1b30
    Faulting application start time: 0x01d251286ca8ada3
    Faulting application path: D:\project\env\Scripts\python.exe
    Faulting module path: C:\WINDOWS\System32\ucrtbase.dll
    Report ID: b23376d6-cf66-4d83-8781-cd22311e0f9e
    Faulting package full name: 
    Faulting package-relative application ID: 

The error appears to originate from restart_with_reloader in autoreload.py after this statement:

    def restart_with_reloader():
        while True:
            args = [sys.executable] + ['-W%s' % o for o in sys.warnoptions] + sys.argv
            if sys.platform == "win32":
                args = ['"%s"' % arg for arg in args]
            new_environ = os.environ.copy()
            new_environ["RUN_MAIN"] = 'true'

            # this line crashes the whole script
            # I guess the problem arises in native code
            exit_code = os.spawnve(os.P_WAIT, sys.executable, args, new_environ)
            # debugger disconnects here

            if exit_code != 3:
                return exit_code

Change History (3)

comment:1 by Tim Graham, 8 years ago

Resolution: needsinfo
Status: newclosed

If the issue can't be reproduced without PyCharm, then I'm inclined to say you should file an issue with PyCharm support so their engineers can investigate the issue. If they determine Django is at fault, I'd welcome them to open the issue with a proposed fix.

comment:2 by Vašek Dohnal, 8 years ago

I have sometimes same issue on Windows 10 Pro (1607) when I run Django runserver from Powershell console. Here is mine Windows Event log:

Faulting application name: python.exe, version: 3.5.1150.1013, time stamp: 0x576eff6a
Faulting module name: ucrtbase.dll, version: 10.0.14393.0, time stamp: 0x57898db2
Exception code: 0xc0000005
Fault offset: 0x000b6d95
Faulting process id: 0x2518
Faulting application start time: 0x01d266e0af109346
Faulting application path: C:\Users\***\.virtualenvs\***\Scripts\python.exe
Faulting module path: C:\WINDOWS\System32\ucrtbase.dll
Report Id: b30fc25b-9183-4c8f-b01f-5fb5b71fddad
Faulting package full name: 
Faulting package-relative application ID: 

After several re-runs runserver works OK. I'm using Python 3.5.2 and Django 1.10.5.

Last edited 8 years ago by Vašek Dohnal (previous) (diff)

comment:3 by johnthagen, 8 years ago

This problem happens on Windows 8+. It's actually a bug in Microsoft CRT manifesting in PyCharm.

A workaround is posted here: https://youtrack.jetbrains.com/issue/PY-17069#comment=27-1804561

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