[IronPython] Problems with hashlib and threading
Curt Hagenlocher
curt at hagenlocher.org
Tue Dec 30 18:13:25 CET 2008
I'm going to guess that this is because we use a static instance
of MD5CryptoServiceProvider to do the hashing, something which may not be
thread-safe. It looks like all of the IronPython crypto implementations do
the same thing, so the SHA functions may have a similar issue.
Please file this as a bug on Codeplex.
On Sat, Dec 20, 2008 at 1:56 PM, Brian Merrell <brian at merrells.org> wrote:
> I get the following error periodically:
>
> Exception in thread Thread-2:
> Traceback (most recent call last):
> File "C:\Program Files\IronPython 2.0\Lib\threading.py", line 486, in
> _Thread__bootstrap_inner
> self.run()
> File "initial_ingest.py", line 33, in run
> md5 = hashlib.md5(contents).hexdigest()
> SystemError: Hash not valid for use in specified state.
>
> I am not sharing a md5() object between threads and have tried to avoid any
> shared memory issues:
>
>
> class Convert(threading.Thread):
> def __init__(self, queue):
> threading.Thread.__init__(self)
> self.queue = queue
> def run(self):
> import hashlib
> while True:
> abs_filename = self.queue.get()
> f = open(abs_filename, "rb")
> contents = f.read()
> f.close()
> md5 = hashlib.md5(contents).hexdigest()
> print md5, abs_filename
> self.queue.task_done()
>
> Any ideas why this is failing? Thanks,
>
> -brian
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20081230/d2fedf90/attachment.html>
More information about the Ironpython-users
mailing list