[issue31170] expat: utf8_toUtf8 cannot properly handle exhausting buffer

2017-08-31 Thread Benjamin Peterson

Benjamin Peterson added the comment:

We can put expat 2.2.4 in 2.7.14 final.

--

___
Python tracker 

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



[issue31318] On Windows importlib.util.find_spec("re") results in AttributeError: module 'importlib' has no attribute 'util'

2017-08-31 Thread elmar

Changes by elmar :


--
components: +Windows
nosy: +paul.moore, steve.dower, tim.golden, zach.ware
title: Windows importlib.util.find_spec("re") results in AttributeError: module 
'importlib' has no attribute 'util' -> On Windows 
importlib.util.find_spec("re") results in AttributeError: module 'importlib' 
has no attribute 'util'
type:  -> compile error
versions: +Python 3.6

___
Python tracker 

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



[issue31318] Windows importlib.util.find_spec("re") results in AttributeError: module 'importlib' has no attribute 'util'

2017-08-31 Thread elmar

New submission from elmar:

Hi There, 

I found the following bug, but have now idea where to search to fix this:

On Windows calling a python script from the command line with the line 
importlib.util.find_spec("re") in it or using the standard python shell 
and executing importlib.util.find_spec("re") causes an AttributeError: module 
'importlib' has no attribute 'util'.
Surprisingly using ipython and calling the same script with %run or executing 
importlib.util.find_spec("re") in the ipython shell works fine.

C:\Users\buchere>python
Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)]
 on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import importlib
>>> importlib.util.find_spec("re")
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: module 'importlib' has no attribute 'util'
>>> exit()
 
ipython:
C:\Users\buchere>ipython
Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)]

Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import importlib

In [2]: importlib.util.find_spec("re")
Out[2]: ModuleSpec(name='re', loader=<_frozen_importlib_external.SourceFileLoade
r object at 0x01EB6750>, origin='c:\\users\\buchere\\appdata\\local\\programs\\p
ython\\python36-32\\lib\\re.py')

In [3]:

The same code works fine in the Darwin and Linux standard python shell. 
This error is really specific to the Windows standard python shell.

--
messages: 301083
nosy: bue
priority: normal
severity: normal
status: open
title: Windows importlib.util.find_spec("re") results in AttributeError: module 
'importlib' has no attribute 'util'

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

+int_pool = {i: i for i in range(-1000, 1000)}
+def get_pooled_int(v):
+return int_pool.setdefault(v, v)

I'm not sure that I understand this code. It makes sure that you get a single 
object in memory for the same integer, and not only for Python "small integer 
singletons"?

About the -1000..1000 range: if a function leaks more than 1 memory block or 
more than 1 reference, there is already something wrong no?

Maybe it's ok to only care of values -1, 0 and 1 :-) My code only cares of 
Python small integer singletons.

I have no strong preference between my code or yours. I only care of fixing the 
buildbot :-) What do you prefer, Antoine?

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

Ok, I wrote a PR for my str(int(x)) workaround: 
https://github.com/python/cpython/pull/3258

I tested manually on the buildbot that it fixes all bugs listed on this issue.

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

Changes by STINNER Victor :


--
pull_requests: +3302

___
Python tracker 

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



[issue30776] regrtest: change -R/--huntrleaks rule to decide if a test leaks references

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

> Except that now it may hide actual regressions... False negatives are not 
> better than false positives.

Please put this issue in its context. 6 months ago, there was no more Refleak 
buildbot and everything was broken.

If you want to make regrtest -R stricer, go ahead. But if a buildbot breaks, 
you will have to fix it.

I would prefer to first fix the Gentoo Refleak buildbot, since most previous 
builds failed.

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

> So the first non-zero alloc_delta really has a snowball effect, as it creates 
> new memory block which will produce a non-zero alloc_delta on the next run, 
> etc.

Oh, I suspected an issue around this code but I was unable to explain it. I 
focused strongly on test_current_frames(), whereas this function is just 
fine... It's really strange that the bug only triggers on very specific 
conditions.

"""
Actually, it's quite simple :-) On 64-bit Python:

>>> id(82914 - 82913) == id(1)
True

On 32-bit Python:

>>> id(82914 - 82913) == id(1)
False
"""

That's very strange.

Another workaround:

diff --git a/Lib/test/libregrtest/refleak.py b/Lib/test/libregrtest/refleak.py
index efe52107cb..35d3f8e42d 100644
--- a/Lib/test/libregrtest/refleak.py
+++ b/Lib/test/libregrtest/refleak.py
@@ -56,9 +56,10 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
  abcs)
 print('.', end='', file=sys.stderr, flush=True)
 if i >= nwarmup:
