[issue24667] OrderedDict.popitem()/__str__() raises KeyError

Eric Snow report at bugs.python.org
Fri Jul 31 02:59:27 CEST 2015


Eric Snow added the comment:

As expected (considering the link to dict ordering here), the inconsistent results are tied to hash randomization:

$ for i in `seq 1 25`; do echo $i; PYTHONHASHSEED=$i ./python /tmp/odict_reproduce.py; done                                                                                                                                                                                                                                                                                    
1
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1794, in <module>
    od.popitem(last=False)
KeyError: ('https', 'ml.wikipedia.org', 443)
2
3
4
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1737, in <module>
    od.popitem(last=False)
KeyError: ('https', 'li.wikipedia.org', 443)
5
6
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1699, in <module>
    od.popitem(last=False)
KeyError: ('https', 'ksh.wikipedia.org', 443)
7
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1889, in <module>
    od.popitem(last=False)
KeyError: ('https', 'nds-nl.wikipedia.org', 443)
8
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1794, in <module>
    od.popitem(last=False)
KeyError: ('https', 'ml.wikipedia.org', 443)
9
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1528, in <module>
    od.popitem(last=False)
KeyError: ('https', 'ga.wikipedia.org', 443)
10
11
12
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1585, in <module>
    od.popitem(last=False)
KeyError: ('https', 'hu.wikipedia.org', 443)
13
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1737, in <module>
    od.popitem(last=False)
KeyError: ('https', 'li.wikipedia.org', 443)
14
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1775, in <module>
    od.popitem(last=False)
KeyError: ('https', 'mg.wikipedia.org', 443)
15
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1965, in <module>
    od.popitem(last=False)
KeyError: ('https', 'pdc.wikipedia.org', 443)
16
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1680, in <module>
    od.popitem(last=False)
KeyError: ('https', 'it.wikipedia.org', 443)
17
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1452, in <module>
    od.popitem(last=False)
KeyError: ('https', 'fa.wikipedia.org', 443)
18
19
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1965, in <module>
    od.popitem(last=False)
KeyError: ('https', 'nn.wikipedia.org', 443)
20
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1642, in <module>
    od.popitem(last=False)
KeyError: ('https', 'ilo.wikipedia.org', 443)
21
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1319, in <module>
    od.popitem(last=False)
KeyError: ('https', 'da.wikipedia.org', 443)
22
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1661, in <module>
    od.popitem(last=False)
KeyError: ('https', 'it.wikipedia.org', 443)
23
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1547, in <module>
    od.popitem(last=False)
KeyError: ('https', 'gl.wikipedia.org', 443)
24
25
Traceback (most recent call last):
  File "/tmp/odict_reproduce.py", line 1699, in <module>
    od.popitem(last=False)
KeyError: ('https', 'ksh.wikipedia.org', 443)

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue24667>
_______________________________________


More information about the Python-bugs-list mailing list