Steve Dower added the comment:
New changeset 2390b2236d4b6ea96217478221d6f7d4b4f344f8 by Steve Dower in branch
'main':
bpo-47239: Fixes py.exe output when run in a virtual environment. (GH-32364)
https://github.com/python/cpython/commit/2390b2236d4b6ea96217478221d6f7
Change by Steve Dower :
--
assignee: -> steve.dower
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python
Steve Dower added the comment:
Backport is blocked on issue47104 (or a randomly successful CI run, which seems
to occur occasionally).
--
versions: +Python 3.10, Python 3.9
___
Python tracker
<https://bugs.python.org/issue47
Steve Dower added the comment:
New changeset b0ec17b6d9e0fb61081b6d15a1b2a14b607851b7 by Steve Dower in branch
'3.10':
bpo-47103: Copy pgort140.dll into output directory when building PGInstrument
on Windows (GH-32083)
https://github.com/python/cpyt
Change by Steve Dower :
--
pull_requests: +30432
pull_request: https://github.com/python/cpython/pull/32407
___
Python tracker
<https://bugs.python.org/issue47
Steve Dower added the comment:
New changeset 80c115385c01f456cdc6550543cf2112ae7a8161 by Steve Dower in branch
'3.9':
bpo-47103: Copy pgort140.dll into output directory when building PGInstrument
on Windows (GH-32083)
https://github.com/python/cpyt
Change by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Steve Dower added the comment:
> __assume(0) should be replaced with other function, inside the eval
> switch-case or in the inlined paths of callees. This is critical with PGO.
Out of interest, have you done other experiments confirming this? The reference
linked is talking about co
New submission from Steve Dower :
A change made to the python_uwp.vcxproj (or more likely the .cpp file) has
introduced a runtime dependency on msvcp140.dll.
As we don't distribute this dependency, and it is not always installed by
default, we should statically link it in
Change by Steve Dower :
--
keywords: +patch
pull_requests: +14974
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/15253
___
Python tracker
<https://bugs.python.org/issu
Steve Dower added the comment:
New changeset b0dace3e979381426385c551b116d0f1434096ee by Steve Dower in branch
'master':
bpo-37841: Remove python_uwp dependency on msvcp140.dll (GH-15253)
https://github.com/python/cpython/commit/b0dace3e979381426385c551b116d0
Change by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
___
Python tracker
<https://bugs.python.org/issue37841>
___
___
Pyth
Steve Dower added the comment:
> I looked into this spawn problem. It's due to Cygwin's spawnve, which calls
> NtOpenFile to open the file, and then memory-maps it and reads the image
> header [1].
Great, that's roughly what I suspected. Unfortunately, I've
Steve Dower added the comment:
> If we support reading junctions, this should be using the substitute name
> (with \??\ replaced by \\?\) instead of the print name.
GetFinalPathName() does this conversion for us, any reason not to use that?
(GetFullPathName() doesn't seem to re
Steve Dower added the comment:
Latest PR update uses GetFinalPathName to resolve SubstituteName, returning it
unmodified on failure (e.g. symlink where the target file no longer exists).
Replacing "\??\" with "\\?\" in place is trivial though, as we start with a
mutable
Steve Dower added the comment:
I think we'll want issue9949 merged as well, so that ntpath.realpath() does its
job. Certainly the tests would benefit from it.
Until then, I think it makes sense for os.readlink() to handle the prefix and
_getfinalpathname() call, but leave nt.readlink
Steve Dower added the comment:
New changeset 243a73deee4ac61fe06602b7ed56b6df01e19f27 by Steve Dower
(shireenrao) in branch 'master':
bpo-25172: Add test for crypt ImportError on Windows (GH-15252)
https://github.com/python/cpython/commit/243a73deee4ac61fe06602b7ed56b6
Steve Dower added the comment:
Thanks for the patches, Srinivas!
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Steve Dower added the comment:
> I'm wary of trying to return it without the prefix.
Me too, but suddenly adding "\\?\" to the paths breaks a lot of assumptions.
> We would need a function that's shared with the proposed implementation of
> realpath() to det
Change by Steve Dower :
--
keywords: +patch
pull_requests: +15011
pull_request: https://github.com/python/cpython/pull/15287
___
Python tracker
<https://bugs.python.org/issue9
Steve Dower added the comment:
> Given the only option here is follow_symlinks, then the first CreateFileW
> call in win32_xstat_impl should only open a reparse point if follow_symlinks
> is false. In this case, if it happens to open a reparse point that's not a
> symlink,
Steve Dower added the comment:
> Perhaps the best we can do is an additional test where we GetFinalPathName,
> strip the prefix, reopen the file, GetFinalPathName again and if they match
> then return it without the prefix. That should handle the both long path
> settings as t
Steve Dower added the comment:
FYI, there's been some discussion of this on issue37834, as the issues quickly
became conflated.
There's also issue14094 which is a dup of this one, but with a different patch.
---
To move the relevant discussion here, my current PR is basically
Steve Dower added the comment:
And I just posted an update to PR 15231 with essentially a rewrite of stat() on
Windows. Should be better than it was :)
--
___
Python tracker
<https://bugs.python.org/issue37
Steve Dower added the comment:
> I assume you're talking about realpath() here ...
Yes, and so are you :) Let's move that discussion to issue9949 and/or PR 15287.
> I think os.chdir should raise an exception when passed a device path.
When the OS starts returning an error co
Steve Dower added the comment:
[Quoting from the PR comments]
> traverse is from follow_symlinks and only applies to symlinks. It does not
> apply to other types of reparse points.
I get your argument that junctions are not symlinks, but I disagree that we
should try this hard to e
Steve Dower added the comment:
Unless your point is that we should _always_ traverse junctions? In which case
we have a traverse 'upgrade' scenario (calls to lstat() become calls to stat()
when we find out it's a junction).
Again, not sure why we'd want to hide the abili
Steve Dower added the comment:
> For example, if we've opened an HSM reparse point, we must reopen to let
> the file-system filter driver implement its semantics to replace the
> reparse point with the real file from auxiliary storage and complete the
> request. That is th
Steve Dower added the comment:
> So we _do_ want to "upgrade" lstat() to stat() when it's not a symlink.
Except this bug came about because we want to _downgrade_ stat() to lstat()
when it's an appexeclink, because the whole point of those is to use them
without f
Steve Dower added the comment:
So for an actual non-root mount point, ntpath.ismount() returns True and with
IO_REPARSE_TAG_MOUNT_POINT included ntpath.islink() also returns True.
nt.readlink() returns the "\\?\Volume{GUID}\" path
Root mount points ("C:\\", etc.) do
Steve Dower added the comment:
I'd rather keep encoding incrementally, and reduce the length of each attempt
until the last UTF-8 character does not have its top bit set (i.e. is the final
character in a multi-byte sequence).
Otherwise the people who like to print >2GB worth of dat
Steve Dower added the comment:
>> I don't want to add any parameters - I want to have predictable and
>> reasonable default behaviour. os.readlink() already exists for
>> "open reparse point" behaviour.
>
> I'd appreciate a parameter to always open
Steve Dower added the comment:
That was a long set of replies, so here's my summary proposed behaviour:
(Where "links" are the generic term for the set that includes "reparse point",
"symlink", "mount point", "junction", etc.)
os.lsta
Steve Dower added the comment:
Another minor change worth calling out - I added a note to the docs that when a
symlink cycle is detected, realpath() could return any member of the cycle, but
does not guarantee which one.
For our test cases it's generally stable enough, but if you chang
Steve Dower added the comment:
> Why group all reparse points under the banner of 'link'?
Because for the purposes of the list of changes beneath it, there wasn't any
difference (e.g. "traverses any links supported by the OS" is more meaningful
to most people,
Change by Steve Dower :
--
status: open -> closed
___
Python tracker
<https://bugs.python.org/issue37841>
___
___
Python-bugs-list mailing list
Unsubscrib
Steve Dower added the comment:
New changeset 24fe46081be3d1c01b3d21cb39bc3492ab4485a3 by Steve Dower
(shireenrao) in branch 'master':
bpo-36266: Add module name in ImportError when DLL not found on Windows
(GH-15180)
https://github.com/python/cpyt
Change by Steve Dower :
--
resolution: -> fixed
stage: commit review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Steve Dower added the comment:
Thanks for the contribution!
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Change by Steve Dower :
--
keywords: +easy, newcomer friendly
___
Python tracker
<https://bugs.python.org/issue36670>
___
___
Python-bugs-list mailing list
Unsub
Change by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
versions: -Python 3.5, Python 3.6, Python 3.7
___
Python tracker
<https://bugs.python.or
Change by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Steve Dower added the comment:
Is pip 19.2.2 worth taking? Or are we expecting another patch this week?
--
___
Python tracker
<https://bugs.python.org/issue37
Change by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Steve Dower added the comment:
Thanks for the code snippet, that helped me a lot (and since you went to the
trouble of fixing other bugs, I guess I'll have to merge it into my PR now).
Any particular reason you did GetFileAttributesW(path) in the
non-FILE_TYPE_DISK case when we hav
Steve Dower added the comment:
> So the order of the GetFileInformationByHandleEx and GetFileType blocks
> actually needs to be flipped.
I've done that now.
And thanks for confirming. That was my suspicion, but I wasn't sure if you knew
something here that I d
Steve Dower added the comment:
The latest PR also fixes issue1311 and issue20541 properly
(os.path.exists("NUL") now returns True).
--
___
Python tracker
<https://bugs.python.o
Steve Dower added the comment:
So my colleagues confirmed that they deliberately represent junction points as
symlinks within WSL, including translating the target to the mounted location
(assuming it is mounted) and letting the Linux code traverse it normally. They
also said they haven
Steve Dower added the comment:
New changeset 75e064962ee0e31ec19a8081e9d9cc957baf6415 by Steve Dower in branch
'master':
bpo-9949: Enable symlink traversal for ntpath.realpath (GH-15287)
https://github.com/python/cpython/commit/75e064962ee0e31ec19a8081e9d9cc
Steve Dower added the comment:
I think this definitely conflicts with the behaviour we've been working on for
the last week over on issue37834 (the PR is going to conflict for sure).
I am making a change to rmtree() that will cause it to delete junction point
without trying to recurs
Change by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.o
Change by Steve Dower :
--
assignee: -> steve.dower
___
Python tracker
<https://bugs.python.org/issue9949>
___
___
Python-bugs-list mailing list
Unsubscrib
Steve Dower added the comment:
On it
--
___
Python tracker
<https://bugs.python.org/issue9949>
___
___
Python-bugs-list mailing list
Unsubscribe:
Steve Dower added the comment:
I suspect the relevant failure here (which is not listed in Pablo's post) is
this one:
==
ERROR: test_realpath_curdir (test.test_ntpath.TestN
Change by Steve Dower :
--
pull_requests: +15080
pull_request: https://github.com/python/cpython/pull/15369
___
Python tracker
<https://bugs.python.org/issue9
Steve Dower added the comment:
Okay, the venv break is related (and it should have broken more frequently).
The new realpath() implementation leaves the \\?\ prefix behind if the path
doesn't exist, since that's the error you get when the path is longer than
MAX_PATH and you'
Steve Dower added the comment:
And sorry, the test_ntpath traceback was half listed in Pablo's message, but
was missing the critical lines :)
--
___
Python tracker
<https://bugs.python.org/i
Steve Dower added the comment:
New changeset df2d4a6f3d5da2839c4fc11d31511c8e028daf2c by Steve Dower in branch
'master':
bpo-37834: Normalise handling of reparse points on Windows (GH-15231)
https://github.com/python/cpython/commit/df2d4a6f3d5da2839c4fc11d31511c
Steve Dower added the comment:
New changeset df2d4a6f3d5da2839c4fc11d31511c8e028daf2c by Steve Dower in branch
'master':
bpo-37834: Normalise handling of reparse points on Windows (GH-15231)
https://github.com/python/cpython/commit/df2d4a6f3d5da2839c4fc11d31511c8e028daf2c
-
Change by Steve Dower :
--
stage: patch review -> commit review
___
Python tracker
<https://bugs.python.org/issue37834>
___
___
Python-bugs-list mai
Change by Steve Dower :
--
pull_requests: +15081
stage: commit review -> patch review
pull_request: https://github.com/python/cpython/pull/15370
___
Python tracker
<https://bugs.python.org/issu
Change by Steve Dower :
--
pull_requests: +15082
pull_request: https://github.com/python/cpython/pull/15370
___
Python tracker
<https://bugs.python.org/issue1
Steve Dower added the comment:
Well, I was trying not to resurrect this old issue, but looks like I did it
accidentally.
Hi there, old hands! We miss you :)
We also figured out a new [l]stat() implementation on Windows that handles
symlinks and junctions better, and also non-file types
Steve Dower added the comment:
New changeset 9eb3d5463976068900e94b860ced7e035885835c by Steve Dower in branch
'3.8':
bpo-37834: Normalise handling of reparse points on Windows (GH-15370)
https://github.com/python/cpython/commit/9eb3d5463976068900e94b860ced7e
Steve Dower added the comment:
New changeset 9eb3d5463976068900e94b860ced7e035885835c by Steve Dower in branch
'3.8':
bpo-37834: Normalise handling of reparse points on Windows (GH-15370)
https://github.com/python/cpython/commit/9eb3d5463976068900e94b860ced7e
Steve Dower added the comment:
New changeset 7ebdda0dbee7df6f0c945a7e1e623e47676e112d by Steve Dower in branch
'master':
bpo-36311: Fixes decoding multibyte characters around chunk boundaries and
improves decoding performance (GH-15083)
https://github.com/python/cpyt
Steve Dower added the comment:
I'll get the 3.7 and 3.8 backports merged - looks like they're trivial.
Going to need some help with the 2.7 backport, but I'm happy to approve a PR.
--
stage: patch review -> backport needed
Steve Dower added the comment:
New changeset 06be2c7f357d12249445e95def1fb708a087b357 by Steve Dower in branch
'master':
bpo-9949: Call normpath() in realpath() and avoid unnecessary prefixes
(GH-15369)
https://github.com/python/cpython/commit/06be2c7f357d12249445e95def1fb7
Change by Steve Dower :
--
pull_requests: +15087
pull_request: https://github.com/python/cpython/pull/15376
___
Python tracker
<https://bugs.python.org/issue9
Steve Dower added the comment:
> We can find code that does `relpath(realpath(target), realpath(start))` to
> compute the relative path to target for a symlink.
> In other words, the caller wants a solidified form of `start` that can be
> used to compute the path to a target fo
Steve Dower added the comment:
New changeset a50d2f7e199f3be60c70c1586ee60ec60bf36642 by Steve Dower in branch
'3.8':
bpo-9949: Call normpath() in realpath() and avoid unnecessary prefixes
(GH-15376)
https://github.com/python/cpython/commit/a50d2f7e199f3be60c70c1586ee60e
Change by Steve Dower :
--
pull_requests: +15088
pull_request: https://github.com/python/cpython/pull/15377
___
Python tracker
<https://bugs.python.org/issue37
Steve Dower added the comment:
Adding a small fix for the Win7 buildbots in PR 15377
--
___
Python tracker
<https://bugs.python.org/issue37834>
___
___
Pytho
Steve Dower added the comment:
I disabled the long path support on my own build and can reproduce this by
passing a long path to --tempdir
Unfortunately, I'm not familiar enough with what tarfile is trying to do here -
why is it recreating the entire directory structure within i
Steve Dower added the comment:
New changeset 374be59b8e479afa8c7a8ae6e77e98915e2f6d45 by Steve Dower in branch
'master':
bpo-37834: Fix test on Windows 7 (GH-15377)
https://github.com/python/cpython/commit/374be59b8e479afa8c7a8ae6e77e98
Steve Dower added the comment:
That should be all the buildbot issues fixes, so I'm marking this resolved and
will wait for the inevitable 3.8.0b4 feedback!
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
Steve Dower added the comment:
At this point, I'm inclined to say let's wait and see what the 3.8.0b4 feedback
looks like.
Given that WSL has been fudging the boundaries here and hasn't suffered as a
result, I don't expect much of a problem (and this change does act
Steve Dower added the comment:
Thanks Zackery for the patch!
> The problem is just console pseudohandles in Windows 7 and earlier.
Should we add a version check as well [1]? I'm not totally comfortable with
bitmasking a handle here, but if we only do this additional check on Win7 t
Steve Dower added the comment:
Thanks, Eryk. In that case, I'll merge the PR.
Since Python 3.9 will not support Windows 7, we can remove it from master as
soon as the backports are done :)
--
assignee: -> steve.dower
___
Python tracker
Steve Dower added the comment:
New changeset 5be666010e4df65dc4d831435cc92340ea369f94 by Steve Dower (Zackery
Spytz) in branch 'master':
bpo-37549: os.dup() fails for standard streams on Windows 7 (GH-15389)
https://github.com/python/cpython/commit/5be666010e4df65dc4d831435cc923
Change by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Steve Dower added the comment:
Just getting Łukasz's attention, as this pip release has a critical 3.8 fix for
wheel generation (IIUC).
Pradyun - just looking for a NEWS file update in your PR to make sure we have
the right version numbers listed.
--
priority: normal ->
Steve Dower added the comment:
Great work, Pablo! This does *not* look like it was an easy one to track down.
--
nosy: +steve.dower
___
Python tracker
<https://bugs.python.org/issue37
Steve Dower added the comment:
So is the fix here to update locale._build_localename to check something like
this?
if encoding is None:
return language
elif sys.platform == 'win32' and encoding not in {'utf8', 'utf-8'}:
return language
else:
re
Steve Dower added the comment:
While I'm inclined to think it's okay to find the CRT sources (e.g. "C:\Program
Files (x86)\Windows Kits\10\Source\10.0.18362.0\ucrt\misc\errno.cpp") and
extract the table from there as part of build, the problem I have is that it is
woefu
Change by Steve Dower :
--
pull_requests: +15210
pull_request: https://github.com/python/cpython/pull/15528
___
Python tracker
<https://bugs.python.org/issue37
Steve Dower added the comment:
I pushed a custom buildbot run that only runs this test in verbose mode, and it
looks like the test is being skipped some other way?
https://buildbot.python.org/all/#/builders/48/builds/36
https://buildbot.python.org/all/#/builders/42/builds/54
I don't se
Change by Steve Dower :
--
pull_requests: +15211
pull_request: https://github.com/python/cpython/pull/15529
___
Python tracker
<https://bugs.python.org/issue37
Steve Dower added the comment:
New changeset 04b750740be6e7c4a7693f1135c4788b40a028c1 by Steve Dower in branch
'3.8':
bpo-37664: Update ensurepip bundled wheels, again (GH-15483)
https://github.com/python/cpython/commit/04b750740be6e7c4a7693f1135c478
Steve Dower added the comment:
Going to call this complete now. If there's a reason to take another update
before 3.8 releases, we should create a new issue.
--
resolution: -> fixed
stage: patch review -> resolved
status: ope
Steve Dower added the comment:
Oh yeah, that locale_alias table is useless on Windows :(
But at least the function is documented in such a way that we can change it:
"The returned locale code is formatted for use with :func:`setlocale`."
Alternatively, we could make setlocale()
Steve Dower added the comment:
> test_getsetlocale_issue1813 (test.test_locale.TestMiscellaneous) ... skipped
> 'test needs Turkish locale'
Yeah, looks like they're failing that part of the test. I'll run t
Steve Dower added the comment:
Oh man, this is too broken for me to think about today...
If someone feels like writing a Windows-specific normalize() function to
totally replace the Unix one, feel free, but it looks like we won't be able to
get away with anything less. The "ea
Steve Dower added the comment:
Huh, didn't realise those were always defined in stat.py.
Changing the test to "hasattr(... "st_file_attributes")" should be fine. I can
get to it in a couple of hours if nobody else gets there first.
--
_
Steve Dower added the comment:
Python 64-bit requires a 64-bit operating system, otherwise it doesn't have any
way to support the processor.
You should install 32-bit Python instead. The latest release is at
https://www.python.org/ftp/python/3.7.4/python-3.7.4-webinstall.exe but i
Steve Dower added the comment:
Your 3.7.1 install is for all users, and you're trying to install 3.7.4 just
for yourself.
This is supposed to work, so I'm not sure why it isn't. I haven't had time to
look more closely, but if you are able to install for all users (b
Steve Dower added the comment:
Is this an issue or a mismatched expectation?
Tests that assume realpath() on Windows is the equivalent of abspath() are of
course going to fail when we fix realpath(), and that's kind of what this one
looks like. Just because it doesn't have a d
Steve Dower added the comment:
And thanks for reporting this, Christoph. Issue37834 (and some of the issues
linked from there) is where we had most of the discussion about this change.
--
___
Python tracker
<https://bugs.python.org/issue37
Steve Dower added the comment:
Guessing we still need to fix this...
Julien - does this exception get raised through
Doc/tools/extensions/pyspecific.py? At the get_relative_uri() call (line 573)
perhaps?
If so, it seems like we could just handle it there and leave out any links that
New submission from Steve Dower :
When installed via the Store, "python3.8 -c 'import sysconfig'" crashes hard.
So far, I've discovered it's inside an os.path.realpath() call, and appears to
be a refcounting issue (double DECREF I think), but haven't gotten
301 - 400 of 5794 matches
Mail list logo