[issue44938] Expose PyErr_ChainExceptions in the stable API

2021-12-10 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

related: https://www.python.org/dev/peps/pep-0490/ (rejected pep to auto-chain 
from C API calls)

I don't come across it often, but I did just review some code at work today 
where the chain might have been nice (though not a big deal).

--
nosy: +gregory.p.smith

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



[issue31370] Remove support for threads-less builds

2021-12-10 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

https://web.dev/webassembly-threads/ suggests otherwise.

--

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



[issue37584] Multiple test failures with OSError: [Errno 84] Invalid or incomplete multibyte or wide character on ZFS with utf8only=on

2021-12-12 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

Confirmed.

Repro: Do an ubuntu 20.04 install and choose "experimental zfs" support during 
install - https://ubuntu.com/blog/zfs-focus-on-ubuntu-20-04-lts-whats-new).  On 
such a zfs filesystem, the following tests from a ./python -m test.regrtest run 
fail in 3.10:

11 tests failed:
test_cmd_line_script test_httpservers test_imp test_import
test_ntpath test_os test_posixpath test_socket test_unicode_file
test_unicode_file_functions test_zipimport

Move over to a tmpfs and all but test_httpservers now pass.  test_httpservers 
tries to create such a path on /tmp

==
ERROR: test_undecodable_filename 
(test.test_httpservers.SimpleHTTPServerTestCase)
--
Traceback (most recent call last):
  File "/home/greg/test/cpython/Lib/test/test_httpservers.py", line 400, in 
test_undecodable_filename
with open(os.path.join(self.tempdir, filename), 'wb') as f:
OSError: [Errno 84] Invalid or incomplete multibyte or wide character: 
'/tmp/tmpnt9ch98x/@test_124227_tmp\udce7w\udcf0.txt'


I expect any filesystem mounted to reject non-UTF8 pathnames to cause similar 
failures.  Our test suite needs to detect this environment and skip these tests 
there.

--
nosy: +gregory.p.smith
versions: +Python 3.10, Python 3.11 -Python 3.7, Python 3.8

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



[issue46056] Cannot use virtual environment on Windows 10 in corporate security settings

2021-12-14 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

While the discussion is interesting for some who are trying to work around 
security policy mechanisms, we can't control what policies people enforce upon 
themselves that make their machines useless for software development.  Marking 
as not a bug.

The normal thing to do is to obtain an exemption to policies from the corporate 
security org managing your machine(s) because you have a business need for it.

