[issue43740] Long paths in imp.load_dynamic() lead to segfault

2021-04-06 Thread Xinmeng Xia


New submission from Xinmeng Xia :

Long paths as arguments of imp.load_dynamic() lead to interpreter crashes.

Crash example
=
Python 3.10.0a2 (default, Nov 24 2020, 14:18:46)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import imp
>>> imp.load_dynamic('',"abs/"*1000)
Segmentation fault (core dumped)
==

Environment:
Ubuntu 16.04, Python 3.92, Python 3.10.0a2
Mac OS Big Sur 11.2.3, Python 3.91, Python 3.10.0a2


Testing with gdb
-
$gdb ./python
(gdb) run 
Python 3.10.0a6 (default, Mar 19 2021, 11:45:56) [GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import imp
>>> imp.load_dynamic('','abs/'*1)
Program received signal SIGSEGV, Segmentation fault.
memcpy () at ../sysdeps/x86_64/multiarch/../memcpy.S:272
272 ../sysdeps/x86_64/multiarch/../memcpy.S: No such file or directory.




Testing with valgrind
-
xxm@xxm-System-Product-Name:~$ PYTHONMALLOC=malloc_debug valgrind 
'/home/xxm/Desktop/apifuzz/Python-3.10.0a6/python'
==4923== Memcheck, a memory error detector
==4923== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==4923== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==4923== Command: /home/xxm/Desktop/apifuzz/Python-3.10.0a6/python
==4923==
Python 3.10.0a6 (default, Mar 19 2021, 11:45:56) [GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.dgettext('abs'*10,'')
''
>>> import imp
:1: DeprecationWarning: the imp module is deprecated in favour of 
importlib; see the module's documentation for alternative uses
>>> imp.load_dynamic('','abs/'*1)
==4923== Warning: set address range perms: large range [0x8037040, 0x1fdaf489) 
(undefined)
==4923== Warning: set address range perms: large range [0x1fdb0040, 0x37b28479) 
(undefined)
==4923== Warning: set address range perms: large range [0x37b29040, 0x4f8a1441) 
(undefined)
==4923== Warning: set address range perms: large range [0x37b29028, 0x4f8a1459) 
(noaccess)
==4923== Warning: set address range perms: large range [0x59eb3040, 0x71c2b460) 
(undefined)
==4923== Warning: client switching stacks? SP change: 0x1ffeffe460 --> 
0x1fe7286028
==4923== to suppress, use: --max-stackframe=40056 or greater
==4923== Invalid write of size 8
==4923== at 0x401513F: _dl_open (dl-open.c:701)
==4923== Address 0x1fe7286028 is on thread 1's stack
==4923==
==4923==
==4923== Process terminating with default action of signal 11 (SIGSEGV)
==4923== Access not within mapped region at address 0x1FE7286028
==4923== at 0x401513F: _dl_open (dl-open.c:701)
==4923== If you believe this happened as a result of a stack
==4923== overflow in your program's main thread (unlikely but
==4923== possible), you can try to increase the size of the
==4923== main thread stack using the --main-stacksize= flag.
==4923== The main thread stack size used in this run was 8388608.
==4923== Invalid write of size 8
==4923== at 0x4A2867A: _vgnU_freeres (vg_preloaded.c:57)
==4923== Address 0x1fe7286020 is on thread 1's stack
==4923==
==4923==
==4923== Process terminating with default action of signal 11 (SIGSEGV)
==4923== Access not within mapped region at address 0x1FE7286020
==4923== at 0x4A2867A: _vgnU_freeres (vg_preloaded.c:57)
==4923== If you believe this happened as a result of a stack
==4923== overflow in your program's main thread (unlikely but
==4923== possible), you can try to increase the size of the
==4923== main thread stack using the --main-stacksize= flag.
==4923== The main thread stack size used in this run was 8388608.
==4923==
==4923== HEAP SUMMARY:
==4923== in use at exit: 1,205,374,369 bytes in 36,250 blocks
==4923== total heap usage: 96,421 allocs, 60,171 frees, 1,616,393,081 bytes 
allocated
==4923==
==4923== LEAK SUMMARY:
==4923== definitely lost: 0 bytes in 0 blocks
==4923== indirectly lost: 0 bytes in 0 blocks
==4923== possibly lost: 805,237,234 bytes in 35,439 blocks
==4923== still reachable: 400,137,135 bytes in 811 blocks
==4923== suppressed: 0 bytes in 0 blocks
==4923== Rerun with --leak-check=full to see details of leaked memory
==4923==
==4923== For lists of detected and suppressed errors, rerun with: -s
==4923== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)

--
components: Library (Lib)
messages: 390284
nosy: xxm
priority: normal
severity: normal
status: open
title: Long paths in imp.load_dynamic()  lead to segfault
type: crash
versions: Python 3.10

___
Python tracker 

___
___
Python-

[issue43599] Setting long domain of locale.dgettext() crashes Python interpreter

2021-04-06 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

__dcigettext() contains:

  domainname_len = strlen (domainname);
  xdomainname = (char *) alloca (strlen (categoryname)
 + domainname_len + 5);

It tries to allocate a buffer on stack, and for domain name causes stack 
overflow.

There is no portable way to restore after stack overflow or to check it ahead. 
We can add arbitrary limit for the length of domain name, but it does not 
guarantee anything. It is just yet one way to crash Python from Python code.

--
nosy: +serhiy.storchaka

___
Python tracker 

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



[issue43664] Long computations in pdb.run() lead to segfault

2021-04-06 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

It is an old known issue, it is not specific to pdb, but happens with 
compile(), and it is not fixed yet.

>>> compile("+0"*100, '?', 'eval')
Segmentation fault (core dumped)

Stack overflow in recursive call of validate_expr() in at Python/ast.c:223.

--
nosy: +serhiy.storchaka

___
Python tracker 

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



[issue17305] IDNA2008 encoding is missing

2021-04-06 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
keywords: +patch
nosy: +gregory.p.smith
nosy_count: 15.0 -> 16.0
pull_requests: +23948
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/25208

___
Python tracker 

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



[issue43664] Compiling long expression leads to segfault (again)

2021-04-06 Thread Serhiy Storchaka


Change by Serhiy Storchaka :


--
title: Long computations in pdb.run() lead to segfault -> Compiling long 
expression leads to segfault (again)
versions: +Python 3.10, Python 3.8

___
Python tracker 

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



[issue43737] Documentation of modulo operator should document behaviour clearly when second operator is negative

2021-04-06 Thread Serhiy Storchaka


Change by Serhiy Storchaka :


--
nosy: +lemburg, mark.dickinson, rhettinger, stutzbach

___
Python tracker 

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



[issue43741] http.client leaks from self.fp.read()

2021-04-06 Thread Hynek Petrak


New submission from Hynek Petrak :

Hi, I wrote an webcrawler, which is using ThreadPoolExecutor to span multiple 
thread workers, retrieve content of a web using via http.client and saves it to 
a file.
After a couple of thousands requests have been processes, the crawler starts to 
consume memory rapidly, resulting in consumption of all available memory.
tracemalloc shows the memory is not collected from:
/usr/lib/python3.9/http/client.py:468: size=47.6 MiB, count=6078, average=8221 B
  File "/usr/lib/python3.9/http/client.py", line 468