-rc_deltas[i] = rc_after - rc_before
-alloc_deltas[i] = alloc_after - alloc_before
-fd_deltas[i] = fd_after - fd_before
+def maybe_small_long(x): return int(str(x))
+rc_deltas[i] = maybe_small_long(rc_after - rc_before)
+alloc_deltas[i] = maybe_small_long(alloc_after - alloc_before)
+fd_deltas[i] = maybe_small_long(fd_after - fd_before)
 alloc_before = alloc_after
 rc_before = rc_after
 fd_before = fd_after

--

___
Python tracker 

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



[issue30776] regrtest: change -R/--huntrleaks rule to decide if a test leaks references

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

> Since I rejected "false alarms" from refleak, the refleak buildbot already 
> helped to identify a reference leak regression.

Except that now it may hide actual regressions... False negatives are not 
better than false positives.

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

This patch does the trick:

diff --git a/Lib/test/libregrtest/refleak.py b/Lib/test/libregrtest/refleak.py
index efe5210..68e490a 100644
--- a/Lib/test/libregrtest/refleak.py
+++ b/Lib/test/libregrtest/refleak.py
@@ -48,6 +48,11 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
 print("beginning", repcount, "repetitions", file=sys.stderr)
 print(("1234567890"*(repcount//10 + 1))[:repcount], file=sys.stderr,
   flush=True)
+
+int_pool = {i: i for i in range(-1000, 1000)}
+def get_pooled_int(v):
+return int_pool.setdefault(v, v)
+
 # initialize variables to make pyflakes quiet
 rc_before = alloc_before = fd_before = 0
 for i in range(repcount):
@@ -56,9 +61,9 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
  abcs)
 print('.', end='', file=sys.stderr, flush=True)
 if i >= nwarmup:
-rc_deltas[i] = rc_after - rc_before
-alloc_deltas[i] = alloc_after - alloc_before
-fd_deltas[i] = fd_after - fd_before
+rc_deltas[i] = get_pooled_int(rc_after - rc_before)
+alloc_deltas[i] = get_pooled_int(alloc_after - alloc_before)
+fd_deltas[i] = get_pooled_int(fd_after - fd_before)
 alloc_before = alloc_after
 rc_before = rc_after
 fd_before = fd_after

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

Ahah.
Actually, it's quite simple :-) On 64-bit Python:

>>> id(82914 - 82913) == id(1)
True

On 32-bit Python:

>>> id(82914 - 82913) == id(1)
False

So the first non-zero alloc_delta really has a snowball effect, as it creates 
new memory block which will produce a non-zero alloc_delta on the next run, etc.

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

Antoine: "I doubt it.  If that was the case, the reference count would increase 
as well."

The bug is really weird :-)


Antoine: "Actually, leak2.py doesn't attempt to cleanup anything between runs, 
so it can't be reliable for detecting leaks.  You lack dash_R_cleanup() 
somewhere."

I simplified dash_R_cleanup() and at the end, it was empty :-) I don't see how 
the test_current_frames() would need to clear any kind of cache.

Maybe:

* sys._clear_type_cache()
* gc.collect()
* C function clear_freelists() of gcmodule.c

But I tried to call these functions, and it doesn't change anything.

I don't see how calling set.add() and set.discard() would impact any cache, 
except of maybe of a free list?

The strange thing is that calling dangling.clear() explicitly in 
test_current_frames() "fixes the leak" (hides the bug?). But any tiny change on 
this file also hides the bug. The script is very fragile.

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

Actually, leak2.py doesn't attempt to cleanup anything between runs, so it 
can't be reliable for detecting leaks.  You lack dash_R_cleanup() somewhere.

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

> It seems like the "leak" is the call to sys.getallocatedblocks() which 
> creates a new integer, and the integer is kept alive between two loop 
> iterations.

I doubt it.  If that was the case, the reference count would increase as well.

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

leak2.py: script based on my leak.py and Antoine's test_haypoleak.py.

If you replace "if 0:" with "if 1:", it seems like the test doesn't anymore.

It seems like the "leak" is the call to sys.getallocatedblocks() which creates 
a new integer, and the integer is kept alive between two loop iterations.

Maybe I missed something.

--
Added file: http://bugs.python.org/file47114/leak2.py

___
Python tracker 

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



[issue30776] regrtest: change -R/--huntrleaks rule to decide if a test leaks references

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

Antoine Pitrou: "Victor, it would be nice if you could find a less brutal 
heuristic."

