http://ironpython.codeplex.com/workitem/30228
On Thu, Sep 20, 2012 at 3:56 PM, John Dickinson <jhcd.j...@gmail.com> wrote: > Sorry, I've just found this: http://ironpython.codeplex.com/workitem/30228so > I see that it is a bug. > > On Thu, Sep 20, 2012 at 3:48 PM, John Dickinson <jhcd.j...@gmail.com>wrote: > >> I have at least two threads that end up calling struct.pack and >> struct.unpack, and regularly get two exceptions: "SystemError: Object >> reference not set to an instance of an object." and "SystemError: The >> LinkedList node does not belong to current LinkedList.". The following code >> reproduces the problem: >> >> import threading >> import struct >> import time >> import traceback >> import sys >> >> class TestThread(threading.Thread): >> >> def __init__(self): >> super(TestThread, self).__init__() >> self.setDaemon(True) >> >> def run(self): >> while True: >> try: >> struct.unpack('!H', '\x4f\x00') >> struct.pack('H', 20224) >> time.sleep(0.005) >> except Exception, e: >> print(str(e)) >> traceback.print_exception(*sys.exc_info()) >> >> if __name__ == '__main__': >> >> thread_1 = TestThread() >> thread_2 = TestThread() >> >> thread_1.start() >> thread_2.start() >> >> while True: >> print(".") >> time.sleep(1) >> >> (adding more TestThreads makes the error occur more regularly). Running >> the same code in CPython (2.7) I get no errors (presumably because of the >> GIL). It seems that struct isn't thread safe - is this a bug? I'm running >> IronPython "2.7.3 (2.7.0.40) on .NET 4.0.30319.269 (32-bit)" on Windows 7. >> >> >
_______________________________________________ Ironpython-users mailing list Ironpython-users@python.org http://mail.python.org/mailman/listinfo/ironpython-users