s = self.fp.read()

I have tested as well with requests and urllib3 and as they use http.client 
underneath, the result is always the same.

My code around that:
def get_html3(session, url, timeout=10):
o = urlparse(url)
if o.scheme == 'http':
cn = http.client.HTTPConnection(o.netloc, timeout=timeout)
else:
cn = http.client.HTTPSConnection(o.netloc, context=ctx, timeout=timeout)
cn.request('GET', o.path, headers=headers)
r = cn.getresponse()
log.debug(f'[*] [{url}] Status: {r.status} {r.reason}')
if r.status not in [400, 403, 404]:
ret = r.read().decode('utf-8')
else:
ret = ""
r.close()
del r
cn.close()
del cn
return ret

--
messages: 390287
nosy: HynekPetrak
priority: normal
severity: normal
status: open
title: http.client leaks from self.fp.read()
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



[issue17305] IDNA2008 encoding is missing

2021-04-06 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

My PR merely adds a note to the docs linking to idna on pypi.  Don't get 
excited, it doesn't implement anything.  :P

re "Once Python has a working idna2008 encoder, we need to address integration 
into socket, ssl, http, and asyncio module."

... doing that _could_ be the same can of worms the browsers all had to go 
through?  We'd need to decide which behavior we wanted; pure? or matching what 
browsers do?  I suspect that is equivalent to the pypi idna 
https://github.com/kjd/idna 's uts46=True + transitional=True mode [*] but 
anyone doing this work would need to figure that out for sure if we wanted to 
default to behaving like browsers with the transitional compatibility mode.

That there is a need for a couple options on top of idna2008 as an encoding 
suggests it may not be a great fit for the Python codecs encodings system as 
those use a single string name.  We'd need to permute the useful possible 
combos of flag behavior in the names.  idna2003, idna2008, idna2008uts46, 
idna2008uts46transitional, and other combos of those if alternate combinations 
are deemed relevant.

I worry that a browser-transitional-behavior-matching situation may change over 
time as TLDs decide when to change their policies.  Is that an irrational fear? 
 Browsers are well equipped to deal with this as they've got frequent updates.  
A PyPI package could as well.

[*] Browser history:

fwiw people wondering _why_ browsers like Chrome and Firefox don't "just 
blindly use idna2008 for everything" should go read the backwards compatibility 
transitional rationale and security concerns in 
https://bugs.chromium.org/p/chromium/issues/detail?id=61328
and https://bugzilla.mozilla.org/show_bug.cgi?id=479520

(caution: be ready to filter out the random internet whiners from those threads)

--

___
Python tracker 

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



[issue43738] Clarify public name of curses.window

2021-04-06 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

It could help also in help().

--
nosy: +serhiy.storchaka

___
Python tracker 

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



[issue43741] http.client leaks from self.fp.read()

2021-04-06 Thread Hynek Petrak


Hynek Petrak  added the comment:

Python 3.9.2 on Kali Linux.

--

___
Python tracker 

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



[issue41486] Add _BlocksOutputBuffer for bz2/lzma/zlib module

2021-04-06 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith

___
Python tracker 

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



[issue43684] Add combined opcodes

2021-04-06 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith

___
Python tracker 

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



[issue17305] IDNA2008 encoding is missing

2021-04-06 Thread miss-islington


miss-islington  added the comment:


New changeset 1d023e374cf96d143b065242131ddc9b889f9a1e by Gregory P. Smith in 
branch 'master':
bpo-17305: Link to the third-party idna package. (GH-25208)
https://github.com/python/cpython/commit/1d023e374cf96d143b065242131ddc9b889f9a1e


--
nosy: +miss-islington

___
Python tracker 

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



[issue17305] IDNA2008 encoding is missing

2021-04-06 Thread miss-islington


Change by miss-islington :


--
pull_requests: +23949
pull_request: https://github.com/python/cpython/pull/25210

___
Python tracker 

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



[issue17305] IDNA2008 encoding is missing

2021-04-06 Thread miss-islington


Change by miss-islington :


--
pull_requests: +23950
pull_request: https://github.com/python/cpython/pull/25211

___
Python tracker 

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



[issue43684] Add combined opcodes

2021-04-06 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

Interesting. What code did you use to collect statistics? I used patches in 
issue27255. Perhaps it is worth to add an optionally compiled code for 
collecting dynamic opcode statistics permanently.

We have around 125 opcodes, so 0.5% looks too small. But what is the range of 
that opcode? How many opcodes are more frequent? And what is the range of 
BINARY_ADD for comparison.

RETURN_CONST or RETURN_NONE was already discussed before. They can save few 
bytes in bytecode, but they are never used in tight loops and the time 
difference is dwarfed by the frame creation overhead in any case.

For frequently used pairs of opcodes we have the PREDICT() macros which reduces 
overhead.

--

___
Python tracker 

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



[issue43651] PEP 597: Fix EncodingWarning warnings in the Python stdlib

2021-04-06 Thread Inada Naoki


Inada Naoki  added the comment:


New changeset 489c36920e94bfb4988b6f965bd0aafdfaff0d4f by Inada Naoki in branch 
'master':
bpo-43651: PEP 597: Fix pdeps used locale encoding (GH-25204)
https://github.com/python/cpython/commit/489c36920e94bfb4988b6f965bd0aafdfaff0d4f


--

___
Python tracker 

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



[issue43736] asyncio create_task() odd behavior

2021-04-06 Thread Yanghao Hua


Yanghao Hua  added the comment:

This unfortunately contradicts to all the other concurrency semantics
I know, I have myself implemented various event-driven schedulers and
none of them would behave like this.

Consider an OS as the simplest example, you have a main thread that
starts many child threads, there shouldn't be a single case (not even
a possibility) that starting a child thread would block the main
thread.

And coming back to this particular example, semantically equivalent
code, producing completely different behavior for me is a major bug.
The correct way to implement "await a_task" should be like
"process().run()", rather than waiting for completion. After all,
"await t0" did *NOT* wait until t0's completion! but if you wrote
"await create_task()" it does wait ...! seems not right to me.

I strongly ask for a second opinion before we close this bug ...

On Mon, Apr 5, 2021 at 11:23 PM Zachary Ware  wrote:
>
>
> Zachary Ware  added the comment:
>
> You missed something :)
>
> By immediately awaiting the result of `create_task`, you're synchronizing 
> thing.  It's the same as just rearranging the lines of the first example to:
>
> t0 = create_task(task("T0", 10))
> print("starting tasks ...")
> await t0
> t1 = create_task(task("T1", 10))
> await t1
>
> Basically, `t1` simply doesn't exist yet when you ask `t0` to run to 
> completion.
>
> --
> nosy: +zach.ware
> resolution:  -> not a bug
> status: open -> pending
>
> ___
> Python tracker 
> 
> ___