If you have specific implementation changes that would make life easier, file 
specific issues for those to be addressed.  (ex: PEP 582 is pretty specific - 
and there is a package manager https://pdm.fming.dev/ that supports it)

--
nosy: +gregory.p.smith
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

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



[issue46077] Include sha256 hashes of release downloads in announcement communications

2021-12-14 Thread Gregory P. Smith


New submission from Gregory P. Smith :

The announcement email list 
(https://mail.python.org/archives/list/python-announce-l...@python.org/) and 
other places we make announcements beyond just the release pages like 
https://www.python.org/downloads/release/python-3101/ should include a list of 
sha256 hashes of the release binaries in the announcement text.

This serves as an alternative confirmation that nothing has changed as such 
announcements are widely distributed and archived by independent parties and 
individuals and can thus convey a level of trust that a hash listed on the 
downloads page cannot (where an attacker would simply modify both).

Yes there is a gpg signature on the downloads. I encourage people to use that.  
But this provides an alternate distributed mechanism to verify that nothing has 
changed at all since the release announcement.  Something a gpg signature 
cannot fully do (consider this protection against the possibility of new signed 
binary being put into its place by a compromised key/signer/builder/RM before 
anyone happens to notice and poke around).

A simple table of:

filename.tar.gz | sha256 hash
filename.msi | sha256 hash
filename.dmg | sha256 hash
...

At the end of the announcement email/post would suffice.

Less of an issue on source packages as those can be verified against the git 
repo. But it's nice for people to know if binaries change without an 
announcement and explanation and is easy for us to provide.

Bonus points if the release announcement email body itself is signed (if that 
is even feasible per our release signing GPG key management).

[context: see recent python-dev subject: Python release announcement format]

--
messages: 408579
nosy: gregory.p.smith
priority: deferred blocker
severity: normal
status: open
title: Include sha256 hashes of release downloads in announcement communications
versions: Python 3.10, Python 3.11, Python 3.9

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



[issue41222] POpen bufsize=0 ignored with universal_newlines=True

2021-12-21 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith

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



[issue46167] Parse assert (x == y, "Descriptive text") as statement params instead of a tuple

2021-12-23 Thread Gregory P. Smith


New submission from Gregory P. Smith :

Now that we have a shiny new parser, can we finally get rid of this language 
wart:

assert thing, description  # works as intended

assert (thing, description)  # always True as non-empty tuples are Truthy

This most often happens when extending thing or description beyond a single 
line on assert statements as () are the natural way to do that and as it is 
with assert being a statement, knowing specifically where to place the ()s to 
not fall into the pit of snakes of unintentionally nerfing your assertion to be 
an always true tuple is hard for human authors.

This would obsolete the pylint error about tuple assertion and enable more 
natural assert use.

py.test framework users would presumably rejoice as well.


This parsing change would need a PEP.  I fail to see any obvious downsides 
though.

--
components: Parser
messages: 409101
nosy: gregory.p.smith, lys.nikolaou, pablogsal
priority: normal
severity: normal
status: open
title: Parse assert (x == y, "Descriptive text") as statement params instead of 
a tuple
versions: Python 3.11

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



[issue46167] Parse assert (x == y, "Descriptive text") as statement params instead of a tuple

2021-12-23 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

It's not about an advantage, it's about removing the problem of what edit to 
make when working on


assert 
thing_that_has_a_meaningful_name.methods_have_good_names(value_from_somewhere) 
== other_thing_that_is_meaningful, "Description of what the issue is if this 
fails for humans, as if the names weren't enough"

and making that fit within whatever line length limit your codebase has.

put () in the wrong place and it triggers the long standing Python wart or 
parsing as a tuple.

rather than warn about the syntax wart, we should just do the thing code 
authors want in the first place.

--

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



[issue46150] test_pathlib assumes "fakeuser" does not exist as user

2021-12-23 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
assignee:  -> gregory.p.smith
nosy: +gregory.p.smith

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



[issue46150] test_pathlib assumes "fakeuser" does not exist as user

2021-12-23 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
pull_requests: +28466
pull_request: https://github.com/python/cpython/pull/30244

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



[issue46150] test_pathlib assumes "fakeuser" does not exist as user

2021-12-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset b8de8b7039cee47465b2af9950b0b9ed2d3f2903 by Nikita Sobolev in 
branch 'main':
bpo-46150: ensure `fakeuser` does not exist in `PosixPathTest.test_expanduser` 
(GH-30240)
https://github.com/python/cpython/commit/b8de8b7039cee47465b2af9950b0b9ed2d3f2903


--

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



[issue10202] ftplib doesn't check close status after sending file

2021-12-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

[pasting in my investigation that I replied with on a mailing list:]

The possible problem does appear real but it likely not frequently observed and 
is something most people reading the code wouldn't see as it's rather esoteric:

https://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable
via 
https://stackoverflow.com/questions/8874021/close-socket-directly-after-send-unsafe
 describes the scenario.

So does this apply in Python?

Apparently.  Our socket module close() is simply calling close as expected.
 https://github.com/python/cpython/blob/main/Modules/socketmodule.c#L3132 ->
 https://github.com/python/cpython/blob/main/Modules/socketmodule.c#L443

Our ftplib code that implicitly calls close on the data connection when exiting 
the
 `with self.transfercmd(cmd, rest) as conn: ` context manager
https://github.com/python/cpython/blob/main/Lib/ftplib.py#L498`

Triggers a close() without a prior shutdown(socket.SHUT_RDWR) + read() -> EOF 
or timeout dance.

In most protocols this isn't a big deal. ftp being so old as to rely solely on 
the TCP connection itself is the outlier.

How often does this happen in practice?  I don't know.  I haven't heard of it 
happening, but how many people honestly use ftplib to send data between 
operating systems where a socket close triggering a TCP RST rather than FIN on 
the sender might be more likely in the past 20 years?  I suspect not many.  

The code can be improved to prevent it.  But I don't believe it'll be feasible 
to construct a real world not-mock-filled regression test that would fail 
without it.

Potential solution:
  Do the shutdown+recv EOF dance as the final step inside of the storbinary and 
storlines `with self.transfercmd as conn` blocks.

Technically speaking socket.socket.shutdown() is conditionally compiled but I 
don't know if any platforms lacking the socket shutdown API exist anymore (my 
guess is that conditional compilation for shutdown is a leftover from the 
1990s). If so, a "if hasattr(conn, 'shutdown'):" conditional before the added 
logic would suffice.

Looking at various ftp client source code (netkit ftp & netbsd ftp - both bsd 
derivatives) as well as a modern gonuts golang one I do not see them explicitly 
doing the shutdown dance.  (I didn't dive in to figure out if it is hidden 
within their flclose() or conn.Close() implementations as that'd be surprising)

--
nosy: +gregory.p.smith

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



[issue10202] ftplib doesn't check close status after sending file

2021-12-24 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
versions: +Python 3.10, Python 3.11, Python 3.9 -Python 2.7, Python 3.1, Python 
3.2

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



[issue10202] ftplib doesn't check close status after sending file

2021-12-24 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
stage: test needed -> needs patch

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



[issue46120] Add note to `typing.Union` that it is recommended to use `|` instead

2021-12-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset 1b30660c3b40da557050948ac8635f2dc50c4ee2 by Nikita Sobolev in 
branch 'main':
bpo-46120: State that `|` is preferred over `Union` (GH-30222)
https://github.com/python/cpython/commit/1b30660c3b40da557050948ac8635f2dc50c4ee2


--
nosy: +gregory.p.smith

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



[issue46150] test_pathlib assumes "fakeuser" does not exist as user

2021-12-27 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

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



[issue46339] PEG parser segfault from ast.literal_eval

2022-01-10 Thread Gregory P. Smith


New submission from Gregory P. Smith :

cpython/b$ ./python 
Python 3.11.0a3+ (heads/main-dirty:081a214008, Jan 11 2022, 02:48:22) [GCC 
11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ast
>>> ast.literal_eval('''F"""
... 
... 
... {6
... 0="""''')
Segmentation fault

this was discovered by oss-fuzz.

This may be a recent regression?  It didn't happen on my build from a few weeks 
ago.  worth testing on older versions.

--
assignee: pablogsal
components: Parser
messages: 410270
nosy: gregory.p.smith, lys.nikolaou, pablogsal
priority: normal
severity: normal
stage: needs patch
status: open
title: PEG parser segfault from ast.literal_eval
type: crash
versions: Python 3.11

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



[issue46349] inspect.getdoc() should append parent class method docs when encountering a local one line docstring

2022-01-11 Thread Gregory P. Smith


New submission from Gregory P. Smith :

Today `inspect.getdoc()` is quite simple. If a method has any docstring, it 
returns it.

There is one idiom where this is not very useful to our users.  A """See base 
class.""" docstring on a method.

Rather than having to repeat the canonical base class documentation in all 
methods or argue with tooling about not having a docstring in this common 
scenario, a single line docstring being used as a hint to just bring in the 
parent's docstring would be more helpful to the user.

Today's inspect.getdoc() could would turn from:
https://github.com/python/cpython/blob/main/Lib/inspect.py#L850

into something like:

```
...
if doc is None or (isinstance(doc, str) and '\n' not in doc.strip()):
  try:
  parent_doc = _finddoc(object)
  if doc is None:
  doc = parent_doc
  elif isinstance(parent_doc, str):
  doc = f'{doc}\nParent class MRO doc:\n{parent_doc}'
  except (AttributeError, TypeError):
  return doc
   ...
```

Why not just tell people to omit docstrings when they want parent docs?  
Because not all coding styles and linter tooling allows for this as they aim to 
enforce that documentation _is_ written.  Source analysis tooling and IDEs may 
not have a whole transitive dependency view of where the base classes even come 
from and are thus incapable of reliably analyzing whether a parent MRO method 
even exists or has a docstring.  This allows for trivial one line docstrings in 
that situation while still providing better information to the help() user.

This would add value to when using 
help(typical_subclass_of_abstract_thing.method) in notebooks.

--
components: Library (Lib)
messages: 410335
nosy: gregory.p.smith
priority: normal
severity: normal
stage: needs patch
status: open
title: inspect.getdoc() should append parent class method docs when 
encountering a local one line docstring
type: enhancement
versions: Python 3.11

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



[issue46349] inspect.getdoc() should append parent class method docs when encountering a local one line docstring

2022-01-11 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

>From the context of help(typical_subclass_of_abstract_thing.method), the user 
>isn't told what the base classes are or which one might have documentation.  
>So it could become an exercise in frustration.

and LOL yes the parameter name is silly but that's a separate module wide 
cleanup that could be done - inspect is full of public APIs that shadow object 
as a parameter name.  it is often quite old code.

--

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



[issue46347] memory leak in PyEval_EvalCodeEx

2022-01-11 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

when was the regression introduced?

I wouldn't necessarily rush an urgent release out unless this was just 
introduced in the 3.10.1 patch release.  Could it wait for 3.10.2 already 
scheduled for four weeks from now?

--
nosy: +gregory.p.smith

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



[issue27273] subprocess.run(cmd, input='text') should pass universal_newlines=True to Popen

2022-01-12 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

agreed.

--
resolution:  -> rejected
stage: patch review -> resolved
status: open -> closed

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



[issue40255] Fixing Copy on Writes from reference counting

2022-01-14 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

[data] I finally dug up the old YouTube doc at work with their findings. Mostly 
just posting this here for future public reference if anyone wants. Nothing 
surprising.

When youtube experimented with a modified 2.7 adding "eternal refcounts" in 
2015, they saw a 3-5% CPU performance regression. (not the 10% I had in my mind)

Their version of this simply set a high bit on the refcount as the indicator 
and added the obvious conditional into the Py_INCREF/Py_DECREF macros.

Unsurprisingly in line with what others have since found. For their preforked 
server and decision of what to mark eternal before forking, it saved them 10% 
ram (fewer copy on writes). The -ram vs +cpu +maintenance cost tradeoff wound 
up not being worthwhile to them though. Their motivation for trying was 
entirely COW memory savings.

=== CPython 2.7 object.h modification they used:

```
+#ifdef GOOGLE_ETERNAL_REFCOUNT_SUPPORT
+
+#define PY_ETERNAL_REFCOUNT (PY_SSIZE_T_MAX / 2)
+
+#define Py_IS_ETERNAL(op) (   \
+  ((PyObject*)(op))->ob_refcnt >= PY_ETERNAL_REFCOUNT)
+
+#define Py_SET_ETERNAL(op)\
+  do {\
+  ((PyObject*)(op))->ob_refcnt = PY_ETERNAL_REFCOUNT; \
+  if (PyObject_IS_GC(op)) {   \
+PyObject_GC_UnTrack(op);  \
+  }   \
+  } while (0)
+
+#define Py_INCREF(op) (   \
+  Py_IS_ETERNAL(op)   \
+?  PY_ETERNAL_REFCOUNT\
+:  (_Py_INC_REFTOTAL  _Py_REF_DEBUG_COMMA \
+   ((PyObject*)(op))->ob_refcnt++)\
+  )
+
+#define Py_DECREF(op)   \
+do {\
+if (Py_IS_ETERNAL(op)) break;   \
+if (_Py_DEC_REFTOTAL  _Py_REF_DEBUG_COMMA   \
+--((PyObject*)(op))->ob_refcnt != 0)\
+_Py_CHECK_REFCNT(op)\
+else\
+_Py_Dealloc((PyObject *)(op));  \
+} while (0)
+
+#else
```

--

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



[issue46406] optimize int division

2022-01-16 Thread Gregory P. Smith


New submission from Gregory P. Smith :

Based on a python-dev thread, we've come up with faster int division code for 
CPython's bignums.

https://mail.python.org/archives/list/python-...@python.org/thread/ZICIMX5VFCX4IOFH5NUPVHCUJCQ4Q7QM/#NEUNFZU3TQU4CPTYZNF3WCN7DOJBBTK5

filing this issue for starters to attach a PR to.  details forthcoming.

--
messages: 410735
nosy: gregory.p.smith
priority: normal
severity: normal
stage: needs patch
status: open
title: optimize int division
type: performance
versions: Python 3.11

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



[issue46406] optimize int division

2022-01-16 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
keywords: +patch
pull_requests: +28829
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/30626

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



[issue46406] optimize int division

2022-01-16 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

The PR was directly inspired by Mark Dickinson's code in the email thread 
directly using __asm__ to get the instruction he wanted.  There is usually a 
way to make the compiler actually do what you intend.  This appears to be it.

Interestingly, experimenting with small code snippets rather than the entire 
longobject.c on gotbolt.org to check various compilers output does not always 
yield as nice of a result.  (clang 11+ showed promise there, but this change 
benefits gcc equally as well in real world CPython microbenchmark timeit 
tests).  https://godbolt.org/z/63eWPczjx was my playground code.

```
$ ./b-clang13/python -m timeit -n 150 -s 'x = 10**1000; r=x//10; assert r 
== 10**999, r' 'x//17'
150 loops, best of 5: 450 nsec per loop
$ ./b-clang13-new-basic-divrem1/python -m timeit -n 150 -s 'x = 10**1000; 
r=x//10; assert r == 10**999, r' 'x//17'
150 loops, best of 5: 375 nsec per loop
$ ./b-gcc9/python -m timeit -n 150 -s 'x = 10**1000; r=x//10; assert r == 
10**999, r' 'x//17'
150 loops, best of 5: 448 nsec per loop
$ ./b-gcc9-new-basic-divrem1/python -m timeit -n 150 -s 'x = 10**1000; 
r=x//10; assert r == 10**999, r' 'x//17'
150 loops, best of 5: 370 nsec per loop
```

That's on an AMD zen3 (x86_64).  Also tested with other divisors, 17 is not 
specialized by the compiler.  These were not --enable-optimizations builds, 
though the results remain similar on those for non-specialized values as x//10 
turns into when using -fprofile-values on gcc9.

Performance tests using other architectures forthcoming.

A pyperformance suite run on a benchmark-stable host is worthwhile. I don't 
actually expect this to show up as significant in most things there; we'll see.

The new code is not any more difficult to maintain than the previous code 
regardless.

--

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



[issue46406] optimize int division

2022-01-16 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +mark.dickinson

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



[issue46406] optimize int division

2022-01-16 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

I tested my PR branch on 32-bit arm (raspbian bullseye) and the microbenchmark 
timing shows no change (within the noise across repeated runs).  Unsurprising 
as division is entirely different on 32-bit arm.

Raspbian uses armv6 for compatibility with the original rpi and rpi0.  armv6 
does not have an integer division instruction. (how RISCy of it)  But that 
doesn't make a difference in this code as the final 32-bit arm ISA, armv7-a, 
only has a 32:32 divider.  (armv8 aka aarch64 is 64-bit and uses a UDIV as one 
would expect)

anyways, that satisfies me that it isn't making anything worse elsewhere.

--

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



[issue45452] Support crash tolerance feature for gdbm module

2022-01-17 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

The gdbm module's purpose is effectively one of just exposing the underlying C 
library APIs to Python as you said.  

Consider this a +1 in favor of exposing the new APIs in the Python gdbm module.

I'm not concerned about anyone wanting these in older Python versions. It 
really requires a combination of modern software in order to use.  Running on a 
recent kernel version, using a non-default fancy filesystem, and linking 
against a recent gdbm library.  So being a new feature in 3.11 makes sense.  
Anyone satisfying all of the above is highly likely to already also use a 
recent CPython.

If anyone _really_ wants it for older things, they can maintain backport on 
PyPI.

--
nosy: +gregory.p.smith

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



[issue40120] Undefined C behavior going beyond end of struct via a [1] arrays.

2022-01-21 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

off the top of my head that might actually work as I _think_ "empty" things are 
required to consume an unused byte of size no matter what meaning sizeof 
shouldn't change?  Some testing and standards perusing for C99 is in order to 
confirm that though.

--

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



[issue39207] concurrent.futures.ProcessPoolExecutor does not properly reap jobs and spawns too many workers

2022-01-21 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

fyi - this appears to have caused https://bugs.python.org/issue46464

--
nosy: +gregory.p.smith

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



[issue46464] concurrent.futures.ProcessPoolExecutor can deadlock when tcmalloc is used

2022-01-21 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

For context, the fundamental problem is that os.fork() is unsafe to use in any 
process with threads.  concurrent/futures/process.py violates this.  So long as 
its design involves a thread, it can never be guaranteed not to deadlock.

POSIX forbids execution of most code after fork() has been called.  Returning 
to the CPython interpreter after os.fork() in the child process is never safe 
unless the parent process had no threads at fork time.

The change that triggered the issue moved from doing all of the os.fork() calls 
for the workers up front *before the thread was spawned* to doing them on 
demand after the thread was running.

The bugfix for this is simply a rollback to revert the bpo-39207 change. It was 
a performance enhancement, but it causes a new deadlock in code that didn't 
already have one when thread tuned malloc implementations are used.

The only way to safely launch worker processes on demand is to spawn a worker 
launcher process spawned prior to any thread creation that remains idle, with a 
sole job of spawn new worker processes for us. That sounds complicated. That'd 
be a feature. Lets go with the bugfix first.

--
assignee:  -> gregory.p.smith
keywords: +3.9regression
nosy: +gregory.p.smith
stage:  -> needs patch
type:  -> resource usage

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



[issue46493] Add an API to indicate if the process might have multiple threads

2022-01-23 Thread Gregory P. Smith


New submission from Gregory P. Smith :

It'd be handy to have a function to determine if there are multiple threads in 
the current process or not - at least on POSIXish systems.  This would be 
useful anytime a library is trying to use os.fork(), as fork() is not safe in a 
multi-threaded process.

Motivation: I want to _use_ this API to consider raising RuntimeWarnings in 
libraries that call fork() to highlight the problem to people attempting to use 
that code in multithreaded processes.

As POSIXy OSes don't usually have a simple API to get this information, one 
implementation such as this could make sense:

```
def is_process_multithreaded() -> bool:
"""Are there multiple threads in this process? OSError if no such OS API is 
available."""
threads = 0
ourself = str(os.gettid())
i_feel_seen = False
try:
# Linux, NetBSD, any others?
with os.scandir('/proc/self/task') as tasks:
for task_dir_entry in tasks:
# tid named subdirs should be the only thing that exists.
# We do a simple conformity check just in case.
if task_dir_entry.name.isdigit():
if task_dir_entry.name == ourself:
i_feel_seen = True
threads += 1
if i_feel_seen and threads > 1:
return True  # Multiple threads confirmed.
except EnvironmentError:
raise OSError('Unable to count threads on this platform.')
if i_feel_seen and threads == 1:
return False
else:
raise OSError(f'Unclear. Found {threads} in /proc/self/task and did not 
find ourself.')
```

macOS has mach darwin kernel APIs that can do this. Not well documented but 
they do work - 
https://stackoverflow.com/questions/21478229/how-to-count-number-of-alive-threads-in-ios

FreeBSD has APIs that can do this (see FreeBSD usr.bin/procstat/ source).

configure.ac checks and an extension module would be needed to integrate those.

My use case is not relevant to Windows (a platform unburdened by fork) but 
Windows APIs to answer the question exist if anyone has a reason to want this 
there as well - 
https://stackoverflow.com/questions/3749668/how-to-query-the-thread-count-of-a-process-using-the-regular-windows-c-c-apis

--
components: Library (Lib)
messages: 411420
nosy: gregory.p.smith
priority: normal
severity: normal
stage: needs patch
status: open
title: Add an API to indicate if the process might have multiple threads
type: enhancement
versions: Python 3.11

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



[issue5404] Cross-compiling CPython - need a buildbot

2022-01-23 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
title: Cross-compiling Python -> Cross-compiling CPython - need a buildbot
versions: +Python 3.11 -Python 3.4

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



[issue44733] Feature request: maxtasksperchild for ProcessPoolExecutor

2022-01-23 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

[bpo-46464](https://bugs.python.org/issue46464) describes a deadlock that the 
pre-requisite for this feature causes.

Spawning new children directly via fork() is impossible once a thread in the 
parent process has been started and concurrent.futures.process starts a thread.

--
nosy: +gregory.p.smith

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



[issue44733] Feature request: maxtasksperchild for ProcessPoolExecutor

2022-01-23 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

If we want this feature to stay in, it needs an implementation that does not 
rely on a multithreaded processing calling fork(). I'm going to have to revert 
the existing implementation for bpo-46464.

--
stage: resolved -> needs patch
status: closed -> open

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



[issue44733] Feature request: maxtasksperchild for ProcessPoolExecutor

2022-01-23 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
assignee:  -> gregory.p.smith
resolution: fixed -> 

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



[issue46464] concurrent.futures.ProcessPoolExecutor can deadlock when tcmalloc is used

2022-01-23 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

https://bugs.python.org/issue44733 for 3.11 attempts to build upon the dynamic 
spawning ability and will need reverting unless a non-thread+fork 
implementation is provided.

--

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



[issue46464] concurrent.futures.ProcessPoolExecutor can deadlock when tcmalloc is used

2022-01-24 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
keywords: +patch
pull_requests: +29029
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/30847

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



[issue46503] assertion failure in Parser/string_parser.c

2022-01-24 Thread Gregory P. Smith


New submission from Gregory P. Smith :

```
>>> v = r"""f'\N  '"""
>>> import ast
>>> ast.literal_eval(v)
python: ../gpshead/Parser/string_parser.c:487: fstring_find_literal: Assertion 
`s == end || *s == '{' || *s == '}'' failed.
Aborted
```

this comes from oss-fuzz after enabling assert checks in its cpython builds. :)

https://oss-fuzz.com/testcase-detail/4805529363415040 & 
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43730 for those who have 
access.

--
components: Parser
messages: 411503
nosy: gregory.p.smith, lys.nikolaou, pablogsal
priority: high
severity: normal
stage: needs patch
status: open
title: assertion failure in Parser/string_parser.c
type: crash
versions: Python 3.11

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



[issue46503] assertion failure in Parser/string_parser.c

2022-01-24 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
assignee:  -> pablogsal

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



[issue11322] encoding package's normalize_encoding() function is too slow

2022-01-24 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith

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



[issue46508] codec name acceptance became way too lenient in 3.9

2022-01-24 Thread Gregory P. Smith

New submission from Gregory P. Smith :

in 3.8 this was not a valid codec name: "เ_เ_เ_iDnA"
in 3.9 it gets treated as idna and triggers the punycode decoder when passed to 
bytes.decode(codec).

Discovered by oss-fuzz.

_Likely_ a consequence of https://bugs.python.org/issue37751

The consequences of this change are that anyone can stuff heinous strings into 
codec names and get a non-LookupError behavior out of them. Anywhere codecs can 
be part of user input this has many interesting potential negative consequences.

<=3.8 gave `LookupError("unknown encoding: ...`

--
keywords: 3.9regression
messages: 411535
nosy: gregory.p.smith
priority: normal
severity: normal
stage: needs patch
status: open
title: codec name acceptance became way too lenient in 3.9
type: behavior
versions: Python 3.10, Python 3.11, Python 3.9

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



[issue37751] In codecs, function 'normalizestring' should convert both spaces and hyphens to underscores.

2022-01-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

https://bugs.python.org/issue46508 filed to track fixing the acceptance and use 
of garbage codec values regression that this caused.

--
nosy: +gregory.p.smith

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



[issue37751] In codecs, function 'normalizestring' should convert both spaces and hyphens to underscores.

2022-01-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

(note: this might not be the true cause of that issue; though it sounds 
potentially related - I haven't investigated far enough yet)

--

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



[issue37751] In codecs, function 'normalizestring' should convert both spaces and hyphens to underscores.

2022-01-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

note that Bodo's own followup issue about the breaking change for python-iconv 
was filed as https://bugs.python.org/issue44723

--

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



[issue44723] Codec name normalization breaks custom codecs

2022-01-24 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith

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



[issue32958] socket module calls with long host names can fail with idna codec error

2022-01-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

ablack: the basic auth username:password@ part of the string is not part of a 
hostname.  What code are you seeing that is trying to send that to a name 
resolver rather than stripping the obviously private info up through the @ sign?

--
nosy: +gregory.p.smith

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



[issue46508] codec name acceptance became way too lenient in 3.9

2022-01-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

while figuring this issue out, it may also make sense to address 
https://bugs.python.org/issue44723 as well.

--

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



[issue46464] concurrent.futures.ProcessPoolExecutor can deadlock when tcmalloc is used

2022-01-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

It sounds like we need to introspect the mp_context= passed to 
ProcessPoolExecutor (and it's default when None) to raise an error when 
max_tasks_per_child is incompatible with it.

--

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



[issue46464] concurrent.futures.ProcessPoolExecutor can deadlock when tcmalloc is used

2022-01-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

and similarly, the dynamic spawning could be kept when the mp_context is spawn 
(and possibly forkserver).

--

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



[issue44733] Feature request: maxtasksperchild for ProcessPoolExecutor

2022-01-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

from discussion on the other bug it looks like we should have a way to keep 
this; we just need to not allow it when the mp_context to be used is the 'fork' 
one.

--

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



[issue44733] Feature request: maxtasksperchild for ProcessPoolExecutor

2022-01-24 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

As this is a new feature, it would also be reasonable to have specifying 
max_tasks_per_child without explicitly specifying a mp_context default to a 
safe mp_context.

--

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



[issue45162] Remove old deprecated unittest features

2022-01-26 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

Per 
https://mail.python.org/archives/list/python-...@python.org/thread/GJTREADEXYAETECE5JDTPYWK4WMTKYGR/
 we want to revert this change for 3.11 as it causes adoption pain for little 
benefit.

To determine if we should proceed with this in 3.12 or future versions, run a 
stable Python with this change applied on the test suites of external projects 
to find regressions.  (many will have been addressed by then thanks to the work 
by RedHat)

and remember that those are only open source projects. Peoples internal 
codebases are full of use of these names and this will prevent upgrading until 
they take the time to address those.

There are targeted pieces of this change that may make sense to go forward with 
individually.  But it is easier to reason about after a rollback and consider 
new PRs to move those forward.

--
nosy: +gregory.p.smith
priority: normal -> deferred blocker
resolution: fixed -> 
stage: resolved -> needs patch
status: closed -> open
type: enhancement -> behavior

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



[issue45173] Remove configparser deprecations

2022-01-26 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

Per 
https://mail.python.org/archives/list/python-...@python.org/thread/GJTREADEXYAETECE5JDTPYWK4WMTKYGR/
 we want to revert 
https://github.com/python/cpython/commit/1fc41ae8709e20d741bd86c2345173688a5e84b0
 for 3.11 to avoid causing pain.

per that thread and 
https://discuss.python.org/t/experience-with-python-3-11-in-fedora/12911 it 
sounds like you may be on top of filing upstream issues/PRs to get OSS projects 
to stop using the deprecated APIs.  great!  that should help this stick in 3.12.

as the commit removed several things at once, I suggest a full rollback, and 
smaller PRs for individual things if your upstream python project testing 
reveals things that nobody appears to be depending on.

--
nosy: +gregory.p.smith
priority: normal -> deferred blocker
stage: patch review -> needs patch

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



[issue45162] Remove old deprecated unittest features

2022-01-26 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
assignee:  -> gregory.p.smith

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



[issue45162] Remove old deprecated unittest features

2022-01-26 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
pull_requests: +29114
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/30935

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



[issue45162] Remove old deprecated unittest features

2022-01-26 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset b50322d20337ca468f2070eedb051a16ee1eba94 by Gregory P. Smith in 
branch 'main':
bpo-45162: Revert "Remove many old deprecated unittest features" (GH-30935)
https://github.com/python/cpython/commit/b50322d20337ca468f2070eedb051a16ee1eba94


--

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



[issue45162] Remove old deprecated unittest features

2022-01-26 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
assignee: gregory.p.smith -> 

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



[issue42982] Update suggested number of iterations for pbkdf2_hmac()

2022-01-27 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset 897ce9018775bcd679fb49aa17258f8f6e818e23 by Illia Volochii in 
branch 'main':
bpo-42982: Improve the text on suggested number of iterations of PBKDF2 
(GH-24276)
https://github.com/python/cpython/commit/897ce9018775bcd679fb49aa17258f8f6e818e23


--
nosy: +gregory.p.smith

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



[issue42982] Update suggested number of iterations for pbkdf2_hmac()

2022-01-27 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

I reworked the PR and went with less specific text and linking to the NIST 800 
132 appendix as guidance on how people should determine what is right for them.

there is no one right number.  it is application specific.

thanks for everyone's valuable input!

--
assignee: docs@python -> gregory.p.smith
resolution:  -> fixed
stage: patch review -> commit review
status: open -> closed

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



[issue46166] Get "self" args or non-null co_varnames from frame object with C-API

2022-01-27 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
keywords: +3.11regression
nosy: +gregory.p.smith
priority: normal -> high

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



[issue42982] Update suggested number of iterations for pbkdf2_hmac()

2022-01-27 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
pull_requests: +29145
pull_request: https://github.com/python/cpython/pull/30966

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



[issue46548] macOS installers cannot be signed on Monterey

2022-01-27 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +ned.deily

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



[issue40746] test_gdb failing on 32-bit armv7l when built with GCC -Og: Cannot access memory at address 0xfffffedc

2022-01-28 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

I manually tested this on 3.11 main and it appears to be working.

--
resolution:  -> works for me
stage:  -> resolved
status: open -> closed

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



[issue46576] test_peg_generator is extremely slow

2022-01-29 Thread Gregory P. Smith


New submission from Gregory P. Smith :

test_peg_generator is an extremely slow test.  This bug tracks any changes to 
reduce its runtime and test latency.

--
components: Tests
messages: 412104
nosy: gregory.p.smith
priority: normal
severity: normal
status: open
title: test_peg_generator is extremely slow
versions: Python 3.11

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



[issue46576] test_peg_generator is extremely slow

2022-01-29 Thread Gregory P. Smith


Change by Gregory P. Smith :


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

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



[issue46524] test_peg_generator takes 8 minutes on Windows

2022-01-29 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

re: slow tests in the first half of the list.  the same total amount of time is 
going to be spent regardless.  In our test suite on a modern fast 16 thread 
system, all but 10 tests are completed in parallel within the first 30 seconds. 
 The remaining ~10 take 10x+ that wall time more minutes.

So the most latency you will shave off on a modern system is probably <30 
seconds.  On a slower system the magnitude of that will remain the same in 
proportion.  CI systems are not workstations.  On -j1 or -j2 system I doubt it 
will make a meaningful difference at all.

Picture test execution as a utilization graph:

```
|ttt
|   
|   ttt
|  tt
+
```

The total area under that curve is going to remain the same no matter what so 
long as we execute everything.  Reordering the tests can pull the final long 
tail in a bit by pushing out the top layer.  You move more towards an optimal 
rectangle, but you're still limited by the area.  **The less -jN parallelism 
you have as CPU cores the less difference any reordering change makes.**

What actual parallelism do our Github CI systems offer?

The fundamental problem is that we do a LOT in our test suite and have no 
concept of what depends on what and thus _needs_ to be run.  So we run it all.  
For specialized tests like test_peg_generator and test_tools it should be easy 
to determine from a list of modified files if those tests are relevant.

That gets a lot more complicated to accurately express for things like 
test_multiprocessing and test_concurrent_futures.

test_peg_generator and test_tools are also *packages of tests* that themselves 
should be parallelized individually instead of considered a single serialized 
unit.

At work we even shard test methods within TestCase classes so that big ones can 
be split across test executor tasks: See the _setup_sharding() function in 
absltest here: 
https://github.com/abseil/abseil-py/blob/main/absl/testing/absltest.py#L2368

In absence of implementing an approach like that within test.regrtest to shard 
at a more granular level thus enabling us to approach the golden rectangle of 
optimal parallel test latency, we're left with manually splitting long running 
test module/packages up into smaller units to achieve a similar effect.

--
nosy: +gregory.p.smith

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



[issue46524] test_peg_generator takes 8 minutes on Windows

2022-01-30 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

If a decent parallelism CI systems are not available from github (they seem 
stuck at 2-3 threads per 
https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners),
 an alternative approach could be to shard across multiple parallel CI tasks. 
Shard such that each one gets only one of the slow tests.

Unfortunately if each of these were a line item in Github's poor CI UI sharding 
a single config's tests across 5-10 tasks would be a nightmare to navigate on a 
PR.  I expect everyone would hate that.

Providing our own runners with decent parallelism could help: 
https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners

But we're always going to be bound by our longest tail test if we don't fix our 
test parallelism to be more granular.

--

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



[issue46524] test_peg_generator takes 8 minutes on Windows

2022-01-30 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
pull_requests: +29197
pull_request: https://github.com/python/cpython/pull/31015

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



[issue45173] Remove configparser deprecations

2022-02-02 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset e8659b47dece5a272111c0af5e340c364a9f807b by Hugo van Kemenade in 
branch 'main':
bpo-45173: Keep configparser deprecations until Python 3.12 (GH-30952)
https://github.com/python/cpython/commit/e8659b47dece5a272111c0af5e340c364a9f807b


--

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



[issue46524] test_peg_generator takes 8 minutes on Windows

2022-02-02 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset 164a017e13ee96bd1ea1ae79f5ac9e25fe83994e by Gregory P. Smith in 
branch 'main':
bpo-46576: bpo-46524: Disable compiler optimization within test_peg_generator. 
(#31015)
https://github.com/python/cpython/commit/164a017e13ee96bd1ea1ae79f5ac9e25fe83994e


--

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



[issue46576] test_peg_generator is extremely slow

2022-02-02 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset 164a017e13ee96bd1ea1ae79f5ac9e25fe83994e by Gregory P. Smith in 
branch 'main':
bpo-46576: bpo-46524: Disable compiler optimization within test_peg_generator. 
(#31015)
https://github.com/python/cpython/commit/164a017e13ee96bd1ea1ae79f5ac9e25fe83994e


--

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



[issue46524] test_peg_generator takes 8 minutes on Windows

2022-02-02 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
pull_requests: +29274
pull_request: https://github.com/python/cpython/pull/31089

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



[issue46576] test_peg_generator is extremely slow

2022-02-02 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
pull_requests: +29273
pull_request: https://github.com/python/cpython/pull/31089

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



[issue46524] test_peg_generator takes 8 minutes on Windows

2022-02-02 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset f5ebec4d3e1199ec38b88920cfde8e460e5120dd by Gregory P. Smith in 
branch '3.10':
[3.10] bpo-46576: bpo-46524: Disable compiler optimization within 
test_peg_generator. (GH-31015) (GH-31089)
https://github.com/python/cpython/commit/f5ebec4d3e1199ec38b88920cfde8e460e5120dd


--

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



[issue46576] test_peg_generator is extremely slow

2022-02-02 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset f5ebec4d3e1199ec38b88920cfde8e460e5120dd by Gregory P. Smith in 
branch '3.10':
[3.10] bpo-46576: bpo-46524: Disable compiler optimization within 
test_peg_generator. (GH-31015) (GH-31089)
https://github.com/python/cpython/commit/f5ebec4d3e1199ec38b88920cfde8e460e5120dd


--

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



[issue45629] Tools/freeze needs tests in the test suite.

2022-02-02 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith
nosy_count: 2.0 -> 3.0
pull_requests: +29280
pull_request: https://github.com/python/cpython/pull/31094

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



[issue45629] Tools/freeze needs tests in the test suite.

2022-02-02 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset 8726067ace98a27557e9fdf1a8e1c509c37cfcfc by Gregory P. Smith in 
branch 'main':
bpo-45629: Improve test.support.skip_if_buildbot (GH-31094)
https://github.com/python/cpython/commit/8726067ace98a27557e9fdf1a8e1c509c37cfcfc


--

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



[issue46576] test_peg_generator is extremely slow

2022-02-03 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

for my purposes those PRs make it reasonable, even though it remains one of our 
slowest tests.  we can reopen/reuse this issue for any further 
test_peg_generator performance improvements as needed.

--
assignee:  -> gregory.p.smith
resolution:  -> fixed
stage: patch review -> commit review
status: open -> closed
versions: +Python 3.10, Python 3.9

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



[issue46524] test_peg_generator takes 8 minutes on Windows

2022-02-03 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

test_peg_generator is significantly less of the long tail on optimized builds 
now.  CI extremely noisy performance wise (times vary by 2-3x without any 
differences anways) so I can't easily judge if this made a notable difference 
in windows CI latency.

--

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



[issue46524] test_peg_generator takes 8 minutes on Windows

2022-02-03 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

Thanks to Kumar for contributing Windows compiler flags side of this (the point 
of this issue).

--
resolution:  -> fixed
stage: patch review -> commit review
status: open -> closed

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



[issue33178] Add support for BigEndianUnion and LittleEndianUnion in ctypes

2022-02-03 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
assignee:  -> gregory.p.smith
nosy: +gregory.p.smith
versions: +Python 3.11 -Python 2.7, Python 3.6

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



[issue46636] Bugs of 2to3 on built-in function or types(classes)

2022-02-04 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

lib2to3 is going away per https://bugs.python.org/issue40360

but it is behaving as intended above, it does not understand logic.  it was 
only ever intended to maybe work on python 2-only code.  not python 2-and-3 
compatible code.

--
nosy: +gregory.p.smith
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

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



[issue46639] Ceil division with math.ceildiv

2022-02-04 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +mark.dickinson

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



[issue42353] Proposal: re.prefixmatch method (alias for re.match)

2022-02-04 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
assignee:  -> gregory.p.smith
versions: +Python 3.11 -Python 3.10

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



[issue42353] Proposal: re.prefixmatch method (alias for re.match)

2022-02-04 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
keywords: +patch
pull_requests: +29314
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/31137

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



[issue42353] Proposal: re.prefixmatch method (alias for re.match)

2022-02-04 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

What do other APIs in widely used languages do with regex terminology?  We 
appear to be the only popular language who anchors to the start of a string 
with an API named "match".

libpcre C: uses "match" to mean what we call "search" - 
https://www.pcre.org/current/doc/html/pcre2_match.html

Go: Uses "Match" to mean what we call "search" - https://pkg.go.dev/regexp#Match

JavaScript: Uses "match" to mean what we call "search" - 
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match

Java: Uses "matches" (I think meaning what we call fullmatch?) - 
https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

C++ RE2: explicit "FullMatch" and "PartialMatch" APIs - 
https://github.com/google/re2 

Jave re2j: uses "matches" like Java regex.Pattern - 
https://github.com/google/re2j 

Ruby: Uses "match" as we do "search" - 
https://ruby-doc.org/core-2.4.0/Regexp.html

Rust: Uses match as we do "search" - https://docs.rs/regex/latest/regex/

--

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



[issue46648] `test.test_urllib2.MiscTests.test_issue16464` flaky due to external connection

2022-02-06 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

The merged PRs disable the test without anything tracking fixing or 
re-re-enabling it.  Reopening & retitling this issue.

This specific test does not need to use an external server. That has nothing to 
do with what the purposes of the test is which is all around a content-length 
issue per https://bugs.python.org/issue16464

The appropriate fix is to have the test manage it's own http server on 
localhost in another thread or process.

We do not need to test it with https.

--
nosy: +gregory.p.smith
resolution: fixed -> 
stage: resolved -> needs patch
status: closed -> open
title: `test.test_urllib2.MiscTests.test_issue16464` started to fail -> 
`test.test_urllib2.MiscTests.test_issue16464` flaky due to external connection
versions: +Python 3.10, Python 3.8, Python 3.9

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



[issue24904] Provide a way for potentially long runtime difflib algorithms to be aborted by the caller (and report progress?)

2022-02-07 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

The way I'd go about this is to support some form of periodic checkpoint in the 
algorithm where it checks in with code supplied by the difflib user. 
Traditionally that'd have been via callbacks, there might be an async style way 
to express that these days. Those could indicate that they want the operation 
to be aborted. If it is possible to estimate progress, supplying that as input 
to the checkpoint API would be useful.

This leaves decision logic on when to abort something entirely up to the user 
rather than being clock based which is often not what the user wants.

I'm re-titling the issue as the original patch and proposal of a timeout isn't 
the direction several core devs have suggested we head.

--
nosy: +gregory.p.smith
stage:  -> needs patch
title: Patch: add timeout to difflib SequenceMatcher ratio() and quick_ratio() 
-> Provide a way for potentially long runtime difflib algorithms to be aborted 
by the caller (and report progress?)

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



[issue20342] Endianness not detected correctly due to AC_RUN_IFELSE macros

2022-02-07 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

any idea if this is still relevant?

--
components: +Cross-Build
nosy: +Alex.Willmer, gregory.p.smith

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



[issue46648] `test.test_urllib2.MiscTests.test_issue16464` flaky due to external connection

2022-02-07 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
assignee:  -> sobolevn

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



[issue20342] Endianness not detected correctly due to AC_RUN_IFELSE macros

2022-02-07 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

I'll leave it open, nothing about this should be ppc64 vs ppc64el specific. Our 
cross compilation story has historically been not great.  

Building for a target of one endianness from a build host of other 
endianness... sounds like exactly one of many kinds of thing that we might have 
a mess with until someone can confirm.  (I'm not setup with a big endian 
toolchain to build for a qemu target right now so I can't easily confirm)

--

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



[issue46784] Duplicated symbols when linking embedded Python with libexpat

2022-02-17 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith

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



[issue46793] expose expat XML billion laughs attack mitigation APIs

2022-02-18 Thread Gregory P. Smith


New submission from Gregory P. Smith :

Quoting from 
https://github.com/python/cpython/pull/31397#issuecomment-1044796561

"""
XML_SetBillionLaughsAttackProtectionActivationThreshold

XML_SetBillionLaughsAttackProtectionMaximumAmplification

I still hope that someone can make those two^^ accessible (with additional glue 
code) to the user on pyexpat level in CPython.
""" - Sebastian Pipping @hartwork

--
messages: 413513
nosy: gregory.p.smith
priority: normal
severity: normal
stage: needs patch
status: open
title: expose expat XML billion laughs attack mitigation APIs
type: enhancement
versions: Python 3.11

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



[issue46784] Duplicated symbols when linking embedded Python with libexpat

2022-02-18 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
pull_requests: +29557
pull_request: https://github.com/python/cpython/pull/31420

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



[issue46200] Discourage logging f-strings due to security considerations

2022-02-18 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

A new system of logging APIs has been on several of our (core dev and 
otherwise) minds ever since f-strings were introduced.  For this specific 
issue, agreed that documentation is key.

The old logging APIs cannot change.  And practically preventing passing 
non-literal constant values in as the first parameter within their 
implementation while there are theoretical ways to _maybe_ do that, I expect 
none would be maintainable or performant.

For https://www.python.org/dev/peps/pep-0675/#logging-format-string-injection, 
my gut feeling is you want logging functions annotated as is a duality using 
overload.

```
@overload
def info(str) -> None:
...

@overload
def info(msg: LiteralString, *args: object) -> None:
```

As that prevents the untrusted template in msg so you could use a lone f-str.

This larger conversation is better turned into a python-dev or 
discuss.python.org thread than done in our poor bug tracker as anything more 
than the doc update and musing around the annotations turns into an evolved 
logging system design discussion.  (a nice thread internally at work just 
restarted about this and linked here... people want f-logging!)

--
nosy: +gregory.p.smith

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



[issue46784] Duplicated symbols when linking embedded Python with libexpat

2022-02-18 Thread Gregory P. Smith


Gregory P. Smith  added the comment:


New changeset e05e3d20d309603010f2c1194e612f894ad8a985 by Gregory P. Smith in 
branch '3.10':
[3.10] bpo-46784: Add newly exported expat symbols to the namespace. (GH-31397) 
(GH-31420)
https://github.com/python/cpython/commit/e05e3d20d309603010f2c1194e612f894ad8a985


--

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



[issue46784] Duplicated symbols when linking embedded Python with libexpat

2022-02-18 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

PRs for 3.7 and 3.8 remain up to release blockers.

--
components: +Build
resolution:  -> fixed
stage: patch review -> commit review
status: open -> closed

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



[issue46784] Duplicated symbols when linking embedded Python with libexpat

2022-02-18 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

err "release managers" same thing right? ;)

--

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



[issue45373] ./configure --enable-optimizations should enable LTO

2022-03-01 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

FWIW I agree that we should try adding LTO to --enable-optimizations now.

--
nosy: +gregory.p.smith

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



  1   2   3   4   5   6   7   8   9   10   >