weixin_39602005 2020-11-22 03:36
浏览 0

python 2.6: RuntimeError: dictionary changed size during iteration

From y.dmi....com on July 06, 2010 12:00:21

Python 2.6.5 (release26-maint, Jun 23 2010, 10:41:00) [GCC 4.3.4] on linux2 Type "help", "copyright", "credits" or "license" for more information.

import dpkt Traceback (most recent call last): File "", line 1, in File "/usr/lib/python2.6/site-packages/dpkt/init.py", line 24, in import ethernet File "/usr/lib/python2.6/site-packages/dpkt/ethernet.py", line 128, in load_types() File "/usr/lib/python2.6/site-packages/dpkt/ethernet.py", line 122, in __load_types mod = __import(modname, g) File "/usr/lib/python2.6/site-packages/dpkt/ip6.py", line 95, in import ip File "/usr/lib/python2.6/site-packages/dpkt/ip.py", line 255, in __load_protos() File "/usr/lib/python2.6/site-packages/dpkt/ip.py", line 245, in __load_protos for k, v in g.iteritems(): RuntimeError: dictionary changed size during iteration

Quick fix: --- /usr/lib/python2.6/site-packages/dpkt/ip.py~ 2010-03-26 04:53:51.000000000 +0200 +++ /usr/lib/python2.6/site-packages/dpkt/ip.py 2010-07-06 18:54:05.013117134 +0300 @@ -242,7 +242,7 @@ # XXX - auto-load IP dispatch table from IP_PROTO_* definitions def __load_protos(): g = globals() - for k, v in g.iteritems(): - for k, v in list(g.iteritems()): if k.startswith('IP_PROTO_'): name = k[9:].lower() try:

Original issue: http://code.google.com/p/dpkt/issues/detail?id=35

该提问来源于开源项目:kbandla/dpkt

  • 写回答

6条回答 默认 最新

  • weixin_39602005 2020-11-22 03:36
    关注

    From dugsong on January 06, 2011 07:45:41

    I can't reproduce this?

    评论

报告相同问题?