--
status: pending -> open

___
Python tracker 

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



[issue43742] tcp_echo_client in asyncio streams example does not work. Hangs for ever at reaser.read()

2021-04-06 Thread julian colomina


New submission from julian colomina :

taking the example verbatim into an ubuntu 20.04 with
 Python 3.8.5 (default, Jan 27 2021, 15:41:15)
[GCC 9.3.0] on linux

will hand indefinitely at 
data = await reader.read(100)

changing for 
data = await asyncio.wait_for(reader.read(100),5)

will always leave on timeout.

--
components: asyncio
messages: 390295
nosy: asvetlov, jcolo, yselivanov
priority: normal
severity: normal
status: open
title: tcp_echo_client in asyncio streams example does not work. Hangs for ever 
at reaser.read()
type: behavior
versions: Python 3.8

___
Python tracker 

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



[issue17305] IDNA2008 encoding is missing

2021-04-06 Thread miss-islington


miss-islington  added the comment:


New changeset c7ccb0ff61e443633d0c54cb18b5633a8e95b30c by Miss Islington (bot) 
in branch '3.9':
bpo-17305: Link to the third-party idna package. (GH-25208)
https://github.com/python/cpython/commit/c7ccb0ff61e443633d0c54cb18b5633a8e95b30c


--

___
Python tracker 

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



[issue43743] BlockingIOError: [Errno 11] Resource temporarily unavailable: on GPFS.

2021-04-06 Thread Pablo Conesa


New submission from Pablo Conesa :

Hi, one of our users is reporting this starting to happen in a GPFS. All has 
been working fine for NTFS so far for many years.

I had a look at my shutil code, and I can see the try/except code trying to 
fall back to the "slower" copyfileobj(fsrc, fdst).

But it seems, by the stacktrace bellow that the "catch" is not happening.

Any idea how to fix this?

I guess something like:

import shutil
shutil._USE_CP_SENDFILE = False

should avoid the fast_copy attempt.



> Traceback (most recent call last):
>   File 
> "/opt/pxsoft/scipion/v3/ubuntu20.04/scipion-em-esrf/esrf/workflow/esrf_launch_workflow.py",
>  line 432, in 
> project.scheduleProtocol(prot)
>   File 
> "/opt/pxsoft/scipion/v3/ubuntu20.04/anaconda3/envs/.scipion3env/lib/python3.8/site-packages/pyworkflow/project/project.py",
>  line 633, in scheduleProtocol
> pwutils.path.copyFile(self.dbPath, protocol.getDbPath())
>   File 
> "/opt/px/scipion/v3/ubuntu20.04/anaconda3/envs/.scipion3env/lib/python3.8/site-packages/pyworkflow/utils/path.py",
>  line 247, in copyFile
> shutil.copy(source, dest)
>   File 
> "/opt/pxsoft/scipion/v3/ubuntu20.04/anaconda3/envs/.scipion3env/lib/python3.8/shutil.py",
>  line 415, in copy
> copyfile(src, dst, follow_symlinks=follow_symlinks)
>   File 
> "/opt/pxsoft/scipion/v3/ubuntu20.04/anaconda3/envs/.scipion3env/lib/python3.8/shutil.py",
>  line 272, in copyfile
> _fastcopy_sendfile(fsrc, fdst)
>   File 
> "/opt/pxsoft/scipion/v3/ubuntu20.04/anaconda3/envs/.scipion3env/lib/python3.8/shutil.py",
>  line 169, in _fastcopy_sendfile
> raise err
>   File 
> "/opt/pxsoft/scipion/v3/ubuntu20.04/anaconda3/envs/.scipion3env/lib/python3.8/shutil.py",
>  line 149, in _fastcopy_sendfile
> sent = os.sendfile(outfd, infd, offset, blocksize)
> BlockingIOError: [Errno 11] Resource temporarily unavailable: 
> 'project.sqlite' -> 'Runs/02_ProtImportMovies/logs/run.db'

--
components: IO
messages: 390297
nosy: p.conesa.mingo
priority: normal
severity: normal
status: open
title: BlockingIOError: [Errno 11] Resource temporarily unavailable: on GPFS.
type: crash
versions: Python 3.8

___
Python tracker 

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



[issue43736] asyncio create_task() odd behavior

2021-04-06 Thread Yanghao Hua


Yanghao Hua  added the comment:

Poking around a bit more revealed another interesting behavior and now I 
understand what went wrong with asyncio.create_task() :-)

In the example I show, you don't have to "await t1", you only have to "await 
t0/t1", e.g. await on one of them, and both starts executing. And it seems the 
synchronized call to "create_task()" alone, already created the task and placed 
it in a runnable queue. This is wrong!!!

Consider in multiprocessing.Process(), do you place the new process in a 
runnable queue with a call to Process()? NO, you don't. You merely create a 
process object out of it. And it is Process().run() that actually flags the 
process is ready to run and let the OS kernel actually create that process.

By analogy, calling synchronized "create_task()" shouldn't do more than create 
a coroutine task object. And "await task" should not simply blocking and 
waiting for completion of the task, but rather it place task in the runnable 
queue. Also, the current behavior not only awaits on t0 to complete, it also 
awaits t1 to complete! completely contradictrary when you look at the code and 
it is simply "await t0" and t1 was not even in the picture!

The example works at all because if both t0 and t1 are created with 
create_task(), it already creating side-effects and are placed in the running 
queue. That is like a user-mode code is causing a side-effect in the OS kernel. 
"await task" is the equivalent of making the actual OS kernel syscall to get 
things REALLY started ...

--
resolution: not a bug -> remind

___
Python tracker 

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



[issue43736] asyncio create_task() odd behavior

2021-04-06 Thread Andrew Svetlov


Andrew Svetlov  added the comment:

1. Please consider `await` as a 'yield point': the point where the current task 
may be suspended to get other tasks a chance to be executed. 
It can be any `await`, not necessarily waiting for a task.  Just a point where 
asyncio event loop gives a chance to roll an iteration.

Note: no suspension happens if the argument is 'ready' already.

2. If we design asyncio from scratch we can consider the separation of task 
creation and start. Unfortunately, the ship has sailed many years ago. The 
behavior cannot be changed without breaking virtually every asyncio program, 
sorry.

--
resolution: remind -> 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



[issue43736] asyncio create_task() odd behavior

2021-04-06 Thread Yanghao Hua


Yanghao Hua  added the comment:

by the way, another feedback, of course, curio works the way it
should, no matter where do you await ;-)

Now I start to understand why David Beazley has to create curio.

Python asyncio team should really really think about it carefully,
please. You don't have to modify create_task(), at least a sane
version (maybe create_task_sane()) could be provided.

