System.Data.SQLite
View Ticket
Not logged in
Ticket UUID: f6bc37ac6be7f81827f176f48e723c9f5d212a2c
Title: Multithread test incorrectly reports failure
Status: Closed Type: Test_Defect
Severity: Minor Priority: Low
Subsystem: Test_Automation Resolution: Unable_To_Reproduce
Last Modified: 2012-12-15 10:16:34
Version Found In: trunk
User Comments:
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.