My current goal is to get green buildbots. If a buildbot is always red, it's 
hard to notify easily regressions.

Since I rejected "false alarms" from refleak, the refleak buildbot already 
helped to identify a reference leak regression. I am talking about the Windows 
Refleak buildbot:

http://buildbot.python.org/all/builders/AMD64%20Windows8.1%20Refleaks%203.x

I'm now working on the x86 Gentoo Refleaks 3.x which raised strange issues like 
bpo-31217.

I am already making regrtest stricter, but slowly, without breaking buildbots. 
It's a slow process. That's why I'm to "fix" dangling threads for example. By 
the way, I'm not done with dangling threads in master yet.

I'm happy if anyone is interested to help me to work on buildbots, which means 
in practice fixing a new different bug everyday :-) Slowly, the remaining bugs 
are the most complex ones.

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

Attached test script still fails even though the objects are pre-allocated, and 
without setting a hash seed.

$ ./python -m test -R 3:6 test_haypoleak
Run tests sequentially
0:00:00 load avg: 0.23 [1/1] test_haypoleak
beginning 9 repetitions
123456789
.
test_haypoleak leaked [1, 1, 1, 1, 1, 1] memory blocks, sum=6
test_haypoleak failed

--
Added file: http://bugs.python.org/file47113/test_haypoleak.py

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

I'm still able to reproduce the bug using attached leak.py script which is now 
100 lines long, but has to import logging, socket and pickle. Without these 
imports, the bug hides (maybe the hardcoded hash values must be recomputed, but 
I failed to find hash values in that case).

--
nosy: +pitrou
Added file: http://bugs.python.org/file47112/leak.py

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

Antoine: "Actually, it's not the bug that is weird, but the heuristics in -R 
seem completely weird now.  If I print the alloc and rc deltas:"

I changed it recently to reduce false alarms: see bpo-30776.


Antoine: "To come back to this bug, it still fails if add a __slots__, so I 
don't think it's related to shared key dictionaries."

Oh ok, in that case, I will move back to bpo-31217. I close this issue as a 
duplicate.

--
resolution:  -> duplicate
stage:  -> resolved
status: open -> closed
superseder:  -> test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 
3.6/3.x

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

To come back to this bug, it still fails if add a __slots__, so I don't think 
it's related to shared key dictionaries.

--

___
Python tracker 

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



[issue30776] regrtest: change -R/--huntrleaks rule to decide if a test leaks references

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

This change suddenly made detection of reference leaks a lot less effective.  
Now if you have a single 0 in the deltas list, it will consider there is no 
reference leak, even though all other values might be > 0.

See https://bugs.python.org/issue31317#msg301064 for an example.

Victor, it would be nice if you could find a less brutal heuristic.

--
assignee:  -> haypo
nosy: +pitrou, serhiy.storchaka
resolution: fixed -> 
stage: resolved -> needs patch
status: closed -> open

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

s/completely weird/broken/

$ ./python -m test -R 2:20 test_haypoleak
Run tests sequentially
0:00:00 load avg: 0.10 [1/1] test_haypoleak
beginning 22 repetitions
1234567890123456789012
..
alloc: [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], rc: 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
1 test OK.

--

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

Actually, it's not the bug that is weird, but the heuristics in -R seem 
completely weird now.  If I print the alloc and rc deltas:

$ ./python -m test -R 3:6 test_haypoleak
Run tests sequentially
0:00:00 load avg: 0.09 [1/1] test_haypoleak
beginning 9 repetitions
123456789
.
alloc: [0, 0, 0, 1, 1, 1, 1, 1, 1], rc: [0, 0, 0, 0, 0, 0, 0, 0, 0]
test_haypoleak leaked [1, 1, 1, 1, 1, 1] memory blocks, sum=6
test_haypoleak failed

$ ./python -m test -R 2:6 test_haypoleak
Run tests sequentially
0:00:00 load avg: 0.10 [1/1] test_haypoleak
beginning 8 repetitions
12345678

alloc: [0, 0, 0, 1, 1, 1, 1, 1], rc: [0, 0, 0, 0, 0, 0, 0, 0]
1 test OK.

--

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

It's a really weird bug you found.  It depends on the exact values passed to -R:

$ ./python -m test -R 3:6 test_haypoleak
Run tests sequentially
0:00:00 load avg: 0.39 [1/1] test_haypoleak
beginning 9 repetitions
123456789
.
test_haypoleak leaked [1, 1, 1, 1, 1, 1] memory blocks, sum=6
test_haypoleak failed

