[issue43610] Ctrl C makes interpreter exit

2021-06-06 Thread Terry J. Reedy


Terry J. Reedy  added the comment:

I verified that sndhdr.what(0) calls "with open(0, rb)" so that Eryk's comment 
applies.  (On Windows, handle 0 is invalid, so the call errors immediately 
instead of hanging.)

--
nosy: +terry.reedy
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 

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



[issue43610] Ctrl C makes interpreter exit

2021-03-23 Thread Eryk Sun


Eryk Sun  added the comment:

> Python interpreter will exit when using Ctrl C to interrupt 
> some Python module functions with read operations. 

The REPL exits when stdin is closed. open() allows the filename to be an 
existing file descriptor without requiring a parameter such as "file_is_fd". So 
it's really simple to accidentally close stdin with something like `with 
open(0): pass`. The only role of Ctrl+C here is in canceling a blocking 
operation in the context such as a read(), after which the file is guaranteed 
to be closed by the context manager protocol.

--
nosy: +eryksun
type: crash -> behavior

___
Python tracker 

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



[issue43610] Ctrl C makes interpreter exit

2021-03-23 Thread Xinmeng Xia


New submission from Xinmeng Xia :

Python interpreter will exit when using Ctrl C to interrupt some Python module 
functions with read operations. e.g.  sndhdr.what(0), 
pdb.find_function('abs/'*10,False), mimetypes.read_mime_types(0).  This is 
not the expected behavior.  Ctrl C is to raise a KeyboardInterrupt, it should 
not crash Python and make interpreter exit.

Reproduce:
1. type 'python3' in command console;
2. type 'import sndhdr;sndhdr.what(0)'
3. type ctrl C

Expected behavior:  type ctrl c, raise a KeyboardInterrupt,  Python does not 
exit.

xxm@xxm-System-Product-Name:~$ python
Python 3.9.2 (default, Mar 12 2021, 15:08:35)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
KeyboardInterrupt
>>>


Unexpected behavior:  type ctrl c, raise a KeyboardInterrupt, Python exits.
===
xxm@xxm-System-Product-Name:~$ python
Python 3.9.2 (default, Mar 12 2021, 15:08:35)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sndhdr;sndhdr.what(0)
^CTraceback (most recent call last):
  File "", line 1, in 
  File "/home/xxm/Desktop/apifuzz/Python-3.9.2/Lib/sndhdr.py", line 54, in what
res = whathdr(filename)
  File "/home/xxm/Desktop/apifuzz/Python-3.9.2/Lib/sndhdr.py", line 61, in 
whathdr
h = f.read(512)
KeyboardInterrupt
>>>

xxm@xxm-System-Product-Name:~$
===

System: Ubuntu 16.04

--
components: Library (Lib)
messages: 389431
nosy: xxm
priority: normal
severity: normal
status: open
title: Ctrl C makes interpreter exit
type: crash
versions: Python 3.9

___
Python tracker 

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