Jump to content

connection error, communication failure: 0


Vision

Recommended Posts

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

  1. waiting for some operation in main (tipically a few query to firebird) 
  2. when all booelan that rapresent task are accomplished,
  3. 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

cache.jpg

LOG2.7z

cache.7z

Link to comment
Share on other sites

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

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

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

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...