$ ./python -m test -R 2:6 test_haypoleak
Run tests sequentially
0:00:00 load avg: 0.36 [1/1] test_haypoleak
beginning 8 repetitions
12345678

1 test OK.

--
nosy: +pitrou

___
Python tracker 

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



[issue31315] assertion failure in imp.create_dynamic(), when spec.name is not a string

2017-08-31 Thread Oren Milman

Changes by Oren Milman :


--
pull_requests: +3301

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

I spent a lot of time in gdb, but I'm not sure anymore that the issue is 
related to dict shared keys.

--

___
Python tracker 

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



[issue31315] assertion failure in imp.create_dynamic(), when spec.name is not a string

2017-08-31 Thread Brett Cannon

Brett Cannon added the comment:

Yes, I'm saying that instead of hitting the C-level assertion error an explicit 
TypeError should be raised (or some other change like calling str() on the 
object). Either way, a C-level assertion from valid Python code is bad. :)

--

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

If you cannot reproduce the bug on 32-bit build, try to set "FIXED_HASH = 0" in 
test_leak.py, run "./python -m test -R 3:10 test_leak" multiple times until it 
fails, then copy the last value of the printed list into hash_values in 
test_leak.py.

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

I created bpo-31317: Memory leak in dict with shared keys.

--

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread STINNER Victor

Changes by STINNER Victor :


--
nosy: +serhiy.storchaka

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread STINNER Victor

Changes by STINNER Victor :


Added file: http://bugs.python.org/file47111/test_leak.py

___
Python tracker 

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



[issue31317] Memory leak in dict with shared keys

2017-08-31 Thread STINNER Victor

New submission from STINNER Victor:

Copy attached test_leak.py to Lib/test/ and run:

haypo@selma$ ./python -m test -R 3:30 test_leak

Run tests in parallel using 1 child processes
0:00:00 load avg: 0.67 [1/1/1] test_leak failed
beginning 33 repetitions
123456789012345678901234567890123
.
test_leak leaked [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 1] memory blocks, sum=30

1 test failed:
test_leak

Total duration: 682 ms
Tests result: FAILURE


It seems like Thread2 constructor creates a dictionary on "self.hashvalue = 
(...)". It's a dictionary sharing keys, but it seems like the dict table memory 
is not released whne the bug occurs.


Sadly, I'm only able to reproduce the bug on a 32-bit build. Since the bug 
depends on exact hash values, maybe the bug exists in 64-bit builds, but is 
less likely?


I'm not 100% sure if the bug is related to dict or set.


The bug comes from bpo-31217.

--
messages: 301058
nosy: haypo, inada.naoki, rhettinger, xiang.zhang
priority: normal
severity: normal
status: open
title: Memory leak in dict with shared keys
type: resource usage
versions: Python 3.7

___
Python tracker 

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



[issue31315] assertion failure in imp.create_dynamic(), when spec.name is not a string

2017-08-31 Thread Oren Milman

Oren Milman added the comment:

do you mean that we should fix it to raise a TypeError?

the assertion is there, but not explicitly. 
get_encoded_name() calls PyUnicode_FindChar(), which calls
PyUnicode_READY(), which does assert(_PyUnicode_CHECK).

so i get:
>>> import imp
>>>
>>> class BadSpec:
... name = 42
... origin = 'foo'
...
>>> imp.create_dynamic(BadSpec())
Assertion failed: PyUnicode_Check(op), file ..\Objects\unicodeobject.c, line 380

--

___
Python tracker 

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



[issue31315] assertion failure in imp.create_dynamic(), when spec.name is not a string

2017-08-31 Thread Brett Cannon

Brett Cannon added the comment:

I'm about to go on vacation so I might not be right of mind to comment, but I 
think throwing a TypeError is valid if it's triggering an assertion error that 
is already there.

P.S. Thanks for all the fuzz testing you're doing, Oren!

--

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread Zachary Ware

Changes by Zachary Ware :


--
nosy: +zach.ware

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

Copy attached test_leak.py to Lib/test/ and run:

set -x
while true; do PYTHONHASHSEED=$RANDOM ./python -m test -R 3:30 -j1 test_leak || 
break; done

--
Added file: http://bugs.python.org/file47110/test_leak.py

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

Ok, I succeeded to reproduce the issue on my amd64 laptop using gcc -m32. I'm 
now sure that the issue can be reproduced on 32-bit. Maybe the issue can be 
reproduced on 64-bit but is more unlikely?

--

___
Python tracker 

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



[issue30940] Documentation for round() is incorrect.

