Vision Posted December 22, 2018 Share Posted December 22, 2018 Hi In this days I'm testing my app. I noticed that when I have more than a client conneted (Probably) my app freeze and appear messages: connection error, communication failure: 0 . NB: i do not have variable uni server module ( not even one) My test consit in waiting for some operation in main (tipically a few query to firebird) when all booelan that rapresent task are accomplished, a timer check the boolean then uniapplication.restart; I'm sure that i have no exception inside my code: i filled all the code with try except and CNdebugger trace message. I also trace message by ip and session but i Have not strange behaviour on my side. Situation is quite strange because seem not to be direct propotional with number of user (with more than 50 client the situation happen after more than 2000 restart). Im using unigui 1481and firebird 3.0.3. I have enabled all log option in the server. Probably there is someting interesting beteween row 382243 and 410000 (see in LOG.7z) In this case i had closed some window and communication restarted: with more 50 client when i had halt the service MAD eXCEPT did not report leack. (vOYAGERwEB.exe: 00000168: 15:42:08 [169.254.183.52]:Failed Sequence Recovery: SeqId: 15, Event: timer, Status: 0, StatusText: "communication failure", TimedOut: true, cQs: f:{}, s:{16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205}, a:{206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269}, r:{}) In LOG2.7Z i had attached all the log. I found in the last row of log vOYAGERwEB.exe: 000013DC: 16:22:10 [169.254.183.52]:Failed Sequence Recovery : TDiff:2028, Event: timer, Expected: 153, Received: 158, [qD1qop7tHT10305A0DF] vOYAGERwEB.exe: 000013DC: 16:22:10 [169.254.183.52]:Rejected Sequence : 158, Expected: 153, RecoverFailureTimeout: 135000, FTime: 203 vOYAGERwEB.exe: 000013DC: 16:22:10 [169.254.183.52]:Processed: Id: 158, Evt: timer, [qD1qop7tHT10305A0DF] vOYAGERwEB.exe: 000028E0: 16:22:10 [127.0.0.1]:Processed: Id: -1, Evt: , [OfDzYMco5X10305A26E] vOYAGERwEB.exe: 0000120C: 16:22:11 [169.254.183.52]:Failed Sequence Recovery : TDiff:2012, Event: timer, Expected: 153, Received: 156, [qD1qop7tHT10305A0DF] vOYAGERwEB.exe: 0000120C: 16:22:11 [169.254.183.52]:Rejected Sequence : 156, Expected: 153, RecoverFailureTimeout: 135000, FTime: 624 vOYAGERwEB.exe: 0000120C: 16:22:11 [169.254.183.52]:Processed: Id: 156, Evt: timer, [qD1qop7tHT10305A0DF] that are the same folder present in cache folder (see image attached cache.jpg) In conclusion: I'm asking help for understan where is the problem. I think that there are a lot of info. In LOG.7z i have attached a situation close to failure in LOG2.7Z SERVER stop working. I also have attached the folder cache Tnk to all Cris LOG.7z LOG2.7z cache.7z Link to comment Share on other sites More sharing options...
Vision Posted December 22, 2018 Author Share Posted December 22, 2018 Update. I have just removed all the code in my program after on resize in main. The problem is still present. Going to 100 user i also get an access violation.. Attach the log: vOYAGERwEB.exe: 00002228: 18:51:06 [169.254.183.52]:Processed: Id: -1, Evt: , [FyXrkPyFlq10305CAD0] vOYAGERwEB.exe: 00000450: 18:51:06 [169.254.183.52]:Processing: Id: -1, Evt: vOYAGERwEB.exe: 000018B8: 18:51:06 [169.254.183.52]:Processing: Id: -1, Evt: vOYAGERwEB.exe: 00002574: 18:51:06 [127.0.0.1]:Processing: Id: -1, Evt: vOYAGERwEB.exe: 00002CB0: 18:51:06 [169.254.183.52]:Processing: Id: -1, Evt: vOYAGERwEB.exe: 00002228: 18:51:06 [169.254.183.52]:Processing: Id: -1, Evt: vOYAGERwEB.exe: 00000BC0: 18:51:06 [169.254.183.52]:Processing: Id: -1, Evt: vOYAGERwEB.exe: 00002BA4: 18:51:06 [169.254.183.52]:Processed: Id: -1, Evt: , [vRFiVU2WUy10305CAD0] vOYAGERwEB.exe: 00002BA4: 18:51:06 [169.254.183.52]:Processing: Id: -1, Evt: vOYAGERwEB.exe: 00001388: 18:51:09 [127.0.0.1]:Processed: Id: -1, Evt: , [uyNg1r8OeC10305CAD4] vOYAGERwEB.exe: 000022E8: 18:51:09 [127.0.0.1]:Processed: Id: -1, Evt: , [DzxDMBlmLq10305CAD4] vOYAGERwEB.exe: 00001F78: 18:51:09 [127.0.0.1]:Processed: Id: -1, Evt: , [nlTYvqZxn710305CAD4] vOYAGERwEB.exe: 00001C34: 18:51:09 [127.0.0.1]:Processed: Id: -1, Evt: , [MvQwhLkECz10305CAD4] vOYAGERwEB.exe: 00001550: 18:51:09 [127.0.0.1]:Processed: Id: -1, Evt: , [y9gyLsYgHJ10305CAD4] vOYAGERwEB.exe: 00002574: 18:51:10 [127.0.0.1]:Processed: Id: -1, Evt: , [Q3PGgpKB4e10305CAD5] So the question is now: I have a 6 firedac connection + query + dataset create i ìn UniGUIMainModuleCreate and destroy the same in UniGUIMainModuleBrowserClose. is correct? do i have to destroy the firedac component in UniGUIMainModuleDestroy? I have no other Ideas.. log3.7z Link to comment Share on other sites More sharing options...
Sherzod Posted December 22, 2018 Share Posted December 22, 2018 Hi, ... Are you using UniGUI Data Module ? Link to comment Share on other sites More sharing options...
Sherzod Posted December 22, 2018 Share Posted December 22, 2018 http://unigui.com/doc/online_help/application-datamodule.htm Link to comment Share on other sites More sharing options...
Vision Posted December 22, 2018 Author Share Posted December 22, 2018 Hi No I'm not using unigui data module. What do I have to place in data module? I read a few: can you explain me why do have to use it? Link to comment Share on other sites More sharing options...
Vision Posted December 23, 2018 Author Share Posted December 23, 2018 23 hours ago, Sherzod said: http://unigui.com/doc/online_help/application-datamodule.htm Hi Im still waiting forum a tip. What do i have to place in data module?? And why do i have to use it? Tnks Link to comment Share on other sites More sharing options...
Vision Posted December 23, 2018 Author Share Posted December 23, 2018 I was thinking that i dont know why and how session lock. I have this feeling whatching the screen. Is the a way to reboot session locked? Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted December 23, 2018 Administrators Share Posted December 23, 2018 Hi, You said you have a unitimer. What is its Interval? What type of code do you call in the event handler? Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted December 23, 2018 Administrators Share Posted December 23, 2018 Quote do i have to destroy the firedac component in UniGUIMainModuleDestroy? I have no other Ideas.. Yes, if you create them in OnCreate event, then you must destroy them in the OnDestroy event. Link to comment Share on other sites More sharing options...
Vision Posted December 23, 2018 Author Share Posted December 23, 2018 10 minutes ago, Farshad Mohajeri said: Yes, if you create them in OnCreate event, then you must destroy them in the OnDestroy event. Hi already changed in visual component: behaviour is the same. Tnks for your attention Link to comment Share on other sites More sharing options...
Vision Posted December 23, 2018 Author Share Posted December 23, 2018 16 minutes ago, Farshad Mohajeri said: Hi, You said you have a unitimer. What is its Interval? What type of code do you call in the event handler? Hi 5 second. Uniapplication.restart Link to comment Share on other sites More sharing options...
Vision Posted December 24, 2018 Author Share Posted December 24, 2018 4 hours ago, cristian said: Hi already changed in visual component: behaviour is the same. Tnks for your attention 4 hours ago, cristian said: Hi 5 second. Uniapplication.restart I was thinking, that probably the most interesting aspect in this situation is that the session could reboot two thousand times without memory leak (checked via MadExcept). So probably is a concurrency bug: the point is that i have not servermodule variable. Is possible that the lock of resources reside in JS level? Using Cndebugger i noticed that sometimes a query was called without exception but i did not recieved confirmation from tunidbgrid on after load method. Otherwise i have a dead lock in DB side but i have checked: the query from anothe vcl demo work fine. The test are performed with 4 pc i7 8th gen, 8GB ram and so on: for each pc I open more than 12 separated pages: in this way I could check the status in all pages simultaneously. Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted December 25, 2018 Administrators Share Posted December 25, 2018 On 12/23/2018 at 10:41 PM, cristian said: Hi 5 second. Uniapplication.restart What is the purpose of this? Link to comment Share on other sites More sharing options...
Vision Posted December 25, 2018 Author Share Posted December 25, 2018 5 hours ago, Farshad Mohajeri said: What is the purpose of this? Is for simulate log off. I use this command also in other situation like when user change lenguage. Is a problem if I use uniapplication.restart? Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted December 26, 2018 Administrators Share Posted December 26, 2018 No. You can use it. Link to comment Share on other sites More sharing options...
Administrators Farshad Mohajeri Posted December 26, 2018 Administrators Share Posted December 26, 2018 Could you resolve the issue? Link to comment Share on other sites More sharing options...
Vision Posted December 26, 2018 Author Share Posted December 26, 2018 5 hours ago, Farshad Mohajeri said: Could you resolve the issue? No, I have already spent 3 days trying to debug without result. Tomorrow i will try to move the firedac component in a separated datamodule but I'm not confident. My problem at the moment is that I have no idea who is the cause of the block nor tools to look for the origin of this. Only way is to delete block of code till remove bug i think.. Link to comment Share on other sites More sharing options...
Vision Posted December 26, 2018 Author Share Posted December 26, 2018 6 hours ago, Farshad Mohajeri said: Could you resolve the issue? Is there a way to monitor a responsivity from a session in server module? Maybe if i kill the session all other session dont stop. Link to comment Share on other sites More sharing options...
Vision Posted December 31, 2018 Author Share Posted December 31, 2018 On 12/26/2018 at 8:40 AM, Farshad Mohajeri said: Could you resolve the issue? Hi I think that I had find part of the reason of session blocking (probably). I noticed that i had to much connection opened from my application to firebird db: every time I open a new session now I verify that the number of connection is under 70. In this way I had removed the main part of the problem (old session keep connection till destruction). Too much connection block service so block my application. Pretty nice.. Second, and here I need you mr Farshad, i still see some blocked session. Logging i could see that every time my program stop working last log is between the aftershow and UniFormScreenResize, the problem is that i have no code between this 2 point. So i pass to the end of UniFormBeforeShow but never reach the begin of UniFormScreenResize. Any suggestion? Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now