On Tue, Apr 6, 2021 at 10:46 AM Andrew Svetlov  wrote:
>
>
> Andrew Svetlov  added the comment:
>
> 1. Please consider `await` as a 'yield point': the point where the current 
> task may be suspended to get other tasks a chance to be executed.
> It can be any `await`, not necessarily waiting for a task.  Just a point 
> where asyncio event loop gives a chance to roll an iteration.
>
> Note: no suspension happens if the argument is 'ready' already.
>
> 2. If we design asyncio from scratch we can consider the separation of task 
> creation and start. Unfortunately, the ship has sailed many years ago. The 
> behavior cannot be changed without breaking virtually every asyncio program, 
> sorry.
>
> --
> resolution: remind -> not a bug
> stage:  -> resolved
> status: open -> closed
>
> ___
> Python tracker 
> 
> ___

--

___
Python tracker 

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



[issue43744] enum: Adding a var named _anything__ raises IndexError

2021-04-06 Thread Matthias Urlichs


New submission from Matthias Urlichs :

While checking out the Enum implementation I noticed that this code snippet 
results in an IndexError.

I have no idea which error or warning (if any) this should generate instead. 
Opinions?

import enum
class duh(enum.Enum):
_duh__ = "moo"

--
components: Library (Lib)
messages: 390301
nosy: smurfix
priority: normal
severity: normal
status: open
title: enum: Adding a var named _anything__ raises IndexError
type: behavior
versions: Python 3.10

___
Python tracker 

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



[issue43744] enum: Adding a member named _anything__ raises IndexError

2021-04-06 Thread Matthias Urlichs


Change by Matthias Urlichs :


--
title: enum: Adding a var named _anything__ raises IndexError -> enum: Adding a 
member named _anything__ raises IndexError

___
Python tracker 

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



[issue43744] enum: Adding a member named _classname__ raises IndexError

2021-04-06 Thread Matthias Urlichs


Change by Matthias Urlichs :


--
title: enum: Adding a member named _anything__ raises IndexError -> enum: 
Adding a member named _classname__ raises IndexError

___
Python tracker 

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



[issue43737] Documentation of modulo operator should document behaviour clearly when second operator is negative

2021-04-06 Thread Anthony Flury


Anthony Flury  added the comment:

I take your point about warnings etc - but when you come from other languages 
the Python behavior can initially be very surprising.

The reference section has always seemed to be a very technical document, 
certainly not targeted at the usual audience of people using Python.

Most Python users don't consider that int/float etc would be in the standard 
library either - for most users the built-ins are not the same.

Can I suggest:

1) The identity that is mentioned on 
https://docs.python.org/3/reference/expressions.html#binary-arithmetic-operations
 should be made more clear - at the moment it is buried in a paragraph and 
easily missed.

2) The document 
https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex 
should also mention the identity and the need to preserve it.

3) A link fromhttps://docs.python.org/3/tutorial/introduction.html#numbers to 
the document 
https://docs.python.org/3/library/stdtypes.html#numeric-types-int-float-complex 
- the introductory tutorial should link to further detail where neccessary.

--

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Bill Collins


New submission from Bill Collins :

>>> import sys,ssl
>>> sys.version
'3.9.4 (tags/v3.9.4:1f2e308, Apr  4 2021, 13:27:16) [MSC v.1928 64 bit (AMD64)]'
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.1.1i  8 Dec 2020'

I may well be holding it wrong, but something seems off.

--
components: Windows
messages: 390303
nosy: Bill Collins, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4
type: security
versions: Python 3.8, Python 3.9

___
Python tracker 

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



[issue43746] Weird typing annotation closure behavior

2021-04-06 Thread conchylicultor


New submission from conchylicultor :

I observe some strange closure behavior for typing annotations when the name is 
defined

```
x: x = 1  # Works, __annotation__ == {'x': 1}
```

This creates issue, for example:

```
from ... import losses

class A:
  # AttributeError: 'Losses' object has no attribute 'Losses'
  losses: losses.Losses = losses.Losses()
```

--
messages: 390304
nosy: conchylicultor
priority: normal
severity: normal
status: open
title: Weird typing annotation closure behavior

___
Python tracker 

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



[issue43746] Weird typing annotation closure behavior

2021-04-06 Thread conchylicultor


Change by conchylicultor :


--
components: +Interpreter Core
type:  -> behavior
versions: +Python 3.10, Python 3.6, Python 3.7, Python 3.8, Python 3.9

___
Python tracker 

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



[issue43746] Weird typing annotation closure behavior

2021-04-06 Thread conchylicultor


Change by conchylicultor :


--
components: +Library (Lib) -Interpreter Core

___
Python tracker 

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



[issue43683] Handle generator (and coroutine) state in the bytecode.

2021-04-06 Thread Mark Shannon


Mark Shannon  added the comment:


New changeset b37181e69209746adc2119c471599a1ea5faa6c8 by Mark Shannon in 
branch 'master':
bpo-43683: Handle generator entry in bytecode (GH-25138)
https://github.com/python/cpython/commit/b37181e69209746adc2119c471599a1ea5faa6c8


--

___
Python tracker 

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



[issue43325] Documentation should warn that 'is' is not a safe comparison operator for most values.

2021-04-06 Thread Anthony Flury


Anthony Flury  added the comment:

Should the data structures page also link to the FAQ. The problem with the FAQ 
is that most beginners don't even know that == vs 'is' is actually a question 
they need to ask, and therefore they aren't likely to look at the FAQ in the 
first place.

--

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:

No, I think I was holding git wrong (and built 1.1.1i again instead of 1.1.1k).

Guess we get to do more releases...

--
nosy: +lukasz.langa
priority: normal -> release blocker

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Christian Heimes


Christian Heimes  added the comment:

Uh :(

No more holiday releases, please. The RMs and release team need their vacation.

--
nosy: +christian.heimes

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread STINNER Victor


Change by STINNER Victor :


--
nosy: +vstinner

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:

> No more holiday releases, please. The RMs and release team need their 
> vacation.

I agree, can you ask OpenSSL to stop releasing fixes? (or alternatively, can 
you convince everyone to let us switch to the native TLS stack on Windows where 
the upstream fixes are released before they are announced to the world ;) )

--

___
Python tracker 

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



[issue43744] enum: Adding a member named _classname__ raises IndexError

2021-04-06 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
nosy: +barry, eli.bendersky, ethan.furman

___
Python tracker 

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



[issue43725] Create a release branch ABI stability regression test

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:

Anything is better than nothing, from my POV. Let's get it running, tweak it, 
and if it doesn't work for us then take it down.

--

___
Python tracker 

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



[issue43725] Create a release branch ABI stability regression test

2021-04-06 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

Ok, will create PRs for the release branches that are receiving fixes

--

___
Python tracker 

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



[issue43725] Create a release branch ABI stability regression test

2021-04-06 Thread STINNER Victor


STINNER Victor  added the comment:

> Also, we can use libabigail.

RHEL uses that to provide ABI guarantees on the kernel and the glibc.

--
nosy: +vstinner

___
Python tracker 

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



[issue43725] Create a release branch ABI stability regression test

2021-04-06 Thread Christian Heimes


Christian Heimes  added the comment:

Do we need separate jobs and ABI dumps for each platform and arch? I guess we 
need at least separate dumps for 32 and 64bit.

--
nosy: +christian.heimes

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Steve Dower


Change by Steve Dower :