2017-08-31 Thread Roundup Robot

Changes by Roundup Robot :


--
pull_requests: +3300

___
Python tracker 

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



[issue31315] assertion failure in imp.create_dynamic(), when spec.name is not a string

2017-08-31 Thread Serhiy Storchaka

Changes by Serhiy Storchaka :


--
nosy: +brett.cannon, eric.snow, ncoghlan, serhiy.storchaka

___
Python tracker 

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



[issue29707] os.path.ismount() always returns false for mount --bind on same filesystem

2017-08-31 Thread Alex Richman

Alex Richman added the comment:

Can confirm, ran into this issue.  It's because os.path.ismount() works by 
checking if the path's parent is on a different device (e.g. st_dev is the same 
for 'path/' and 'path/..'), which obviously it is for a bind mount on the same 
filesystem.

It is actually documented that this is how it works 
(https://docs.python.org/2/library/os.path.html#os.path.ismount) but it's more 
of a passing comment than a warning, and who reads the docs for such an 
apparently simple function anyway? ;)

Agree that it should be fixed by parsing /proc/mounts instead of the current 
mess, perhaps using getmntent(3) and friends.

--
nosy: +Alex Richman

___
Python tracker 

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



[issue31316] Frequent *** stack smashing detected *** with Python 3.6.2/meinheld WSGI server

2017-08-31 Thread Andreas Jung

New submission from Andreas Jung:

We are currently testing Python 3.6.2 with a BottlePY based with "meinheld" 
WSGI server and we see frequently these crashesis this related to Python or 
meinheld in particular?

Linux unknown-device 4.7.0-1-amd64 #1 SMP Debian 4.7.2-1 (2016-08-28) x86_64 
GNU/Linux


2017-08-31 17:40:55,434] WARNING JWK verification disabled
[2017-08-31 17:40:55,435] INFO pimservice version 0.2.0.dev0
[2017-08-31 17:40:55,435] INFO Importing data from 
/home/nils/src/festool/coa-pim-service/SCPortal_de-DE_20170418.xml.zip
[2017-08-31 17:40:55,435] INFO Locales in ZIP file: de-DE
Loading SCPortal_de-DE_20170418.xml (1/1) … done.
Bottle v0.12.12 server starting up (using MeinheldServer())...
Listening on http://localhost:8080/
Hit Ctrl-C to quit.

