The underlying problem in the Python code is likely to be because of the behavior of the "random" function in the C library. And for us, this is actually a problem in the BCL. Someone just posted the exact same behavior to an internal mailing list, but from a C# program. They wrote: "I just encountered this behavior of Random.Next(): if I create one Random object and call Next() from one thread (doesn't need to be the main thread), everything works fine. However, if I create one Random object and call Next() on it from two or more threads, after a while it will start to return 0 all the time, and its internal SeedArray becomes all 0."
The Python library contains a comment which reads "The random() method is implemented in C, executes in a single Python step, and is, therefore, threadsafe" so arguably, this is a bug in the _random module of IronPython. Please report it to CodePlex. On Mon, Oct 13, 2008 at 1:57 PM, Ronnie Maor <[EMAIL PROTECTED]> wrote: > problem was caused by calling random from several threads without locking. > it reproduces more easily in IPy than in CPython because of the GIL, but > it's documented as not thread safe for CPython too. > > On Sun, Oct 12, 2008 at 11:27 AM, Asaf Kleinbort <[EMAIL PROTECTED]>wrote: > >> Hi, >> >> We have encountered two strange errors in the 'random' module: >> >> 1. At some point the random method 'getrandbits(63)' started (and >> kept) returning 0 – until we restarted the application. >> >> 2. The random method 'shuffle' when applied on a list kept >> returning the same ordered list. Again – restarting the application solved >> the problem >> >> An interesting remark is that issue #1 happened to us today in two >> different applications, around the same time. >> >> Any ideas? >> >> Thanks, >> >> Asaf >> >> _______________________________________________ >> Users mailing list >> [email protected] >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >> >> > > _______________________________________________ > Users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >
_______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