--
keywords: +patch
pull_requests: +23951
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/25213

___
Python tracker 

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



[issue43746] Weird typing annotation closure behavior

2021-04-06 Thread conchylicultor


conchylicultor  added the comment:

Interestingly mypy, pylint correctly resolve the closure.

```
class A:
dataclasses: dataclasses.Field = dataclasses.field()

A.dataclasses.other  # mypy error: "Field[Any]" has no attribute "other"
```

So the current workaround is to use quotes:

```
class A:
  # Type correctly inferred and no closure runtime error
  losses: 'losses.Losses' = losses.Losses()
```

--

___
Python tracker 

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



[issue43725] Create a release branch ABI stability regression test

2021-04-06 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

> Do we need separate jobs and ABI dumps for each platform and arch? I guess we 
> need at least separate dumps for 32 and 64bit.

Not really, check what happened in my 64 build system when I did the changes 
that broke the ABI in the latest 3.9 release:

7a3947dec3d8">root@7a3947dec3d8:/pytho# abidiff Python-3.9.2/python 
Python-3.9.3/python
Functions changes summary: 0 Removed, 3 Changed (53 filtered out), 0 Added 
functions
Variables changes summary: 0 Removed, 0 Changed (1 filtered out), 0 Added 
variable

3 functions with some indirect sub-type change:

  [C]'function void PyEval_AcquireThread(PyThreadState*)' at ceval.c:381:1 has 
some indirect sub-type changes:
parameter 1 of type 'PyThreadState*' has sub-type changes:
  in pointed to type 'typedef PyThreadState' at pystate.h:20:1:
underlying type 'struct _ts' at pystate.h:51:1 changed:
  type size hasn't changed
  4 data member changes (2 filtered):
   'char _ts::recursion_critical' offset changed from 296 to 320 (in 
bits) (by +24 bits)
   'int _ts::stackcheck_counter' offset changed from 320 to 352 (in 
bits) (by +32 bits)
   'int _ts::tracing' offset changed from 352 to 384 (in bits) (by +32 
bits)
   'int _ts::use_tracing' offset changed from 384 to 416 (in bits) (by 
+32 bits)
  1 data member change:
   type of 'char _ts::overflowed' changed:
 type name changed from 'char' to 'int'
 type size changed from 8 to 32 (in bits)
   and name of '_ts::overflowed' changed to '_ts::recursion_headroom' 
at pystate.h:61:1

  [C]'function int _PyErr_CheckSignalsTstate(PyThreadState*)' at 
signalmodule.c:1684:1 has some indirect sub-type changes:
parameter 1 of type 'PyThreadState*' has sub-type changes:
  in pointed to type 'typedef PyThreadState' at pystate.h:20:1:
underlying type 'struct _ts' at pystate.h:51:1 changed:
  type size hasn't changed
  no data member changes (6 filtered);
  no data member change (1 filtered);

  [C]'function void _PyErr_Clear(PyThreadState*)' at errors.c:426:1 has some 
indirect sub-type changes:
parameter 1 of type 'PyThreadState*' has sub-type changes:
  in pointed to type 'typedef PyThreadState' at pystate.h:20:1:
underlying type 'struct _ts' at pystate.h:51:1 changed:
  type size hasn't changed
  no data member changes (6 filtered);
  no data member change (1 filtered);

--

___
Python tracker 

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



[issue43725] Create a release branch ABI stability regression test

2021-04-06 Thread Petr Viktorin


Petr Viktorin  added the comment:

Not sure what platforms libabigail works on, but the set of stable ABI symbols 
is platform-specific. Currently it's affected by the MS_WINDOWS and HAVE_FORK 
defines.

--

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Karthikeyan Singaravelan


Karthikeyan Singaravelan  added the comment:

Given that the PR is against master is this issue present in Python 3.10 alphas 
too since last alpha was released today.

--
nosy: +pablogsal, xtreak

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:

It is, but I wouldn't hold up an alpha or beta release because of this.

--
versions: +Python 3.10

___
Python tracker 

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



[issue43725] Create a release branch ABI stability regression test

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:

I assume it's only doing source analysis, so we can probably force those flags 
on for the check? Or run multiple checks with the options, but without having 
to switch platform.

Even under MS_WINDOWS, I hope we're not using declarations from the Windows 
header files in our own public API. If so, those are worth replacing (safely, 
over time).

--

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:


New changeset 354b015c176b10ee7e2218ba4f3bbc9455cb893f by Steve Dower in branch 
'master':
bpo-43745: Actually updates Windows release to OpenSSL 1.1.1k. (GH-25213)
https://github.com/python/cpython/commit/354b015c176b10ee7e2218ba4f3bbc9455cb893f


--

___
Python tracker 

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



[issue43737] Documentation of modulo operator should document behaviour clearly when second operator is negative

2021-04-06 Thread Anthony Flury


Anthony Flury  added the comment:

I am working on a pull request for this.

--

___
Python tracker 

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



[issue43747] Can't create new interpreter in multi thread

2021-04-06 Thread Kun He


New submission from Kun He :

Hello,

I'm working a C extension interface of Python. I want to create a new 
interpreter by using the function Py_NewInterpreter() in a new thread, which is 
created by pthread_create (my test files are in attachment), but there are 
always errors when calling Py_NewInterpreter() such as "failed: object already 
tracked by the garbage collector". 

I suppose that it may be a bug of Python source code? I would like to ask how 
to solve the problem and create a new interpreter in multi thread in Python C 
extension?

Sincerely,
Kun

--
components: C API
files: newinter.tar.xz
messages: 390322
nosy: hekun19890913
priority: normal
severity: normal
status: open
title: Can't create new interpreter in multi thread
type: behavior
versions: Python 3.8
Added file: https://bugs.python.org/file49936/newinter.tar.xz

___
Python tracker 

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



[issue43748] Inconsistent grammar in new error message (introduced in 3.10.0a7)

2021-04-06 Thread Andre Roberge


New submission from Andre Roberge :

Python version 3.10.0a7 added a more informative error message for:

>>> f"{**k}"
  File "", line 1
(**k)
 ^
SyntaxError: f-string: can't use double starred expression here

Previously, the message was simply "SyntaxError: invalid syntax".  So, this 
change is certainly a welcome addition.

However, as far as I can tell, starting with Python 3.8, all previous uses of 
"can't" in error messages were replaced by "cannot".  Although it is an 
extremely minor point, it might be preferable for consistency to replace 
"can't" by "cannot" in this new error message.

--
components: Interpreter Core
messages: 390323
nosy: aroberge
priority: normal
severity: normal
status: open
title: Inconsistent grammar in new error message (introduced in 3.10.0a7)
versions: Python 3.10

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Łukasz Langa

Łukasz Langa  added the comment:

I elect to replace 3.9.4 Windows installers.

1. It's a Windows installer specific problem, no other users are affected.

2. You can always reinstall. You can tell by the dates reported by the REPL or 
in fact by checking ssl.OPENSSL_VERSION.

3. There will be 3.9.5 on May 3 anyway soon enough.

--

___
Python tracker 

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



