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