[issue16458] subprocess.py throw "The handle is invalid" error on duplicating the STD_INPUT_HANDLE

2015-12-05 Thread Eryk Sun

Changes by Eryk Sun :


--
resolution:  -> duplicate
stage:  -> resolved
status: open -> closed
superseder:  -> subprocess failing in GUI applications on Windows

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2014-07-13 Thread Mark Lawrence

Mark Lawrence added the comment:

Is XP under Python support now?  I'm sure I've read that it isn't but can't 
find a reference.

--
nosy: +BreamoreBoy

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-15 Thread Tim Golden

Tim Golden added the comment:

Karthk, if you can run up an up-to-date patch and a test I'm willing to review 
and commit it, otherwise this one will lie quiet.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-14 Thread Tim Golden

Changes by Tim Golden m...@timgolden.me.uk:


--
nosy: +gregory.p.smith

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-14 Thread Tim Golden

Tim Golden added the comment:

On 13/11/2012 20:57, Karthk Rajagopalan wrote:
 I added test case using perl and python since it was easy to
 reproduce using perl socket module and show the issue happening with
 python's subprocess.py. There is definitely an action required in
 subprocess.py to catch 'invalid handle error' and my attached patch
 handle this situation.

So, because subprocess.call includes a call to DuplicateHandle(stdin),
that call will fail if stdin is currently a handle to a socket.
Is that right?

Your patch fails to apply cleanly to the hg tip, because Gregory P.
Smith has been making changes in this very piece of code over the last
few days. I'll add him as interested to the call as someone who can make
a call as to the suitability of your patch.

 I can come up with a test case like perl does to create a listening
 socket and map the socket handle to a file descriptor. You will see
 this issue *only* when the open_osfhandle(..) is used to map the
 handle to a file descriptor.

If this is to go ahead, we will need a test case which can run as part
of the Python stdlib tests, and perl is not part of that stdlib!

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-14 Thread Karthk Rajagopalan

Karthk Rajagopalan added the comment:

Hi Tim, 

Thanks for your reply.

Yes, DuplicateHandle(..) seem to fail if the handle is to a socket under XP 
SP3. 

Can you point me to the guidelines about submitting patch so I can merge my 
change in main branch and upload it?

We build python from source and doesn't use pywin32 as of now. So I downloaded 
them yesterday to come up with a test case in python which you can use in your 
test bed.

-Karthik

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-14 Thread Tim Golden

Tim Golden added the comment:

Start here: http://docs.python.org/devguide/

In particular: http://docs.python.org/devguide/patch.html

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-14 Thread Gregory P. Smith

Gregory P. Smith added the comment:

Sorry I can't help on the windows side of things.  I don't have access to any 
windows systems.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-13 Thread Tim Golden

Tim Golden added the comment:

I'm sorry, but I genuinely can't see what you're trying to say here. If you 
believe that there's a bug in Python's standard library, can you show a 
reproducible *Python* testcase for it, please (using the pywin32 modules if 
that helps) and state clearly what you think is wrong.

--
nosy: +tim.golden

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-13 Thread Karthk Rajagopalan

Karthk Rajagopalan added the comment:

Hi Tim,

Thanks for your reply.

I added test case using perl and python since it was easy to reproduce using 
perl socket module and show the issue happening with python's subprocess.py. 
There is definitely an action required in subprocess.py to catch 'invalid 
handle error' and my attached patch handle this situation.

I can come up with a test case like perl does to create a listening socket and 
map the socket handle to a file descriptor. You will see this issue *only* when 
the open_osfhandle(..) is used to map the handle to a file descriptor.

-Karthik

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-12 Thread Herc Silverstein

Changes by Herc Silverstein h...@schrodinger.com:


--
nosy: +hercs

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16458] subprocess.py throw The handle is invalid error on duplicating the STD_INPUT_HANDLE

2012-11-11 Thread Karthk Rajagopalan

New submission from Karthk Rajagopalan:

Please download subprocess.zip and extract the archive. Run - 

perl test.pl

you will notice 'invalid handle' error on duplicating STD_INPUT_HANDLE in 
python. This is observed in Windows XP SP3. Vista SP2 and higher platforms 
doesn't show this failure when I checked.

test.pl spawn a python process test.py using CREATE_NEW_PROCESS_GROUP flag. 
Before it does, it close STDIN and create a listening socket. Perl under the 
hood, convert the socket handle to file descriptor using open_osfhandle(..) 
call. When it does this, the C runtime set the standard input handle to this 
descriptor  for console app. [ See msvcr* osfinfo.c code - SetStdHandle( 
STD_INPUT_HANDLE, (HANDLE)value )  ]. As a result, when you get the 
STD_INPUT_HANDLE, you will get the new one. Duplicating this handle, hence 
throw the invalid handle error in Windows XP SP3. 

When I looked at MSDN for DuplicateHandle(..), it is mentioned not to duplicate 
socket handle using this call. So I suspect something going wrong in XP 
platform. To fix this issue, I have come up with a patch - python-2143_patch. 
Please take a look and let me know your comments.

-Karthik

--
components: Windows
files: subprocess.zip
messages: 175416
nosy: kartlee05
priority: normal
severity: normal
status: open
title: subprocess.py throw The handle is invalid error on duplicating the 
STD_INPUT_HANDLE
type: behavior
versions: Python 2.7
Added file: http://bugs.python.org/file27966/subprocess.zip

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16458
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com