[issue43725] Create a release branch ABI stability regression test

2021-04-06 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

If I understand correctly, this is analyzing the DWARF information on the 
binaries, so is quite coupled to the platform you compile to, but you can 
detect violations that affect other platforms if they share the same code.

--

___
Python tracker 

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



[issue41111] [C API] Convert a few stdlib extensions to the limited C API (PEP 384)

2021-04-06 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 5787ba4a45492e232f5470c7d2e93763198e4b22 by Hai Shi in branch 
'master':
bpo-4: Don't build xxlimited with Py_TRACE_REFS macro (GH-25180)
https://github.com/python/cpython/commit/5787ba4a45492e232f5470c7d2e93763198e4b22


--

___
Python tracker 

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



[issue41969] ttk.RadioButtons mis-sized under Windows 10 UI Scaling, with dpiAware set true

2021-04-06 Thread Athanasius


Athanasius  added the comment:

I excitedy thought that you closing this issue meant that Python 3.9.3 or 3.9.4 
had the newer TCL and this fixed.

Sadly not.  I've just had GitHub build a fresh executable using Python 3.9.4 
(as evidenced by `Running on Python v3.9.4 (tags/v3.9.4:1f2e308, Apr  4 2021, 
13:14:17) [MSC v.1928 32 bit (Intel)]` in our logging) and this is still broken.

Out of a set of three radio buttons only the last is correctly scaled up when 
first viewed, the other two not being scaled up.  When I changed tab (a 
notebook) and back, even that third one is now not scaled up.

Any idea when Python will include a fixed TCL ?

--

___
Python tracker 

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



[issue43747] Can't create new interpreter in multi thread

2021-04-06 Thread Samuel Thibault


Change by Samuel Thibault :


--
nosy: +samuel-thibault

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:

Y we cnn I think we may regret it, but happy to go with it 
if you'd prefer.

FWIW, the code change isn't necessary if you do a totally clean rebuild. 
However, most builders do not do totally clean rebuilds, so the code change 
ensures that they are not caught out.

(Confirmation just came through another channel, so I'm doing a rebuild of the 
v3.9.4 and v3.8.9 tags now.)

--

___
Python tracker 

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



[issue43447] Generate vectorcall code to parse arguments using Argument Clinic

2021-04-06 Thread Dong-hee Na


Change by Dong-hee Na :


--
assignee:  -> corona10

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Steve Dower


Change by Steve Dower :


--
pull_requests: +23952
pull_request: https://github.com/python/cpython/pull/25214

___
Python tracker 

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



[issue43749] venv module does not copy the correct python exe

2021-04-06 Thread Ian Norton


New submission from Ian Norton :

On windows, the venv module does not copy the correct python exe if the current 
running exe (eg sys.executable) has been renamed (eg, named python3.exe)

venv will only make copies of python.exe, pythonw.exe, python_d.exe or 
pythonw_d.exe.

If for example the python executable has been renamed from python.exe to 
python3.exe (eg, to co-exist in a system where multiple pythons are on PATH) 
then this can fail with errors like:

Error: [WinError 2] The system cannot find the file specified

When venv tries to run pip in the new environment.

If the running python executable is a differently named copy then errors like 
the one described in https://bugs.python.org/issue40588 are seen.

--
components: Library (Lib)
messages: 390329
nosy: Ian Norton
priority: normal
severity: normal
status: open
title: venv module does not copy the correct python exe
versions: Python 3.10, Python 3.8, Python 3.9

___
Python tracker 

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



[issue43749] venv module does not copy the correct python exe

2021-04-06 Thread Ian Norton


Ian Norton  added the comment:

This may also cause https://bugs.python.org/issue35644

--

___
Python tracker 

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



[issue36384] ipaddress Should not reject IPv4 addresses with leading zeroes as ambiguously octal

2021-04-06 Thread STINNER Victor


STINNER Victor  added the comment:

> Withdrawing the readiness - @ambv and I would prefer to see this behind a 
> flag (probably "strict" parsing), on by default for 3.10, and maybe on by 
> default for 3.9/earlier.

Last time we added a new parameter in a stable branch, it didn't go well:
https://bugs.python.org/issue42967#msg387638

--

___
Python tracker 

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



[issue43748] Inconsistent grammar in new error message (introduced in 3.10.0a7)

2021-04-06 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
nosy: +gvanrossum, lys.nikolaou, pablogsal

___
Python tracker 

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



[issue43176] Dataclasses derived from empty frozen bases skip immutability checks

2021-04-06 Thread Eric V. Smith


Eric V. Smith  added the comment:


New changeset 8a34a0793bcb830350dac675524310bb285e5e4f by Miss Islington (bot) 
in branch '3.9':
bpo-43176: Fix processing of empty dataclasses (GH-24484) (GH-25205)
https://github.com/python/cpython/commit/8a34a0793bcb830350dac675524310bb285e5e4f


--

___
Python tracker 

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



[issue43176] Dataclasses derived from empty frozen bases skip immutability checks

2021-04-06 Thread Eric V. Smith


Change by Eric V. Smith :


--
pull_requests: +23953
pull_request: https://github.com/python/cpython/pull/25215

___
Python tracker 

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



[issue41111] [C API] Convert a few stdlib extensions to the limited C API (PEP 384)

2021-04-06 Thread STINNER Victor


STINNER Victor  added the comment:

Skip Montanaro: "The latest commit seems to break the build if configured 
--with-trace-refs."

Oops, I forgot about this special build mode. Thanks for the reminder Skip, and 
thanks for the fix Hai ;-)

Skip: By the way, I'm curious, why do you use --with-trace-refs?

--

___
Python tracker 

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



[issue43574] Regression in overallocation for literal list initialization in v3.9+

2021-04-06 Thread STINNER Victor


Change by STINNER Victor :


--
nosy:  -vstinner

___
Python tracker 

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



[issue43749] venv module does not copy the correct python exe

2021-04-06 Thread Ian Norton


Change by Ian Norton :


--
keywords: +patch
pull_requests: +23954
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/25216

___
Python tracker 

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



[issue43748] Inconsistent grammar in new error message (introduced in 3.10.0a7)

2021-04-06 Thread Lysandros Nikolaou


Lysandros Nikolaou  added the comment:

We can change the wording to `cannot` in order for all of the error messages to 
be consistent. Would you like to propose a PR, Andre?

--

___
Python tracker 

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



[issue43748] Inconsistent grammar in new error message (introduced in 3.10.0a7)

2021-04-06 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

Not all "can't" in error messages were replaced by "cannot".

$ find Parser Python Objects Modules -name '*.[ch]' | xargs egrep 
'".*[Cc]an'\''t.*"' | wc -l
181
$ find Parser Python Objects Modules -name '*.[ch]' | xargs egrep 
'".*[Cc]annot.*"' | wc -l
247

$ find Lib -name '*.py' | xargs egrep '(["'\'']).*[Cc]an'\''t.*\1' | wc -l
239
$ find Lib -name '*.py' | xargs egrep '(["'\'']).*[Cc]annot.*\1' | wc -l
602

