|Title:||Multithread test incorrectly reports failure|
|Last Modified:||2012-12-15 10:16:34|
|Version Found In:||trunk|
anonymous added on 2012-12-12 00:04:47:
There is a bug in the multi-threaded test (Test.exe) which causes it to incorrectly report "One or more threads deadlocked" This is caused by the following line: arr[n].t.Join(0) which doesn't give enough time for .NET to actually end the thread. I can reproduce this problem on a win7 32bit VM by simply running "Test.exe"
mistachkin added on 2012-12-12 02:23:00:
Waiting for zero milliseconds means "do not wait". This has the effect of testing if the thread has already been stopped. However, the call to the System.Threading.WaitHandle.WaitAll method above that actually waits for up to 60 seconds for all threads to signal completion. I suppose on a system under heavy load, it could take longer than 60 seconds for 8 threads to signal completion; however, I have not personally seen this test ever fail. Although, I've also never tried to run the System.Data.SQLite in a virtual machine.
mistachkin added on 2012-12-12 23:36:49:
Ticket will be closed after the end-of-business on Friday, December 14th, 2012 if no response is received by then.
mistachkin added on 2012-12-13 02:15:23:
The test in question has been modified to allow approximately 7.5 seconds per thread prior to aborting a thread and failing the test. Please let me know if this clears the issue you are seeing.