View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0004497||JEDI VCL||00 JVCL Components||public||2008-10-05 01:46||2008-10-07 00:15|
|Product Version||Daily / GIT|
|Target Version||Fixed in Version||3.36|
|Summary||0004497: Application don't answer after TjvDice is stopped|
|Description||IDE: Delphi 7 update 1, Delphi 2007 update 3, Delphi 2009. |
OS: Windows XP SP3 ENG.
If run application containing TJVdice component, set it Rotate property
to True, than to False. After that application stops to answer.
|Tags||No tags attached.|
I've made some investigations and find out that it happens in destructor TJvTimerThread.Destroy at line inherited Destroy;
where original TTread destructor cames into infinite loop.
||Could you create a small sample?|
||Yes, please post the zipped sources of a sample application showing this issue.|
Well it can be seen even under IDE, put TJVDice on form set Rotate to True,
then to False. IDE will hang.
The Problem is in TJvTimer.Destroy.
The point is that after FTimerThread.Terminate; the procedure TJvTimerThread.Execute; is not stopped.
Don't know why, but i can't figure out the problem.
Maybe it's too late for me :-)
JvDiceTest.zip (1,109 bytes)
That's "logical". Calling Terminate merely sets Terminated to True and it is the responsibility of the Execute method to regularly test this value and stop when it changes to "True".
What the problem is here is that the thread is waiting for the code inside "TimerFires" to terminate, but this code is waiting for the thread to terminate thru FTimer.Free;
This code is the source of the deadlock. I'm modifying it right now to make it work better and still avoid memory leaks.
||This is now fixed in SVN, revision 11945|
|2008-10-05 01:46||corwin||New Issue|
|2008-10-05 03:21||corwin||Note Added: 0014744|
|2008-10-05 06:55||jfudickar||Note Added: 0014748|
|2008-10-06 00:05||obones||Note Added: 0014761|
|2008-10-06 00:05||obones||Status||new => feedback|
|2008-10-06 01:41||corwin||Note Added: 0014764|
|2008-10-06 16:03||jfudickar||Note Added: 0014771|
|2008-10-06 16:03||jfudickar||File Added: JvDiceTest.zip|
|2008-10-07 00:02||obones||Note Added: 0014772|
|2008-10-07 00:02||obones||Status||feedback => confirmed|
|2008-10-07 00:14||obones||Status||confirmed => resolved|
|2008-10-07 00:14||obones||Fixed in Version||=> Daily / SVN|
|2008-10-07 00:14||obones||Resolution||open => fixed|
|2008-10-07 00:14||obones||Assigned To||=> obones|
|2008-10-07 00:14||obones||Note Added: 0014773|