$ find Doc -name '*.rst' | xargs egrep '[Cc]an'\''t' | wc -l
180
$ find Doc -name '*.rst' | xargs egrep '[Cc]annot' | wc -l
482

--
nosy: +serhiy.storchaka

___
Python tracker 

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



[issue43176] Dataclasses derived from empty frozen bases skip immutability checks

2021-04-06 Thread miss-islington


Change by miss-islington :


--
pull_requests: +23955
pull_request: https://github.com/python/cpython/pull/25217

___
Python tracker 

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



[issue43176] Dataclasses derived from empty frozen bases skip immutability checks

2021-04-06 Thread miss-islington


Change by miss-islington :


--
pull_requests: +23956
pull_request: https://github.com/python/cpython/pull/25218

___
Python tracker 

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



[issue43176] Dataclasses derived from empty frozen bases skip immutability checks

2021-04-06 Thread Eric V. Smith


Eric V. Smith  added the comment:


New changeset 1744c96ebc98b240f2564f75191097704b37244f by Eric V. Smith in 
branch 'master':
Fix blurb for bpo-43176. (GH-25215)
https://github.com/python/cpython/commit/1744c96ebc98b240f2564f75191097704b37244f


--

___
Python tracker 

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



[issue43723] Deprecate camelCase aliases from threading.py

2021-04-06 Thread STINNER Victor


STINNER Victor  added the comment:

Raymond Hettinger:
> I don't think there is any advantage in doing this. It will just break code 
> that has worked for a very long time.

Do you mean code written for Python 2? Right, it's unfortunate that it became 
harder to write a single code base working on Python 2 and Python 2. But Python 
2 had officially reached end of life in January 2020, and Python 3.0 changed 
threading method names 13 years ago (2008).

Deprecating and removing aliases are two different things. IMO deprecating is 
non-controversial, especially because DeprecationWarning is hidden by default.

Removing requires to estimate how many projects are impacted. On the top 4000 
PyPI projects, I count 80 projects which still call currentThread() for 
example: that's significant. Example of projects: Twisted, pyuwsgi, PyQt5_sip, 
mod_wsgi, mercurial, lockfile, jupyterlab, gevent, etc. I didn't check if these 
projects call current_thread() on Python 3.

I would suggest to wait until the most popular PyPI projects no longer call 
deprecated methods before removing them.

I suggest to restrict the PR to deprecatation, and not plan removal yet.

--
nosy: +vstinner

___
Python tracker 

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



[issue43748] Inconsistent grammar in new error message (introduced in 3.10.0a7)

2021-04-06 Thread Andre Roberge


Andre Roberge  added the comment:

Since all the messages I track so far 
(https://github.com/aroberge/friendly/blob/master/friendly/syntax_errors/message_analyzer.py)
 had been changed when going from 6.7 to 3.8, I had (incorrectly) assumed that 
all such error messages been changed to use cannot instead of can't.  However, 
based on Serhyi's search, I gather that this is not the case and this specific 
issue can probably be closed as being irrelevant.

--

___
Python tracker 

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



[issue43176] Dataclasses derived from empty frozen bases skip immutability checks

2021-04-06 Thread miss-islington


miss-islington  added the comment:


New changeset 76c4a9fb8ae370901b387a4edb609295bcc159e7 by Miss Islington (bot) 
in branch '3.8':
[3.8] Fix blurb for bpo-43176. (GH-25215) (GH-25218)
https://github.com/python/cpython/commit/76c4a9fb8ae370901b387a4edb609295bcc159e7


--

___
Python tracker 

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



[issue43737] Documentation of modulo operator should document behaviour clearly when second operator is negative

2021-04-06 Thread Anthony Flury


Change by Anthony Flury :


--
keywords: +patch
pull_requests: +23957
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/25220

___
Python tracker 

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



[issue36384] ipaddress Should not reject IPv4 addresses with leading zeroes as ambiguously octal

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:

The important quote from the linked issue seems to be:

> Our new separator= parameter does not allow one to achieve the previous 
> behavior if mixing and matching & And ; was intended to be allowed, as it is 
> a single separator rather than a set of separators.

So arguably, we added _the wrong_ parameter in that case, because it only 
allowed choosing between behaviours not including the "bad" behaviour. We 
should've added one that was "give me back the previous behaviour".

In this case, having it off by default goes further to prevent breakage, and I 
wouldn't be opposed to a process level opt-in (e.g. a module-level flag), so 
that _applications_ have a way to force their dependencies to use the safer 
behaviour without needing to patch them. Similarly, a process level opt-out 
also seems good enough if we were to have it on by default.

--

___
Python tracker 

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



[issue41870] Use PEP 590 vectorcall to speed up calls to bool()

2021-04-06 Thread Dong-hee Na


Dong-hee Na  added the comment:

For the record, following built-in functions now support vectorcall calling 
convention from Python 3.10!!

Thank you to everyone who works with this :)

- map: bpo-43575
- filter: bpo-43287
- reversed: bpo-41922
- bool: bpo-41870 
- float: bpo-41873

--

___
Python tracker 

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



[issue41870] Use PEP 590 vectorcall to speed up calls to bool()

2021-04-06 Thread Dong-hee Na


Change by Dong-hee Na :


--
pull_requests: +23958
pull_request: https://github.com/python/cpython/pull/25219

___
Python tracker 

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



[issue41873] Add vectorcall for float()

2021-04-06 Thread Dong-hee Na


Change by Dong-hee Na :


--
pull_requests: +23959
pull_request: https://github.com/python/cpython/pull/25219

___
Python tracker 

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



[issue41873] Add vectorcall for float()

2021-04-06 Thread Dong-hee Na


Change by Dong-hee Na :


--
pull_requests:  -23959

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:


New changeset 611aa39142f156508945ac312724474c493a6691 by Steve Dower in branch 
'3.9':
bpo-43745: Actually updates Windows release to OpenSSL 1.1.1k. (GH-25213)
https://github.com/python/cpython/commit/611aa39142f156508945ac312724474c493a6691


--

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread miss-islington


Change by miss-islington :


--
nosy: +miss-islington
nosy_count: 10.0 -> 11.0
pull_requests: +23960
pull_request: https://github.com/python/cpython/pull/25223

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Steve Dower


Steve Dower  added the comment:

A new 3.9.4 and 3.8.9 release is available for download from python.org. The 
Nuget and Windows Store packages will have to remain as the original versions, 
since those do not allow us to overwrite with the same version number.

--
resolution:  -> fixed
stage: patch review -> 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



[issue43176] Dataclasses derived from empty frozen bases skip immutability checks

2021-04-06 Thread Eric V. Smith


Eric V. Smith  added the comment:


New changeset 2df971afd5f29574be3bb44f2d8569cc240b800d by Miss Islington (bot) 
in branch '3.9':
Fix blurb for bpo-43176. (GH-25215) (GH-25217)
https://github.com/python/cpython/commit/2df971afd5f29574be3bb44f2d8569cc240b800d


--

___
Python tracker 

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



