Steve Dower added the comment:
Please test your extensions thoroughly when building with MinGW, especially if
you're planning on distributing wheels on PyPI.
CPython assumes an ABI compatible with what MSVC would have built, and mixing
ABIs will lead to crashes or data corruption. (I&
Steve Dower added the comment:
Apparently the version detection needs to be changed, and I'll need to figure
out what the WS prerequisites are for installing the UCRT update.
It's entirely possible that there's an update you genuinely need to install
3.5, as there would be on a
Steve Dower added the comment:
Have you actually seen this occurring back to 3.3? I'd expect something like
this to either be pre-3.5 or post-3.5, but not both.
--
___
Python tracker
<http://bugs.python.org/is
Changes by Steve Dower :
--
nosy: -steve.dower
___
Python tracker
<http://bugs.python.org/issue23551>
___
___
Python-bugs-list mailing list
Unsubscribe:
Steve Dower added the comment:
If the comment is in the sources, presumably it's also handled correctly. But
it does seem like there's potential here for simultaneous thread creation and
first-time calls into OS locale functions to cause a deadlock.
I'll email the CRT team an
Steve Dower added the comment:
It's been fixed, just figuring out when the update will be available, or how to
get it if it already is.
Jeremy - how up to date is your build machine? It's likely this fix will come
through Windows Update for most users, but since you're running
Steve Dower added the comment:
Thanks for the report
You should have another log file near the one you attached (in your
%LocalAppData%\Temp directory) with "core_JustForMe" in the name. Could you put
that one up as well?
--
___
Pyth
Steve Dower added the comment:
(Obligatory recommendation that you use Cython rather than ctypes, especially
if you're going to require your users to have a compiler handy - in general
this isn't recommended on Windows at all; make sure you distribute wheels if
you want to make
Steve Dower added the comment:
Oh, and just saw that you're apparently asking about 2.7. I was referring to
the 3.5 sources for distutils, so some things may be different in 2.7. But I
doubt distutils has changed that much since then.
--
___
P
Steve Dower added the comment:
Locking inversion I think, I don't have the bug details handy.
The fix went out over Windows Update recently, but that's only for the release
version of the runtime. The fixed debug version should have been installed with
VS 2015 Update 1.
However,
Steve Dower added the comment:
The deadlock is between a CRT thread initialization lock and Windows's
process-wide module initialization lock. So if anything is being loaded on
demand by the watchdog thread, it's probably locked too (and that could be
within the CRT or the OS, so n
Steve Dower added the comment:
So you've still got the old ucrtbased.dll on the buildbot, which is why we're
still seeing the issue. Because it's a different OS I'm not surprised to see a
difference between ucrtbase.dll instances.
There should be an installer for the deb
Steve Dower added the comment:
Ergh... that's awkward (but it explains why some of my own machines are missing
bits).
Victor, I'll get back to you about the watchdog once I'm at an actual PC. This
week I'm at a conference.
--
__
Steve Dower added the comment:
Windows-only tests are fine, and certainly better than adding a new parameter
just for testing.
Forward slashes are valid path segment separators on Windows 99% of the time,
so that'll be why nobody has complained. Personally I prefer consistency, but
Steve Dower added the comment:
See issue23606.
Not only is your expectation incorrect, you wouldn't get sensible behavior if
it was. You should generally avoid using this function, and use the msvcrt
module or ctypes.cdll.msvcrt (if you don't need to interoperate with CPyth
Steve Dower added the comment:
That's a good idea. I don't know that it's trivial to do, but at build is going
to be the easiest time. I'll take a look.
--
___
Python tracker
<http://bug
Steve Dower added the comment:
FWIW, I'm also against enabling it by default due to the extended build time.
There are plenty of reasons to build Python with the non-debug ABI that don't
require extended optimizations. Production builds are the exception I believe,
no
Steve Dower added the comment:
> File "C:\Program Files\Python35\lib\asyncio\windows_events.py", line 606, in
> _register_with_iocp
> _overlapped.CreateIoCompletionPort(obj.fileno(), self._iocp, 0, 0)
I don't think there's any case where this is go
Steve Dower added the comment:
I don't think there's actually a way to fix this - the current working
directory is inherited from the current process in the "Open with" case (FWIW,
#3 also produces the same result as #1).
I suspect it would need a fix in Windows, which is
Steve Dower added the comment:
Wouldn't be surprised to see differences between Win7 and Win10 - the "current
working directory" concept has essentially been deprecated in Windows for a
while (at least through the GUI).
Registering a system file association is something we c
Steve Dower added the comment:
I'm neutral about applying it to 2.7, though I can see the value in doing so.
For 3.5 it definitely has to modify _msvccompiler - the other two modules are
just left behind to distract people apparently :) (but actually in case someone
accidentally(?)
Steve Dower added the comment:
Pipes and file handles are equivalent in Windows, but socket handles are their
own namespace and have their own functions. Some Python code will switch
between them automatically to make socket functions work with file descriptors,
but generally I'd e
Steve Dower added the comment:
As I recall, the tool is ready to go. The problem is the argument over what to
do with all the APIs that currently are incorrect. Zach had a list at PyCon
last year, and the consensus seemed to be that "someone" should figure out
whether each API
Steve Dower added the comment:
I was thinking more like this:
if DISTUTILS_USE_SDK:
assume PATH is configured
execute os.getenv("CC", "cl.exe") directly
else:
find VS in the registry
execute "cl.exe" etc.
The only change here from the current
Steve Dower added the comment:
> Some quick Googling strongly suggests there's no reasonably general way to
> overcome the Windows-defined MAXIMUM_WAIT_OBJECTS=64 for implementations that
> call the Windows WaitForMultipleObjects().
The recommended way to deal with this is to s
Changes by Steve Dower :
--
stage: -> needs patch
type: -> behavior
versions: +Python 3.6
___
Python tracker
<http://bugs.python.org/issue26903>
___
___
Steve Dower added the comment:
The PEP doesn't really apply to 2.7, apart from explicitly expecting tools to
still detect 32-bit and 64-bit versions despite sys.winver being the same.
As for sys.winver being incorrect in 2.7.11, that's been fixed (issue25824),
but wasn't
Steve Dower added the comment:
I wonder if it's related to issue26882? Seems unlikely as they are very
different versions, but it's possible.
--
___
Python tracker
<http://bugs.python.o
Steve Dower added the comment:
The "python35.zip" file contains the standard library and it needs to be
renamed "python36.zip".
Apparently I hardcoded this somewhere instead of inferring it from the current
version... I'll fix.
--
assignee: -> steve
Changes by Steve Dower :
--
resolution: -> fixed
stage: -> resolved
status: open -> closed
___
Python tracker
<http://bugs.python.org/issue27053>
___
Steve Dower added the comment:
LGTM.
The launcher is in a bit of a funny place wrt versioning, as it is now somewhat
independent from the Python version it is installed with:
* won't be downgraded by 3.5 (3.4 will still stomp over the file itself)
* has a separate entry in Programs &
Steve Dower added the comment:
It'll change their default behavior if they get an alpha release of 3.6 though,
and uninstalling the alpha won't revert it.
That said, I don't really feel like the launcher is an "alpha" product, even if
the core Python engine is in th
Steve Dower added the comment:
Unfortunately, the current MSI for the launcher doesn't have a great interface
when used separately from the main installer. It happens to be more functional
than the rest (i.e. double-clicking it will give you a very quick per-user
install, whereas the
Steve Dower added the comment:
Looks good to me. (In case someone else applies the patch, there are a few
mixed tab/spaces that should be fixed.)
I'm personally okay with adding this to 3.5, but technically I think it's a new
feature and should be in 3.6 only. Anyone else have an op
Steve Dower added the comment:
IIRC, the preferred typedef is ULONGLONG, but it's not really a big deal.
Avoiding new header files is a good enough reason.
I think Paul's right about 3.6 only. We shouldn't encourage code that won't
work downlevel within the same version, a
Steve Dower added the comment:
Changing a return value type without notice certainly can't go into a
maintenance release. I'd assumed an extra import too, but since it's
transparent this is 3.6 only (definitely not a security fix, so 2.7 isn't up
for discussion).
New submission from Steve Dower:
In some restricted server scenarios, it is not possible to enumerate the
Windows machine certificate store. A PermissionError is raised and the
operation aborted.
Instead, we should simply return no certificates from
_load_windows_store_certs. This will most
Steve Dower added the comment:
Added a patch against 3.5 that handles PermissionError and warns about the
failure.
I think this should be applied against 2.7, 3.5 and 3.6, and that it's
unfortunately untestable (without adding extra API to force it to fail). Any
con
Steve Dower added the comment:
I'd appreciate at least one other person looking over my commit before I close
this, just to confirm that the notes I added to the docs are fine.
--
stage: -> commit review
___
Python tracker
<http://bugs
Steve Dower added the comment:
I suspect PYTHONHOME is the problem and not the installation method. There have
been thousands of (presumably successful) installations of Python 3.5, and I
expect most of them are just for the current user (as that's the default). If
these were all failin
Steve Dower added the comment:
Thanks!
I don't think we need to mention doc changes in whatsnew, but I've made the
description more general and added the "New in version 3.6" notes to the winreg
page.
The formatting was presumably copied from the surrounding code,
Steve Dower added the comment:
One slight change to the patch for 2.7 - has to catch OSError.
Just realised that I forgot to mention the reason we shouldn't just let the
exception propagate out is that we then never load certificates specified by
the SSL_CERT_FILE variable. Handlin
Changes by Steve Dower :
--
resolution: -> fixed
stage: commit review -> resolved
status: open -> closed
___
Python tracker
<http://bugs.python.or
Changes by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<http://bugs.python.or
Steve Dower added the comment:
I posted these commands above (modulo version number). If you have MinGW and
binutils then it should Just Work, but I'm not very experienced with the range
of installations you could have, so you may need to track down the gendef and
dlltool tools:
g
Steve Dower added the comment:
Two posts ago: "The caller to getfilesize is only using it to check whether
it's small enough to load the file into memory all at once, so "too big" is an
okay response (that function is in marshal.c and no
Steve Dower added the comment:
You're right, SuppressCrashReport also makes more sense here, though it still
needs to be used explicitly in every new process. New patch attached.
--
Added file: http://bugs.python.org/file38210/23314_tf_inhert_check_2
Steve Dower added the comment:
Not sure how helpful this is, but the following code compiles fine for me (VC
12.0 and 14.0):
#include
char myStr[];
struct { char* a; } myStruct = { myStr };
int main() {
printf("%s", myStruct.a);
return 0;
}
static char myStr[] = "1
Steve Dower added the comment:
You need to leave static out of the forward definition and then add it in the
initialization. The variable is not accessible from other object files - I
checked.
"const char[]" and "static const char[]" should work the same, though
Steve Dower added the comment:
Thanks Davin.
I got onto a Windows 8 machine and confirmed the behaviour changed there, so
the version check in my patch is correct. Anyone opposed to the extra logic and
version check?
--
___
Python tracker
<h
Steve Dower added the comment:
Anyone got a chance to double-check my patch for me? I think it's fine, unless
someone really wants me to turn all the "#ifdef CMSG_LEN" checks into "#ifdef
HAVE_CMSG" (which I *think* would require autoconf updates, which I am t
New submission from Steve Dower:
(Now that VS 2015 CTP 6 is public, here's the second half of #23314.)
In posixmodule.c is a big section with the following comment:
/* Microsoft CRT in VS2005 and higher will verify that a filehandle is
* valid and raise an assertion if it isn't.
Changes by Steve Dower :
Added file: http://bugs.python.org/file38239/23524_1.patch
___
Python tracker
<http://bugs.python.org/issue23524>
___
___
Python-bugs-list mailin
Steve Dower added the comment:
The .px* extensions are for testing builds without messing up your actual file
associations. I ported them forward from the old installer, but most people
will never see them.
--
___
Python tracker
<h
Steve Dower added the comment:
There's also a PerceivedType property which we could set to make sure that
archivers correctly light up. I think that'll get you the built-in Extract
command. Most tools appear on every file and will try and read it to see what
commands make sense,
Steve Dower added the comment:
I'll get it.
--
___
Python tracker
<http://bugs.python.org/issue23465>
___
___
Python-bugs-list mailing list
Unsubscr
Steve Dower added the comment:
It's in, and we are of course free to modify this further if virtualenv starts
including pyvenv.cfg files or some other way to resolve the version number
without launching it.
--
___
Python tracker
Steve Dower added the comment:
Turns out the old code no longer compiles without this change, as the internal
variable we were previously using is no longer exported from the CRT.
Can I get a review please?
--
nosy: +larry, serhiy.storchaka
priority: high -> critical
type: cr
Steve Dower added the comment:
Larry - this may hold up the next release, so just keeping you in the loop. You
don't have to review (though there are many changes in shared code, so you may
not be useless :) )
--
___
Python tracker
Steve Dower added the comment:
Just the current thread. When set, it overrides the global setting.
--
___
Python tracker
<http://bugs.python.org/issue23
Steve Dower added the comment:
Ah, but the bit you quoted is referring to the assert dialogs, which only exist
in debug builds. The invalid parameter handler will normally kill the process
even in release builds.
--
___
Python tracker
<h
Steve Dower added the comment:
#4804 has most of the prior discussion, but here's some code that will cause
the process to terminate:
import os
os.close(3)
The instant termination rather than OSError is why _PyVerify_fd exists at all,
and that's only there because when the beh
Steve Dower added the comment:
I considered that, but then we'll be disabling the handler for calls into
external modules (assuming whatever pyd layer exists is doing its job
correctly), which is exactly where the error is most rel
Steve Dower added the comment:
That's a pretty good summation, though it misses two points.
1. _PyVerify_fd no longer compiles.
2. The process will terminate in both release builds and debug builds. (In
debug builds you also get a dialog letting you attach a debugger, unless those
Steve Dower added the comment:
The latest wine may not be up to date enough, since the new installer (and new
Python) depend on MSVC 14.0, which is still only in preview.
Of course, there could be other issues, but without any more information it's
very difficult to act on
Steve Dower added the comment:
New patch, which should cover all the other uses of _PyVerify_fd outside of
posixmodule.
I've moved _PyVerify_fd into fileutils (but left _PyVerify_fd_dup2 in
posixmodule, as it's basically deprecated at this point).
_Py_VERIFY_FD is now in fileutils
Steve Dower added the comment:
The new installer can also be used for that, and it's actually documented now
(at least in the CHM - doesn't seem to have made it onto the website yet). I
personally install it onto many computers at once fairly often, so I'm going to
make sure t
Steve Dower added the comment:
You should just run it directly - it isn't an MSI.
As I said, wine is probably not compatible with the new CRT version yet, but
without at least an error message, it's impossible to tell.
--
___
Python trac
Steve Dower added the comment:
Builds fine on Ubuntu (sample size = 1, but it's about the best I can manage
myself :) )
--
___
Python tracker
<http://bugs.python.org/is
Steve Dower added the comment:
Yeah, I don't get anything helpful out of that, except that it seems wine
hasn't implemented some of the APIs that it needs to run the installer. You may
get a more helpful response from one of their devs, but I'm well out of
Changes by Steve Dower :
--
assignee: -> steve.dower
components: +Library (Lib), Windows -Extension Modules
nosy: +tim.golden, zach.ware
stage: needs patch -> patch review
___
Python tracker
<http://bugs.python.org/i
Steve Dower added the comment:
No current reasons I'm aware of (apart from not having a working up-to-date
Windows buildbot right now - blocked on #23524) so I'd say go ahead. Pull it
out and see what breaks.
The fact that the comment says "pycapsule.o" and not "pycap
Steve Dower added the comment:
We'd need a contributor agreement from Jon anyway, so unless he rejoins this
thread and is willing to sign that, there's little point looking at the patch.
--
___
Python tracker
<http://bugs.python.
Steve Dower added the comment:
Glad you got it sorted out. I've done exactly the same thing too.
The 3.5 installer is designed to have no impact on earlier versions, and also
has different default directories for 32-bit vs. 64-bit, which will help
prevent these problems in the f
Steve Dower added the comment:
The _WINSOCK_DEPRECATED_NO_WARNINGS question is still open, but the rest of the
deprecations should be clear now.
--
___
Python tracker
<http://bugs.python.org/issue23
Changes by Steve Dower :
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<http://bugs.python.or
Changes by Steve Dower :
--
resolution: -> out of date
status: open -> closed
___
Python tracker
<http://bugs.python.org/issue11097>
___
___
Python-bugs-
Steve Dower added the comment:
Since we're doing alpha 2 this weekend, I'm keen to get this fix in. Any
comments from anyone? Or are people just generally okay with me checking it in
and relying on the buildbots?
--
___
Python trac
Steve Dower added the comment:
Happy to discuss further. I'll try and get a new patch done today that disables
the handler for any threads Python creates a thread state for. The change to
_Py_VERIFY_FD will still be there, but the begin/end suppress will go (using
the verify functi
Steve Dower added the comment:
Added a patch that disables the invalid parameter handler in new_threadstate()
so that all Python threads are protected from termination.
_PyVerify_fd is still moved into fileutils.c, but _Py_BEGIN/END_SUPPRESS_IPH
and _Py_VERIFY_FD are gone. For VC14
Steve Dower added the comment:
New patch based on review feedback - main change is to _Py_fstat to use errno
on Windows instead of GetLastError().
Where to put the invalid parameter handler is still an open question. Victor is
not keen on adding a new file, while I don't really want it
Steve Dower added the comment:
Thanks. I'll be watching the buildbots closely, but hopefully there's no need
to push quick fixes with the reduced change.
23524_2.patch is still on the table as the last-known-good fix, but I'll update
it as soon as I can to take into account w
Steve Dower added the comment:
This is because of the _Py_fstat change to use errno instead of GetLastError.
It seems other callers are relying on GetLastError to raise the correct
exception, and that seems to be the standard throughout posixmodule as far as
stat calls are concerned.
Best
Steve Dower added the comment:
I didn't know about winerror_to_errno(), so that might help. But there are
other dependencies on _Py_fstat's error code throughout posixmodule.c, so I
don't think this is sufficient. (For example, patherror() is already switched
on OS to handle
New submission from Steve Dower:
With the changes to the CRT on Windows, it no longer makes any sense to call
find_library("c") or ("m") as there is no single C Runtime DLL. The new
structure has a grouped and layered approach that is better for versioning, so
we now lin
Steve Dower added the comment:
That was my original thought, but it's going to lose all of its named exports
and effectively become useless for this.
--
___
Python tracker
<http://bugs.python.org/is
New submission from Steve Dower:
Currently, 3.5.0a1 needs to be manually removed either before or after
installing 3.5.0a2 (after *should* be okay, but before is preferable).
Installing a later version should detect and remove the earlier one. This is
obviously an installer bug
Steve Dower added the comment:
Looks like the way I was calculating the version number of the installer didn't
take into account a2 and a3 - we had 3.5.0.10 for 3.5.0a*.
I think switching to $(Major).$(Minor).$(Field3Value).0 is correct here - this
should give us 3.5.100.0, 3.5.
Steve Dower added the comment:
Two parts to this - first that I was using the wrong version, but also the
wrong upgrade code for the bundle. Those are both fixed now, but it does mean
that both 3.5.0a1 and a2 will need to be manually uninstalled.
It is possible to add a list of the upgrade
Steve Dower added the comment:
If you look in your AppData\Local\Temp directory then you should find a whole
pile of log files. Zipping those up and posting them here or emailing them to
me would be great.
It sounds like the CRT update didn't install, since it's supposed to include
Steve Dower added the comment:
Setuptools just does a monkey patch of distutils, so importing it is
sufficient. Or you can find the patching in the setuptools source and copy it
into your setup.py file.
--
___
Python tracker
<h
Steve Dower added the comment:
I definitely don't want the whole directory, especially from Windows 7 :)
(Later versions are better at cleaning up unused files)
I'll take a look once I get to work. Thanks
--
___
Python trac
Steve Dower added the comment:
Python does not support being built with MinGW, but we have "support" to build
extensions with MinGW. It isn't great support, and we're open to
patches/contributions (none of our core Windows devs use MinGW AFAIK).
And yes, VC is differen
Steve Dower added the comment:
You could also distribute wheels for your Windows users, which they will
appreciate much more than being told to install MinGW. (If you do go the latter
route, WinPython is a pretty good distribution that sets that stuff up fairly
transparently
Steve Dower added the comment:
> Very ugly :-)
And also incorrect on 64-bit interpreters (but not 32-bit interpreters on
64-bit machines, oddly enough), and machines where the user has installed the
compiler just for themselves.
I'd seriously suggest copying the monkey patch fro
Steve Dower added the comment:
Hard to be sure. It was my contribution originally, and I'm okay to remain
unattributed, but I've nosied Jason so he can answer authoritatively
(especially since he rewrote most of my original contribution to make it work
better :) ).
-
Steve Dower added the comment:
Well that was embarrassing, but it's fixed now :)
Larry, would you like me to rebuild the installer with the fix in it?
--
nosy: +larry
___
Python tracker
<http://bugs.python.org/is
Steve Dower added the comment:
FYI, the docs in the Python 3.5.0a2 CHM are newer than what's on docs.p.o,
specifically the "Using Python on Windows" section. (Apparently I need to do
something other than commit changes to get the website updated?)
https://hg.python.org/cpyth
Steve Dower added the comment:
AIUI, by the time Windows 10 or Visual Studio 2015 releases (since it's now a
Windows component, it's technically on a different schedule, even though the
main developer is still working against Visual Studio's schedule) and probably
sooner (VS
Steve Dower added the comment:
Done, though I may have corrupted alpha 1 in the process :(
New MD5s and sizes:
python-3.5.0a2.exe 9683ecb837ffa2dd321d564042a90d64
28,762,032
python-3.5.0a2-webinstall.exe b717713c58d0fcabf69c4fdc67a2e581885,256
python-3.5.0a2-amd64
5301 - 5400 of 5794 matches
Mail list logo