New submission from Darren Hamilton <d.hamil...@procept-biorobotics.com>:

This is related to https://bugs.python.org/issue17797, which is closed.

Using Python 3.7.4, Windows 10.0.18362, Visual Studio 2017 and running as a C 
Application.  Py_Initialize() eventually calls is_valid_fd with STDIN.  The 
behavior appears to cause both dup() and fstat() to hang indefinitely (using 
RELEASE MSVCRT DLLs, it works correctly using MSVCRT Debug DLLs).  The call 
stack shows Windows is waiting for some Windows Event.  The recommended patch 
in issue17797 will not work.

is_valid_fd appears to want to read the 'input' using a file descriptor.  since 
both dup and fstat hang, I realized that isatty() would indicate if the file 
descriptor is valid and works for any predefined FD descriptor(STDIN-0, 
STDOUT-1, STDERR-2).

#if defined(MS_WINDOWS)
        struct stat buf;
        if (fd >= fileno(stdin) && fd <= fileno(stderr)) {
                return (_isatty(fd) == 0 && errno == EBADF) ? 0 : 1;
        }
        else if (fstat(fd, &buf) < 0 && (errno == EBADF || errno == ENOENT))
                return 0;
        return 1;
#else

----------
components: Library (Lib), Windows
messages: 360070
nosy: dhamilton, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: Py_Initialize Hangs on Windows 10
type: behavior
versions: Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue39345>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to