[issue18771] Reduce the cost of hash collisions for set objects
Raymond Hettinger added the comment: Also, cachegrind shows a 3% improvement in the branch misprediction rate (from 9.9% to 9.6%). ==82814== Mispred rate: 9.9% ( 9.4% + 15.5% ==82812== Mispred rate: 9.6% ( 9.1% + 14.1% ) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18771 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18712] Pure Python operator.index doesn't match the C version.
Armin Rigo added the comment: For completeness, can you post one line saying why the much simpler solution range(a).stop is not accepted? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18712 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18712] Pure Python operator.index doesn't match the C version.
Serhiy Storchaka added the comment: Here is a variant with getattr_static(). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18712 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18712] Pure Python operator.index doesn't match the C version.
Changes by Serhiy Storchaka storch...@gmail.com: Added file: http://bugs.python.org/file31353/operator_index_4.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18712 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18712] Pure Python operator.index doesn't match the C version.
Serhiy Storchaka added the comment: For completeness, can you post one line saying why the much simpler solution range(a).stop is not accepted? Because it is implementation detail. The range() function if it will be implemented in Python needs operator.index(). The main purpose of adding Python implementation of the operator module was to provide an implementation which can be used in alternative Python implementations (e.g. PyPy). The CPython itself doesn't use it. And now I doubt that such complicated implementation will be helpful. Perhaps we need a builtin which exposes _PyType_Lookup() at Python level. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18712 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18712] Pure Python operator.index doesn't match the C version.
Armin Rigo added the comment: Ah. If that's the only reason, then that seems a bit like misguided effort... For alternative implementations like PyPy and Jython, the _operator module is definitely one of the simplest ones to reimplement in RPython or Java. Every function is straightforwardly translated to just one call to an internal function -- that we need to have already for the rest of the language. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18712 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18712] Pure Python operator.index doesn't match the C version.
Armin Rigo added the comment: ...but yes, it's very obvious that exposing _PyType_Lookup() to pure Python is the right thing to do here. This is a central part of the way Python works internally, after all. Moreover, sorry about my previous note: if we started today to write PyPy, then it would be enough to have the pure Python version of operator.index(), based on the newly exposed _PyType_Lookup(). With PyPy's JIT, there is no real performance loss. Some of my confusion came from the fact that there *would* be serious performance loss if we had to work with the pure Python looping-over-__mro__-and-fishing-in-__dict__ version. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18712 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17400] ipaddress.is_private needs to take into account of rfc6598
Freek Dijkstra added the comment: I was about to make the same suggestion as the OP. Most users think of private IP addresses as NATed IP addresses. I think the technical term is forwardable, but not globally unique. Thus, the method of least surprise would be that indeed the is_private() method returns True for 100.64.0.0/10. As for the RFC, these addresses are indeed the same, that they are both NATted. They are different that for RFC 1918 addresses, it is the end-site (home network, or office network) that does the NATing, while for RFC 6598, it is the ISP that does the NATing. I think the confusing comes from the term is_private(). Formally, this only applies to RFC 1918 addresses, but it seems that this library does not take a formal but pragmatic approach. Otherwise, they would have added the methods is_forwardable(), is_global() and is_reserved() in line with what is the official specification at http://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml. I prefer a pragmatic approach, and the term is_natted() or is_private() because that is what most programmers are interested in. Those few programmers that truly understand the difference between all these IP ranges (e.g. those who write bogon filter software), will simply avoid these methods and just use the rest of the library. So +1 for this request. -- nosy: +macfreek ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17400 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18771] Reduce the cost of hash collisions for set objects
STINNER Victor added the comment: Instead of only a second lookup, could you try for example 4 lookup and align j to fit in a cache line? Or do you expect more collisions with 4 contiguious lookup? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18771 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18774] There is still last bit of GNU Pth code in signalmodule.c
Roundup Robot added the comment: New changeset 646c2388d8f5 by Christian Heimes in branch 'default': Issue #18774: Remove last bits of GNU PTH thread code, patch by Vajrasky Kok. http://hg.python.org/cpython/rev/646c2388d8f5 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18774 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Robin Schreiber added the comment: Antoine, regarding that the last pending problem with the patch is related to the NULL checking of FindModule, I would be inclined to include your proposed helper API. I see that issue18710 has not been included into the trunk yet, but I think this is mostly due to the additional _csv patch and not because of the proposed API itself. So I will upload a corrected version of the patch soon, but it will rely on issue18710 to be accepted beforehand... -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15849 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18774] There is still last bit of GNU Pth code in signalmodule.c
Christian Heimes added the comment: Thanks! Three comments still refer to GNU pth: configure.ac:# (e.g. gnu pth with pthread emulation) Python/condvar.h: library (e.g. gnu pth in pthread emulation) */ Python/thread.c: library (e.g. gnu pth in pthread emulation) */ thread.c and condvar.h implement a fallback for libraries that don't provide _POSIX_THREADS. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18774 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18606] Add statistics module to standard library
Steven D'Aprano added the comment: Since I can't respond to the reviews, here's a revised patch. Summary of major changes: - median.* functions are now median_* - mode now only returns a single value - better integrate tests with Python regression suite - cleanup tests as per Ezio's suggestions - remove unnecessary metadata and change licence -- Added file: http://bugs.python.org/file31354/statistics.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18606 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18606] Add statistics module to standard library
Steven D'Aprano added the comment: On 15/08/13 22:58, ezio.melo...@gmail.com wrote: http://bugs.python.org/review/18606/diff/8927/Lib/statistics.py#newcode277 Lib/statistics.py:277: assert isinstance(x, float) and isinstance(partials, list) Is this a good idea? I think so add_partials is internal/private, and so I don't have to worry about the caller providing wrong arguments, say a non-float. But I want some testing to detect coding errors. Using assert for this sort of internal pre-condition is exactly what assert is designed for. http://bugs.python.org/review/18606/diff/8927/Lib/test/test_statistics.py#newcode144 Lib/test/test_statistics.py:144: assert data != sorted(data) Why not assertNotEqual? I use bare asserts for testing code logic, even if the code is test code. So if I use self.assertSpam(...) then I'm performing a unit test of the module being tested. If I use a bare assert, I'm asserting something about the test logic itself. http://bugs.python.org/review/18606/diff/8927/Lib/test/test_statistics_approx.py File Lib/test/test_statistics_approx.py (right): http://bugs.python.org/review/18606/diff/8927/Lib/test/test_statistics_approx.py#newcode1 Lib/test/test_statistics_approx.py:1: Numeric approximated equal comparisons and unit testing. Do I understand correctly that this is just an helper module used in test_statistics and that it doesn't actually test anything from the statistics module? Correct. http://bugs.python.org/review/18606/diff/8927/Lib/test/test_statistics_approx.py#newcode137 Lib/test/test_statistics_approx.py:137: # and avoid using TestCase.almost_equal, because it sucks Could you elaborate on this? Ah, I misspelled TestCase.AlmostEqual. - Using round() to test for equal-to-some-tolerance is IMO quite an idiosyncratic way of doing approx-equality tests. I've never seen anyone do it that way before. It surprises me. - It's easy to think that ``places`` means significant figures, not decimal places. - There's now a delta argument that is the same as my absolute error tolerance ``tol``, but no relative error argument. - You can't set a per-instance error tolerance. http://bugs.python.org/review/18606/diff/8927/Lib/test/test_statistics_approx.py#newcode241 Lib/test/test_statistics_approx.py:241: assert len(args1) == len(args2) Why not assertEqual? As above, I use bare asserts to test the test logic, and assertSpam methods to perform the test. In this case, I'm confirming that I haven't created dodgy test data. http://bugs.python.org/review/18606/diff/8927/Lib/test/test_statistics_approx.py#newcode255 Lib/test/test_statistics_approx.py:255: self.assertTrue(approx_equal(b, a, tol=0, rel=rel)) Why not assertApproxEqual? Because I'm testing the approx_equal function. I can't use assertApproxEqual to test its own internals. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18606 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18178] Redefinition of malloc(3) family of functions at build time
Christian Heimes added the comment: Thx for the fix! -- nosy: +christian.heimes resolution: - fixed stage: commit review - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18178 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Robin Schreiber added the comment: Updated patch accordingly. Regarding the problem in http://mail.python.org/pipermail/python-dev/2013-August/127862.html , it can indeed be solved by returning the already existing module object, if PyInit is called multiple times. I followed the discussion and can not make out a definite decision on how to handle this. My understanding is, that up to now extension modules are only supposed to be initialized once per interpreter, so the check I have included in, for example issue15651, makes sense from this perspective. There have been reasonable desires (from Eli) to make the module state separate from each imported module within the interpreter, but this would involve more drastic changes and will be rather part of future Python releases. Should we therefore (for now) make this a mandatory PEP3121 convention and include it into the xxmodule.c refactoring? -- Added file: http://bugs.python.org/file31355/xxmodule_pep3121-384_v2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15849 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Antoine Pitrou added the comment: Updated patch accordingly. I don't understand why your patch still has a module state while all objects can be looked up in the module dict. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15849 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18747] Re-seed OpenSSL's PRNG after fork
Christian Heimes added the comment: The lastest patch mixes seconds into the time field of seed. Python 3.3+ support only NT and POSIX threads. 2.7 and 3.2 have GNU pth and other threading API but I neither have a system to test other threading libs nor the motivation to port my patch to an ancient threading library. It's not just RAND_bytes(). OpenSSL's PRNG is also used by OpenSSL internally, e.g. as entropy source for SSL/TLS handshakes. How many function do you want to patch? -- Added file: http://bugs.python.org/file31356/openssl_prng_atfork4.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18747 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18742] Abstract base class for hashlib
Christian Heimes added the comment: Thanks Gregory! Have you had a chance to read http://www.python.org/dev/peps/pep-0452/ , too? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18742 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Robin Schreiber added the comment: Everything except for the Xxo_Type. But you are right. Then again, why are these global static variables from the start? Isn't this because xxmodule is some kind of dummy module that is supposed to demonstrate some coding conventions on how to build extension modules? Another possibility could be the faster lookup of the variables, which is now of course invalidated if we store it within the module state. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15849 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Antoine Pitrou added the comment: Everything except for the Xxo_Type. But you are right. Then again, why are these global static variables from the start? Isn't this because xxmodule is some kind of dummy module that is supposed to demonstrate some coding conventions on how to build extension modules? I don't really know what the purpose of xxmodule is. But I don't think redundant storage is a good idea, especially with different lifetimes :-) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue15849 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18603] PyOS_mystricmp unused and no longer available
Christian Heimes added the comment: Here is a simple patch based on the approach in Objects/object.c -- components: +Interpreter Core keywords: +patch stage: - patch review Added file: http://bugs.python.org/file31357/18603.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18603 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18748] libgcc_s.so.1 must be installed for pthread_cancel to work
Charles-François Natali added the comment: On Linux, you can try to set the LD_PRELOAD environment variable as a workaround. LD_PRELOAD=libgcc_s.so.1 python bug.py You may need to specify the full path. I don't think that'll work. Despite its name, using LD_PRELOAD won't preload the library. It will only be loaded upon dlopen(). It just makes sure that symbols will be looked for in this library first, even before the libc. Because in python2.x it wasn't loaded at runtime. Yes it was. As explained above, you can get the very same crash upon pthread_exit(). Alright ... would it be a very big hack to preload libgcc in the thread module (at import time) ? IMO yes, but if someone writes a patch, I won't oppose to it :-) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18748 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18678] Wrong struct members name for spwd module
Vajrasky Kok added the comment: Attached the patch to accommodate R. David Murray's request. Accessing invalid attributes such as sp_nam and sp_pwd from spwd tuple will generate deprecation warning message. Also, I added test function so we can run spwd module directly. This is useful because I don't think we can unit test spwd module. (This module can be used only if you are root.) The Modules/spwdmodule.c file is supposed to be Modules/_spwdmodule.c following tradition but that will make the review process harder. If this patch is good to go, I'll rename the module file later. -- Added file: http://bugs.python.org/file31358/spwd_struct_members_name_fix_v2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18678 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18418] Thread.isAlive() sometimes True after fork
Changes by Charles-François Natali cf.nat...@gmail.com: -- stage: - patch review ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18418 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18562] Regex howto: revision pass
Ezio Melotti added the comment: #17441 also has a discussion about regex caching that might be relevant. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18562 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17400] ipaddress.is_private needs to take into account of rfc6598
pmoody added the comment: I'm still not convinced. The rfc still says in essence It's not private like rfc1918 space, but sometimes certain people can treat it similarly. and I think it would be pretty surprising for ipaddress to return True if it's not a network operator running the query. Since we have no way of knowing that, I'm extremely disinclined to make this change. A more formal solution would be all of the possible is_RFC methods, but that doesn't seem to be worth the effort. -- resolution: - rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17400 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17276] HMAC: deprecate default hash
Christian Heimes added the comment: Here is a patch that deprecates MD5 has implicit default hashing algorithm. It also implements digestmod string support. PEP 247 doesn't define the digestmod argument of keyed hashing algorithms. I'm going to define it in PEP 452. -- keywords: +patch nosy: +akuchling, gregory.p.smith stage: needs patch - patch review Added file: http://bugs.python.org/file31359/17276.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17276 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18775] name attribute for HMAC
New submission from Christian Heimes: In issue #18532 name attribute was officially documented and tested for hashing objects. PEP 247 considers HMAC as keyed hashing algorithm. Therefore I suggest that HMAC object should provide the same interface. It's a bit unfortunate that HMAC has a blocksize attribute for the default blocksize but the API defines a block_size attribute. -- components: Library (Lib) files: hmac_name.patch keywords: patch messages: 195570 nosy: christian.heimes, gregory.p.smith, jason.coombs priority: normal severity: normal stage: patch review status: open title: name attribute for HMAC type: enhancement versions: Python 3.4 Added file: http://bugs.python.org/file31360/hmac_name.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18775 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18771] Reduce the cost of hash collisions for set objects
Raymond Hettinger added the comment: Instead of only a second lookup, could you try for example 4 lookup and align j to fit in a cache line? Accessing 4 entries per probe is a tempting line of development, but will be subject to diminishing returns (second and third collisions aren't frequent). I like the idea of aligning j to fit in a cache line, but the computation would need to be cheap and portable (standard C with no pointer tricks that rely on non-guaranteed behavior). Have you had a chance to run the benchmarks on your machine? I'm curious how this works out on other processors and with other compilers. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18771 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18771] Reduce the cost of hash collisions for set objects
Changes by Jesús Cea Avión j...@jcea.es: -- nosy: +jcea ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18771 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18771] Reduce the cost of hash collisions for set objects
Raymond Hettinger added the comment: Attaching an updated patch (same algorithm but with a little more factoring to make the patch smaller). -- Added file: http://bugs.python.org/file31361/so2.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18771 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18743] References to non-existant StringIO module
Serhiy Storchaka added the comment: Here is a patch which fixes references to StringIO in docstrings and comments and removes redundant code. -- Added file: http://bugs.python.org/file31362/src_StringIO_refs.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18743 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18772] Fix gdb plugin for new sets dummy object
Antoine Pitrou added the comment: See also the python-dev thread about other drawbacks of the new dummy approach: http://mail.python.org/pipermail/python-dev/2013-August/128025.html -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18772 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18606] Add statistics module to standard library
Antoine Pitrou added the comment: A couple of comments about the test suite: - I would like to see PEP8 test names, i.e. test_foo_and_bar rather than testFooAndBar - I don't think we need two separate test modules, it makes things more confusing -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18606 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12641] Remove -mno-cygwin from distutils
Geert Jansen added the comment: *bump*. This is a critical bugfix that prevents I bet 90%+ of Python users on Windows compiling C extensions. It has been open for 2 years and it's a great disservice to people having to compile stuff on Windows. Oscar has been doing a terrific job of providing man patches. May I ask that a core dev finally takes some responsibility here, signs of on the patch, and get it applied? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue12641 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18761] Fix internal doc references for the email package
Serhiy Storchaka added the comment: Here is updated patch which addresses comments from David. Long lines are wrapped now. -- Added file: http://bugs.python.org/file31363/refs.email_2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18761 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18747] Re-seed OpenSSL's PRNG after fork
STINNER Victor added the comment: PySSL_RAND_atfork_child(void) can be simplified by calling _PyTime_gettimeofday(). This function uses the most(*) accurate function and already implements fallbacks on error. (*) _PyTime_gettimeofday() does not use clock_gettime() because of a linker issue: Python is not linked to librt, which is required to get clock_gettime() on Linux with glibc 2.17. So you get a few less bits of entropy, but does it really matter? If it matters, you have probably to use a better random of entropy than the system time... Anyway, it would be easier to move the _PyTime_timeval and similar structures into the seed structure instead of shifting bits. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18747 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18761] Fix internal doc references for the email package
R. David Murray added the comment: Based on your response to the review (I haven't looked at the new patch) I say go ahead and apply it. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18761 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18418] Thread.isAlive() sometimes True after fork
A. Jesse Jiryu Davis added the comment: FYI I'm going on vacation again 8/20 through 8/25. I'll check in again as soon as I return to see if there's anything else I should do. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18418 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18592] IDLE: Unit test for SearchDialogBase.py
Roundup Robot added the comment: New changeset 0d2b87ec9f2b by Terry Jan Reedy in branch '2.7': Issue #18592: Add docstrings to file being tested (idlelib.SearchDialogBase.py). http://hg.python.org/cpython/rev/0d2b87ec9f2b New changeset e09dfdbeb9a2 by Terry Jan Reedy in branch '3.3': Issue #18592: Add docstrings to file being tested (idlelib.SearchDialogBase.py). http://hg.python.org/cpython/rev/e09dfdbeb9a2 New changeset 358a2b2fbad4 by Terry Jan Reedy in branch '3.3': Issue #18592: whitespace http://hg.python.org/cpython/rev/358a2b2fbad4 New changeset 1f2b78941c4a by Terry Jan Reedy in branch '2.7': Issue #18592: whitespace http://hg.python.org/cpython/rev/1f2b78941c4a -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18592 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18592] IDLE: Unit test for SearchDialogBase.py
Terry J. Reedy added the comment: I added the docstrings that I wish had already been present. The only 2.7-3.3 difference in SearchDialogBase is Tkinter/tkinter. -- assignee: - terry.reedy stage: - patch review ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18592 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1257] atexit errors should result in nonzero exit code
Changes by Doug Hellmann doug.hellm...@gmail.com: -- nosy: +doughellmann ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1257 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17810] Implement PEP 3154 (pickle protocol 4)
Alexandre Vassalotti added the comment: I am still working on it. I am implemented support for nested globals last week (http://hg.python.org/features/pep-3154-alexandre/rev/c8991b32a47e). At this point, the only big piece remaining is the support for method descriptors. There are other minor things left but we can worry about those later. Nick, thanks for the pointer! I didn't know about PEP 451. I will look how we can use it in pickle. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17810 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18562] Regex howto: revision pass
Roundup Robot added the comment: New changeset 366ca21600c9 by Andrew Kuchling in branch '3.3': #18562: various revisions to the regex howto for 3.x http://hg.python.org/cpython/rev/366ca21600c9 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18562 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11671] Security hole in wsgiref.headers.Headers
Changes by Arfrever Frehtes Taifersar Arahesis arfrever@gmail.com: -- nosy: +Arfrever ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11671 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18562] Regex howto: revision pass
Changes by A.M. Kuchling li...@amk.ca: -- resolution: - fixed status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18562 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18562] Regex howto: revision pass
Changes by A.M. Kuchling li...@amk.ca: -- stage: patch review - committed/rejected ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18562 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1680961] remove sys.exitfunc, rewrite atexit in C
Antoine Pitrou added the comment: Sorry to ping you on an old issue, but can any of you explain why it was necessary to rewrite atexit in C? -- nosy: +pitrou resolution: accepted - fixed stage: - committed/rejected ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1680961 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18776] atexit error display behavior changed in python 3
New submission from Doug Hellmann: Under python 2 when an atexit callback raised an exception the full traceback was displayed. Under python 3, only the summary of the exception is shown. Input file: import atexit def exit_with_exception(message): raise RuntimeError(message) atexit.register(exit_with_exception, 'Registered first') atexit.register(exit_with_exception, 'Registered second') Python 2: $ python2.7 source/atexit/atexit_exception.py Error in atexit._run_exitfuncs: Traceback (most recent call last): File /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/atexit.py, line 24, in _run_exitfuncs func(*targs, **kargs) File source/atexit/atexit_exception.py, line 36, in exit_with_exception raise RuntimeError(message) RuntimeError: Registered second Error in atexit._run_exitfuncs: Traceback (most recent call last): File /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/atexit.py, line 24, in _run_exitfuncs func(*targs, **kargs) File source/atexit/atexit_exception.py, line 36, in exit_with_exception raise RuntimeError(message) RuntimeError: Registered first Error in sys.exitfunc: Traceback (most recent call last): File /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/atexit.py, line 24, in _run_exitfuncs func(*targs, **kargs) File source/atexit/atexit_exception.py, line 36, in exit_with_exception raise RuntimeError(message) RuntimeError: Registered first Python 3: $ python3.3 source/atexit/atexit_exception.py Error in atexit._run_exitfuncs: RuntimeError: Registered second Error in atexit._run_exitfuncs: RuntimeError: Registered first -- messages: 195586 nosy: doughellmann priority: normal severity: normal status: open title: atexit error display behavior changed in python 3 versions: Python 3.1, Python 3.2, Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18776 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1680961] remove sys.exitfunc, rewrite atexit in C
Changes by Doug Hellmann doug.hellm...@gmail.com: -- nosy: +doughellmann ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1680961 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18776] atexit error display behavior changed in python 3
Changes by Antoine Pitrou pit...@free.fr: -- components: +Library (Lib) keywords: +easy stage: - patch review type: - enhancement versions: -Python 3.1, Python 3.2, Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18776 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1257] atexit errors should result in nonzero exit code
Antoine Pitrou added the comment: I would disagree with this report. There are many errors which are effectively silenced by Python, except for being printed on stderr: for example, errors which occur in a __del__ method or a weakref callback (both of which semantically similar to an atexit handler); but also exceptions which terminate a non-main thread. Python's error code is derived from the return status of the main thread of execution, not counting any kinds of asynchronous exceptions, which are simply displayed and then ignored. If you want to write a test for errors at program exit, you should check for stderr's contents (by capturing it). -- nosy: +pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1257 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18445] Tools/Script/Readme is outdated
Roundup Robot added the comment: New changeset 9d5468a7a381 by Andrew Kuchling in branch 'default': #18445: change permissions on some scripts to executable http://hg.python.org/cpython/rev/9d5468a7a381 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18445 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18445] Tools/Script/Readme is outdated
Roundup Robot added the comment: New changeset 16fad6c48016 by Andrew Kuchling in branch 'default': #18445: update Tools/scripts/README. http://hg.python.org/cpython/rev/16fad6c48016 -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18445 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18445] Tools/Script/Readme is outdated
A.M. Kuchling added the comment: Seydou: thanks for the patch! I've applied it to 3.4. -- nosy: +akuchling resolution: - fixed stage: needs patch - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18445 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18592] IDLE: Unit test for SearchDialogBase.py
Terry J. Reedy added the comment: A subtle point about coverage. The target module must be imported. from idlelib import SearchDialogBase as sdb # works. import idlelib.SearchDialogBase as sdb # does not at least not as I invoke coveragepy in my batch file. With this change, the four uncovered lines were btn.select() after if self.engine.is/re/case/word/back/(): in create_option_buttons and create_other_buttons. I added a parameter to checkboxtests and a new method test_create_option_buttons_flipped. That leaves the line after isback() and I think the radiobutton test probably covers that anyway. The attached file has a few other cosmetic changes, like 'self.searchengine' to 'self.engine'. I would like to remove the duplicate testing in test_create_widgets. All we care for that test is that create_widgets calls the other four create methods. This could be done either by mocking the other methods (unittest.mock or custom replacement) or by looking to see that there is one entry, option button, other button, and command button. Were you planning to do the check-label todos? -- Added file: http://bugs.python.org/file31364/18592_test_searchdialog.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18592 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18727] test for writing dictionary rows to CSV
Muhammad Jehanzeb added the comment: Sure. Thanks for the comment. I was just trying to be consistent with other tests. However, I updated the patch based on your recommendation. Please have a look at the latest one. -- Added file: http://bugs.python.org/file31365/issue18727_v3.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18727 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18512] sys.stdout.write does not allow bytes in Python 3.x
Juan Luis Boya García added the comment: Sorry for the late response, GMail's SPAM filter ate the replies. The main issue is sys.stdout being opened as text instead of binary. This fact is stated in the docs. http://docs.python.org/3/library/sys.html#sys.stdout In any case, there are some caveats worth noting: You can do sys.stdout.buffer.write(bhello) This is problematic if both buffer and IOTextWrapper are used. For example: print(Hello, end=); sys.stdout.buffer.write(bWorld) That line may write `WorldHello` instead of `HelloWorld` (and it does indeed, at least in Linux implementation). Yes, an application should not do this in Python3, but using print() and writing to stdout were OK in Python2, which makes porting programs harder. A workaround is to perform sys.stdout.flush() before sys.stdout.buffer.write(). (from the docs) Using io.TextIOBase.detach(), streams can be made binary by default. sys.stdout = sys.stdout.detach() This should help in cases where most output is binary, but it's worth noting that interactive shells (such as the builtin python or IPython) and debuggers (both pdb and ipdb) stop working when this is used. Also, it will probably break every function there that relies on sys.stdout being Unicode or binary depending on only the Python version. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18512 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18425] IDLE Unit test for IdleHistory.py
Terry J. Reedy added the comment: Ezio: grepping test/*.py for (name)'= self.assertEqual' gets 182 hits in 15 different files. If you are generically opposed to name localization, please take your case to pydev. I also found 'unless = self.assertTrue' and am sure I have seen others in the stdlib and test files. For (name), there is 1 use of 'e' and 'asseq', 5 of 'equal', and 175 of 'eq'. (In one place, 'eq' was only used once after being defined. I would not bother.) If you have a strong preference for 'eq', I will consider it, though it almost seems too light. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18425 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18425] IDLE Unit test for IdleHistory.py
Ezio Melotti added the comment: If you are generically opposed to name localization, please take your case to pydev. I'm not strongly opposed to it, I probably even use it sometimes. In that case I wouldn't have bothered, but YMMV. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18425 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18652] Add itertools.first_true (return first true item in iterable)
Changes by Raymond Hettinger raymond.hettin...@gmail.com: -- assignee: - rhettinger ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18652 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18652] Add itertools.first_true (return first true item in iterable)
Raymond Hettinger added the comment: Hynek, thanks for your suggestion. I would like to mull it over for a while before chiming in. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18652 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18606] Add statistics module to standard library
Steven D'Aprano added the comment: Merged two test suites into one, and PEP-ified the test names testSpam - test_spam. -- Added file: http://bugs.python.org/file31366/test_statistics.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18606 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18606] Add statistics module to standard library
Steven D'Aprano added the comment: Patch file for the stats module alone, without the tests. -- Added file: http://bugs.python.org/file31367/statistics.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18606 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16248] Security bug in tkinter allows for untrusted, arbitrary code execution.
Benjamin Peterson added the comment: 3.2 is owned by Georg. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16248 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16248] Security bug in tkinter allows for untrusted, arbitrary code execution.
Benjamin Peterson added the comment: As for 3.1, feel free to apply. There will likely be a source release of it at some point. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16248 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18489] IDLE Unit test for SearchEngine.py
Roundup Robot added the comment: New changeset 310d187020e3 by Terry Jan Reedy in branch '2.7': Issue #18489: idlelib.SearchEngine - add docstrings http://hg.python.org/cpython/rev/310d187020e3 New changeset cfb510884a13 by Terry Jan Reedy in branch '3.3': Issue #18489: idlelib.SearchEngine - add docstrings http://hg.python.org/cpython/rev/cfb510884a13 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18489 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18777] Cannot compile _ssl.c using openssl 1.0
New submission from Vitaly Murashev: Cannot compile _ssl module when openssl version 1.0 and it is configured with turned on macro OPENSSL_NO_DEPRECATED Everything looks like in recent versions of openssl routine 'CRYPTO_set_id_callback' has gone away. Patch suggested. -- components: Build files: ssl.patch keywords: patch messages: 195602 nosy: vmurashev priority: normal severity: normal status: open title: Cannot compile _ssl.c using openssl 1.0 type: compile error versions: Python 3.3 Added file: http://bugs.python.org/file31368/ssl.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18777 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18774] There is still last bit of GNU Pth code in signalmodule.c
Changes by Jesús Cea Avión j...@jcea.es: -- nosy: +jcea ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18774 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com