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
Steve Dower added the comment:
I forgot to initialize the result object in readlink() on Windows, and so when
we hit the failure path it returns garbage. Attempting to DECREF that garbage
fails.
The call to readlink() fails in the Store app because sys.executable is not a
readable link. It
Change by Steve Dower :
--
keywords: +patch
pull_requests: +15328
stage: test needed -> patch review
pull_request: https://github.com/python/cpython/pull/15663
___
Python tracker
<https://bugs.python.org/issu
Steve Dower added the comment:
New changeset 993ac92418839427d4068d6ae8e618b06b5d9294 by Steve Dower in branch
'master':
bpo-38020: Fixes crash in os.readlink() on Windows (GH-15663)
https://github.com/python/cpython/commit/993ac92418839427d4068d6ae8e618
Change by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Change by Steve Dower :
--
nosy: +Marcus.Smith, dstufft, ncoghlan, paul.moore, pradyunsg
___
Python tracker
<https://bugs.python.org/issue38028>
___
___
Pytho
Steve Dower added the comment:
> Maybe macOS on Azure is running slower and we should just increase the
> timeout?
(Aside, why don't the macOS buildbots have a tag saying that? Took me ages to
find them...)
I doubt it's running 6-7x slower. More likely something is ca
Change by Steve Dower :
--
assignee: -> steve.dower
___
Python tracker
<https://bugs.python.org/issue38030>
___
___
Python-bugs-list mailing list
Unsubscrib
Change by Steve Dower :
--
keywords: +patch
pull_requests: +15341
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/15681
___
Python tracker
<https://bugs.python.org/issu
Steve Dower added the comment:
New changeset 772ec0fad57412daa53d16d7019b6b2fe6e94942 by Steve Dower in branch
'master':
bpo-38030: Fix os.stat failures on block devices on Windows (GH-15681)
https://github.com/python/cpython/commit/772ec0fad57412daa53d16d7019b6b
Change by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Change by Steve Dower :
--
stage: patch review -> backport needed
versions: +Python 3.8, Python 3.9
___
Python tracker
<https://bugs.python.org/issu
Steve Dower added the comment:
I triggered automatic backports to see how they go. Doesn't necessarily mean
we'll merge them without looking more closely, but may as well check out what
our automated tools suggest.
--
___
Python track
Steve Dower added the comment:
Potentially an IDLE issue, if valid but incorrect code is causing it to break.
Sean, we'll need you to provide step-by-step instructions (including copies of
any files you are using) to see the problem ourselves, otherwise there's no way
we can he
Steve Dower added the comment:
New changeset 71ea688d662a74ddf39a3874e06c73e58df55c02 by Steve Dower (Ngalim
Siregar) in branch 'master':
bpo-11953: Extend table of Windows WSA* error codes (GH-15004)
https://github.com/python/cpython/commit/71ea688d662a74ddf39a3874e06c73
Change by Steve Dower :
--
pull_requests: +15395
pull_request: https://github.com/python/cpython/pull/15741
___
Python tracker
<https://bugs.python.org/issue11
Steve Dower added the comment:
New changeset a6563650c835d50f7302971a5b145e94f9d0dc68 by Steve Dower (Zackery
Spytz) in branch 'master':
bpo-37445: Include FORMAT_MESSAGE_IGNORE_INSERTS in FormatMessageW() calls
(GH-14462)
https://github.com/python/cpyt
Steve Dower added the comment:
New changeset e223ba13d8d871ee58570dfca4e82a591189cc2f by Steve Dower (Zackery
Spytz) in branch 'master':
bpo-32587: Make winreg.REG_MULTI_SZ support zero-length strings (#13239)
https://github.com/python/cpython/commit/e223ba13d8d871ee58570dfca4e82a
Steve Dower added the comment:
I'm going to merge and backport this all the way to 3.7. Adding a publicly
accessible dict for use in Python code should be 3.9 only.
--
versions: +Python 3.7, Python 3.8
___
Python tracker
<https://bugs.py
Steve Dower added the comment:
New changeset 19052a11314e7be7ba003fd6cdbb5400a5d77d96 by Steve Dower (Zackery
Spytz) in branch 'master':
bpo-37705: Improve the implementation of winerror_to_errno() (GH-15623)
https://github.com/python/cpython/commit/19052a11314e7be7ba003fd6cdbb54
Steve Dower added the comment:
Declaring this out-of-scope for 2.7, unless someone wants to insist (and
provide a PR).
--
resolution: -> fixed
stage: backport needed -> resolved
status: open -> closed
versions: -Python 2.7
___
Pytho
Steve Dower added the comment:
This introduced a new warning:
c:\projects\cpython\pc\winreg.c(775): warning C4267: '-=': conversion from
'size_t' to 'int', possible loss of data
[C:\Projects\cpython\PCbuild\pythoncore.vcxproj]
I'll fix it (after I&
Steve Dower added the comment:
Going to say this doesn't qualify for 2.7 (unless someone insists and provides
a PR), given the lack of reports that anything is actually impacted.
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
versions
Change by Steve Dower :
--
assignee: -> steve.dower
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
versions: +Python 3.8, Python 3.9 -Python 3.3
___
Python tracker
<https://bugs.python
401 - 500 of 6138 matches
Mail list logo