"0.0.0.0 - - [31/Aug/2017:17:41:27 +] "GET /Search/de-DE HTTP/1.1" 200 
105256 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/59.0.3071.86 Safari/537.36"
*** stack smashing detected ***: 
/home/nils/src/festool/coa-pim-service/bin/python terminated
=== Backtrace: =
/lib/x86_64-linux-gnu/libc.so.6(+0x70bcb)[0x7fdcddbabbcb]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7fdcddc34227]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x0)[0x7fdcddc341f0]
/home/nils/src/festool/coa-pim-service/lib/python3.6/site-packages/meinheld-0.6.1-py3.6-linux-x86_64.egg/meinheld/server.cpython-36m-x86_64-linux-gnu.so(+0xebdf)[0x7fdcd49c8bdf]
/home/nils/src/festool/coa-pim-service/lib/python3.6/site-packages/meinheld-0.6.1-py3.6-linux-x86_64.egg/meinheld/server.cpython-36m-x86_64-linux-gnu.so(picoev_poll_once_internal+0x95)[0x7fdcd49ce1c5]
/home/nils/src/festool/coa-pim-service/lib/python3.6/site-packages/meinheld-0.6.1-py3.6-linux-x86_64.egg/meinheld/server.cpython-36m-x86_64-linux-gnu.so(+0xfc87)[0x7fdcd49c9c87]
/home/nils/src/festool/coa-pim-service/bin/python(_PyCFunction_FastCallKeywords+0x1a7)[0x4bdcb7]
/home/nils/src/festool/coa-pim-service/bin/python[0x54d47e]
/home/nils/src/festool/coa-pim-service/bin/python(_PyEval_EvalFrameDefault+0x2e63)[0x5512d3]
/home/nils/src/festool/coa-pim-service/bin/python[0x54c681]
/home/nils/src/festool/coa-pim-service/bin/python[0x54d5f5]
/home/nils/src/festool/coa-pim-service/bin/python(_PyEval_EvalFrameDefault+0x2e63)[0x5512d3]
/home/nils/src/festool/coa-pim-service/bin/python[0x54d0d5]
/home/nils/src/festool/coa-pim-service/bin/python(PyEval_EvalCodeEx+0x2f)[0x54dfaf]
/home/nils/src/festool/coa-pim-service/bin/python[0x488cf6]
/home/nils/src/festool/coa-pim-service/bin/python(PyObject_Call+0x3a)[0x4562fa]
/home/nils/src/festool/coa-pim-service/bin/python(_PyEval_EvalFrameDefault+0x32b6)[0x551726]
/home/nils/src/festool/coa-pim-service/bin/python[0x54d0d5]
/home/nils/src/festool/coa-pim-service/bin/python[0x54d394]
/home/nils/src/festool/coa-pim-service/bin/python(_PyEval_EvalFrameDefault+0x3178)[0x5515e8]
/home/nils/src/festool/coa-pim-service/bin/python[0x54c681]
/home/nils/src/festool/coa-pim-service/bin/python[0x54d5f5]
/home/nils/src/festool/coa-pim-service/bin/python(_PyEval_EvalFrameDefault+0x2e63)[0x5512d3]
/home/nils/src/festool/coa-pim-service/bin/python[0x54d0d5]
/home/nils/src/festool/coa-pim-service/bin/python(PyEval_EvalCode+0x23)[0x54df43]
/home/nils/src/festool/coa-pim-service/bin/python(PyRun_FileExFlags+0x167)[0x42ac17]
/home/nils/src/festool/coa-pim-service/bin/python(PyRun_SimpleFileExFlags+0xeb)[0x42ae4b]
/home/nils/src/festool/coa-pim-service/bin/python(Py_Main+0xd8f)[0x43f12f]
/home/nils/src/festool/coa-pim-service/bin/python(main+0x167)[0x421337]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7fdcddb5b2b1]
/home/nils/src/festool/coa-pim-service/bin/python(_start+0x2a)[0x42140a]
=== Memory map: 
0040-007aa000 r-xp  fe:01 18486295   
/usr/bin/python3.6
009a9000-009aa000 r--p 003a9000 fe:01 18486295   
/usr/bin/python3.6
009aa000-00a45000 rw-p 003aa000 fe:01 18486295   
/usr/bin/python3.6
00a45000-00a77000 rw-p  00:00 0 
00fa-15978000 rw-p  00:00 0  [heap]
7fdcd4533000-7fdcd4673000 rw-p  00:00 0 
7fdcd4673000-7fdcd4679000 r-xp  fe:01 14027603   
/home/nils/src/festool/coa-pim-service/lib/python3.6/site-packages/greenlet-0.4.12-py3.6-linux-x86_64.egg/greenlet.cpython-36m-x86_64-linux-gnu.so
7fdcd4679000-7fdcd4878000 ---p 6000 fe:01 14027603   
/home/nils/src/festool/coa-pim-service/lib/python3.6/site-packages/greenlet-0.4.12-py3.6-linux-x86_64.egg/greenlet.cpython-36m-x86_64-linux-gnu.so
7fdcd4878000-7fdcd4879000 r--p 5000 fe:01 14027603   
/home/nils/src/festool/coa-pim-service/lib/python3.6/site-packages/greenlet-0.4.12-py3.6-linux-x86_64.egg/greenlet.cpython-36m-x86_64-linux-gnu.so
7fdcd4879000-7fdcd487a000 rw-p 6000 fe:01 14027603   