[issue43750] Undefined constant PACKET_MULTIHOST referred to in package socket

2021-04-06 Thread Tom Cook


New submission from Tom Cook :

The documentation for the `AF_PACKET` address family refers to 
`PACKET_MULTIHOST`.  I believe this should read `PACKET_MULTICAST`, which is 
defined on Linux systems (`PACKET_MULTIHOST` is not).

--
assignee: docs@python
components: Documentation
messages: 390345
nosy: Tom Cook, docs@python
priority: normal
severity: normal
status: open
title: Undefined constant PACKET_MULTIHOST referred to in package socket
type: enhancement
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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread miss-islington


miss-islington  added the comment:


New changeset 9a988b8cd8344808a03c9a2ba0c9ba2188240eae by Miss Islington (bot) 
in branch '3.8':
bpo-43745: Actually updates Windows release to OpenSSL 1.1.1k. (GH-25213)
https://github.com/python/cpython/commit/9a988b8cd8344808a03c9a2ba0c9ba2188240eae


--

___
Python tracker 

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



[issue41870] Use PEP 590 vectorcall to speed up calls to bool()

2021-04-06 Thread Dong-hee Na


Dong-hee Na  added the comment:


New changeset efccff9ac84009ef48e8cb22548ce80940f76533 by Dong-hee Na in branch 
'master':
bpo-41870: Update What's News 3.10 about vectorcall (#25219)
https://github.com/python/cpython/commit/efccff9ac84009ef48e8cb22548ce80940f76533


--

___
Python tracker 

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



[issue42135] [importlib] Deprecate find_module() & find_loader() mplementations

2021-04-06 Thread Brett Cannon


Brett Cannon  added the comment:


New changeset 57c6cb5100d19a0e0218c77d887c3c239c9ce435 by Brett Cannon in 
branch 'master':
bpo-42135: Deprecate implementations of find_module() and find_loader() 
(GH-25169)
https://github.com/python/cpython/commit/57c6cb5100d19a0e0218c77d887c3c239c9ce435


--

___
Python tracker 

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



[issue42135] [importlib] Deprecate find_module() & find_loader() mplementations

2021-04-06 Thread Brett Cannon


Change by Brett Cannon :


--
resolution:  -> fixed
stage: patch review -> 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



[issue43751] await anext() returns None when default is given

2021-04-06 Thread PEW's Corner


New submission from PEW's Corner :

The new anext() builtin in Python 3.10.0a7 doesn't seem to work properly when a 
default value is provided as the second argument. Here's an example:

import asyncio

async def f():
yield 'A'
yield 'B'

async def main():
g = f()
print(await anext(g, 'Z'))  # Prints 'None' instead of 'A'!!!
print(await anext(g, 'Z'))  # Prints 'None' instead of 'B'!!!
print(await anext(g, 'Z'))  # Prints 'Z'
g = f()
print(await anext(g))   # Prints 'A'
print(await anext(g))   # Prints 'B'
print(await anext(g))   # Raises StopAsyncIteration

asyncio.run(main())

As indicated above, anext() works fine when no default is given (in the second 
half of main()), but produces None in every iteration when a default is given 
(in the first half of main()) except when the iterator is exhausted.

--
components: Interpreter Core, asyncio
messages: 390349
nosy: asvetlov, pewscorner, yselivanov
priority: normal
severity: normal
status: open
title: await anext() returns None when default is given
type: behavior
versions: Python 3.10

___
Python tracker 

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



[issue43684] Add combined opcodes

2021-04-06 Thread Guido van Rossum


Guido van Rossum  added the comment:

> Interesting. What code did you use to collect statistics?

For static statistics I wrote my own script: 
https://github.com/python/cpython/pull/25090/files#diff-994d3592c951c78cbe71084d562590d1507ddfed767e2ec040f5e2610845a11c.
 I can add that to Tools permanently (I have a slightly improved version that 
can look for different things).

> I used patches in issue27255. Perhaps it is worth to add an optionally 
> compiled code for collecting dynamic opcode statistics permanently.

We have that already: compile with -DDYNAMIC_EXECUTION_PROFILE -DDXPAIRS. 
There's a script (Tools/scripts/analyze_dxp.py) that works with such data, but 
it's primitive. Eric is working on improvements; I added my own hacky script to 
run an app and collect the data.

I collected a few different sets of statistics: static stats for the stdlib and 
for mypy, dynamic stats for running mypy and a few of the benchmarks in 
pyperformance. Eric and I have plans to do this more systematically; we'll then 
publish our tools and results.

--

___
Python tracker 

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



[issue43745] ssl.OPENSSL_VERSION still reporting 1.1.1i on windows 3.8.9/3.9.4

2021-04-06 Thread Bill Collins


Bill Collins  added the comment:

Thanks for the quick action on this!

I've downloaded the new 3.8.9/3.9.4 installers, but they are unable to run over 
my existing 3.8.9/3.9.4 installs; "Unable to install python 3.9.4 (64-bit) due 
to an existing install." This is probably fine as I can just 
uninstall/reinstall (I hope), so just FYI.

I've upgraded my 32-bit install from 3.9.2 to the new 3.9.4 installer without 
issue.

Are you able to also update the embeddable packages please?

--

___
Python tracker 

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



[issue43748] Inconsistent grammar in new error message (introduced in 3.10.0a7)

2021-04-06 Thread Guido van Rossum


Guido van Rossum  added the comment:

Yeah, I do not think anyone cares. :-)

--
resolution:  -> wont fix
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



[issue36384] ipaddress Should not reject IPv4 addresses with leading zeroes as ambiguously octal

2021-04-06 Thread STINNER Victor


STINNER Victor  added the comment:

> In this case, having it off by default goes further to prevent breakage

PyYAML was unsafe by default: it allowed to execute arbitary Python code by 
default. It took years to change the default to "safe". I don't think that 
adding a parameter for opt-in for security is a good approach. An application 
can use ipaddress internally without being aware of using it, if it's done by a 
third party module. It's hard to prevent security vulnerabilities if people 
have to "opt-in" for security.

I prefer to break code and force people to manually get back the old behavior. 
It's better to make 90% safe by default but make 10% of people unhappy.

It's uncommon to pass IPv4 addresses with leading zeros.

If you want to tolerate leading zeros, you don't have to modify the ipaddress 
for that, you can pre-process your inputs: it works on any Python version with 
or without the fix.

>>> def reformat_ip(address): return '.'.join(part.lstrip('0') if part != '0' 
>>> else part for part in address.split('.'))
... 
>>> reformat_ip('0127.0.0.1')
'127.0.0.1'

Or with an explicit loop for readability:

def reformat_ip(address):
parts = []
for part in address.split('.'):
if part != "0":
part = part.lstrip('0')
parts.append(part)
return '.'.join(parts)

--

___
Python tracker 

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



[issue43683] Handle generator (and coroutine) state in the bytecode.

2021-04-06 Thread Mark Shannon


Change by Mark Shannon :


--
pull_requests: +23961
pull_request: https://github.com/python/cpython/pull/25224

___
Python tracker 

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



  1   2   >