[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

Current status of my analysis. I'm able to reproduce the bug using this 
modified Lib/test/test_sys.py:
---
import unittest, test.support
from test.support.script_helper import assert_python_ok
import threading

def f123():
pass

class SysModuleTest(unittest.TestCase):
def test_current_frames(self):
t = threading.Thread(target=f123)
t.start()
t.join()
---

And this shell script:
---
set -x
while true; do PYTHONHASHSEED=$RANDOM ./python -m test -R 3:3 -j1 test_sys -m 
test_current_frames || break; done
---

With this command, when the test fail, it's possible to reproduce the bug 100% 
of times using the written PYTHONHASHSEED. Example:
---
pydev@stormageddon ~/cpython $ ./bug.sh
++ true
++ PYTHONHASHSEED=23016
++ ./python -m test -R 3:3 -j1 test_sys -m test_current_frames
Run tests in parallel using 1 child processes
0:00:00 load avg: 0.15 [1/1] test_sys passed
beginning 6 repetitions
123456
..
1 test OK.

Total duration: 982 ms
Tests result: SUCCESS
++ true
++ PYTHONHASHSEED=9197
++ ./python -m test -R 3:3 -j1 test_sys -m test_current_frames
Run tests in parallel using 1 child processes
0:00:00 load avg: 0.22 [1/1/1] test_sys failed
beginning 6 repetitions
123456
..
test_sys leaked [1, 1, 1] memory blocks, sum=3

1 test failed:
test_sys

Total duration: 1000 ms
Tests result: FAILURE
++ break


pydev@stormageddon ~/cpython $ PYTHONHASHSEED=9197 ./python -m test -R 3:3 -j1 
test_sys -m test_current_frames
Run tests in parallel using 1 child processes
0:00:00 load avg: 0.20 [1/1/1] test_sys failed
beginning 6 repetitions
123456
..
test_sys leaked [1, 1, 1] memory blocks, sum=3

1 test failed:
test_sys

Total duration: 987 ms
Tests result: FAILURE
---

--

___
Python tracker 

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



[issue31315] assertion failure in imp.create_dynamic(), when spec.name is not a string

2017-08-31 Thread Oren Milman

New submission from Oren Milman:

The following code causes an assertion failure in get_encoded_name(), which is
called by _PyImport_LoadDynamicModuleWithSpec() (in Python/importdl.c):

import imp

class BadSpec:
name = 42
origin = 'foo'

imp.create_dynamic(BadSpec())


this is because _PyImport_LoadDynamicModuleWithSpec() assumes that spec.name is
a string.


should we fix this (even though imp is deprecated)?

--
components: Extension Modules
messages: 301050
nosy: Oren Milman
priority: normal
severity: normal
status: open
title: assertion failure in imp.create_dynamic(), when spec.name is not a string
type: crash
versions: Python 3.7

___
Python tracker 

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



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-08-31 Thread Oren Milman

Changes by Oren Milman :


--
components: +ctypes -Extension Modules

___
Python tracker 

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



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-08-31 Thread Oren Milman

Changes by Oren Milman :


--
pull_requests: +3299

___
Python tracker 

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



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-08-31 Thread Oren Milman

Changes by Oren Milman :


--
pull_requests: +3298

___
Python tracker 

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



[issue31217] test_code leaked [1, 1, 1] memory blocks on x86 Gentoo Refleaks 3.6/3.x

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

Another command to reproduce a leak:

./python -m test -R 3:3 -j1 test_sys -F -m 
test.test_sys.SysModuleTest.test_current_frames

--

___
Python tracker 

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



[issue31249] test_concurrent_futures leaks dangling threads

2017-08-31 Thread STINNER Victor

Changes by STINNER Victor :


--
pull_requests: +3297

___
Python tracker 

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



[issue31250] test_asyncio leaks dangling threads

2017-08-31 Thread STINNER Victor

Changes by STINNER Victor :


--
pull_requests: +3296

___
Python tracker 

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



[issue31250] test_asyncio leaks dangling threads

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

I proposed PR 3252 to only fix unit tests, but not asyncio.

An alternative is to modify BaseEventLoop.close() to replace 
executor.shutdown(wait=False) with executor.shutdown(wait=True), but it would 
change the behaviour. I'm not sure if we want to wait until all threads 
complete on close()?

--

___
Python tracker 

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



[issue26826] Expose new copy_file_range() syscall in os module.

2017-08-31 Thread desbma

Changes by desbma :


--
nosy: +desbma

___
Python tracker 

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



[issue31311] a SystemError and a crash in PyCData_setstate() when __dict__ is bad

2017-08-31 Thread Oren Milman

Changes by Oren Milman :


--
title: SystemError raised by PyCData_setstate() in case __dict__ is not a dict 
-> a SystemError and a crash in PyCData_setstate() when __dict__ is bad

___
Python tracker 

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



[issue29708] support reproducible Python builds

2017-08-31 Thread STINNER Victor

Changes by STINNER Victor :


--
nosy: +haypo

___
Python tracker 

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



[issue31312] Build differences caused by the time stamps

2017-08-31 Thread R. David Murray

R. David Murray added the comment:

Duplicate of issue 29708.

--
nosy: +r.david.murray
resolution:  -> duplicate
stage:  -> resolved
status: open -> closed
superseder:  -> support reproducible Python builds
type: security -> behavior

___
Python tracker 

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



[issue31307] ConfigParser.read silently fails if filenames argument is a byte string

2017-08-31 Thread Henk-Jaap Wagenaar

Changes by Henk-Jaap Wagenaar :


--
nosy: +Henk-Jaap Wagenaar

___
Python tracker 

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



[issue31313] Feature Add support of os.chflags() on Linux platform

2017-08-31 Thread Antoine Pitrou

Antoine Pitrou added the comment:

Judging by the ioctl name, this is ext2/ext3/ext4 specific?

--
nosy: +larry, neologix, pitrou
versions:  -Python 3.6

___
Python tracker 

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



[issue27794] setattr a read-only property; the AttributeError should show the attribute that failed

2017-08-31 Thread Muhammad Alkarouri

Muhammad Alkarouri added the comment:

Now that the descriptor protocol has `__set_name__`, does this make any 
difference to this issue? The property can know its name, subject to a suitable 
patch.

--
nosy: +Muhammad Alkarouri

___
Python tracker 

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



[issue31314] email throws exception with oversized header input

2017-08-31 Thread Matthias Klose

New submission from Matthias Klose:

[forwarded from https://bugs.debian.org/854001]

$ cat tst.py
#!/usr/bin/env python
import sys
import email

mail = email.message_from_string(
"""From: 
To: 
Subject: demo
X-Overlong-Header-Name-causes-python-mail-to-crash-in-re-serialization-example:

Hello
""")
message = mail.as_string()
sys.stdout.write(message)

$ python tst.py 
Traceback (most recent call last):
  File "tst.py", line 13, in 
message = mail.as_string()
  File "/usr/lib/python2.7/email/message.py", line 137, in as_string
g.flatten(self, unixfrom=unixfrom)
  File "/usr/lib/python2.7/email/generator.py", line 83, in flatten
self._write(msg)
  File "/usr/lib/python2.7/email/generator.py", line 115, in _write
self._write_headers(msg)
  File "/usr/lib/python2.7/email/generator.py", line 164, in _write_headers
v, maxlinelen=self._maxheaderlen, header_name=h).encode()
  File "/usr/lib/python2.7/email/header.py", line 408, in encode
lastchunk, lastcharset = newchunks[-1]
IndexError: list index out of range

--
components: email
messages: 301044
nosy: barry, doko, r.david.murray
priority: normal
severity: normal
status: open
title: email throws exception with oversized header input
versions: Python 2.7

___
Python tracker 

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



[issue31313] Feature Add support of os.chflags() on Linux platform

2017-08-31 Thread Марк Коренберг

New submission from Марк Коренберг:

Yes, chflags() is not supported by linux directly. But actually, Linux supports 
chflags functionality:

https://stackoverflow.com/questions/34176464/why-os-chflags-doesnt-work-under-linux

through

ioctl (fd, EXT2_IOC_SETFLAGS, )

--
components: Library (Lib)
messages: 301043
nosy: socketpair
priority: normal
severity: normal
status: open
title: Feature Add support of os.chflags() on Linux platform
type: enhancement
versions: Python 3.6, Python 3.7

___
Python tracker 

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



[issue31312] Build differences caused by the time stamps

2017-08-31 Thread Wayland Zhong

New submission from Wayland Zhong:

When I build python (version 2.7.13), I find the build results are different 
every time. It seems to be caused by some times tamps, and they may be 
generated by the code below:
Lib/py_compile.py:106: with open(file, 'U') as f:
Lib/py_compile.py:107: try:
Lib/py_compile.py:108:timestamp = 
long(os.fstat(f.fileno()).st_mtime)
Lib/py_compile.py:109:except AttributeError:
Lib/py_compile.py:110:timestamp = long(os.stat(file).st_mtime)
Lib/py_compile.py:111:   codestring = f.read()

As we know, reproducible build is a good way to counter malicious attacks that 
generate malicious executables, by making it easy to recreate the executable to 
determine if the result is correct. How can I eliminate the differences caused 
by the time stamps? Just remove some code? Or is there any configuration?
If we can't eliminate the difference now, can lsof support it in future 
versions?
Thank you.

--
components: Library (Lib)
messages: 301042
nosy: WaylandZ
priority: normal
severity: normal
status: open
title: Build differences caused by the time stamps
type: security
versions: Python 2.7

___
Python tracker 

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



[issue26669] time.localtime(float("NaN")) does not raise a ValueError on all platforms

2017-08-31 Thread STINNER Victor

STINNER Victor added the comment:

I like PR 3085 to raise explicitly a ValueError with an helpful error message.

--
nosy: +haypo

___
Python tracker 

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



[issue31108] add __contains__ for list_iterator (and others) for better performance

2017-08-31 Thread Serhiy Storchaka

Changes by Serhiy Storchaka :


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

___
Python tracker 

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



[issue31108] add __contains__ for list_iterator (and others) for better performance

2017-08-31 Thread Raymond Hettinger

Raymond Hettinger added the comment:

I recommend rejecting this proposal

--

___
Python tracker 

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