[fpc-devel] Synapse hangs in ARM-Linux

Michael Schnell mschnell at lumino.de
Tue Jan 29 11:07:59 CET 2013


Follow-up:

I d/l'ed the most recent Synapse snapshot and when compiling  I get:

Compiling ./synapse/synautil.pas
jedi.inc(512,4) Error: Illegal assembler style specified "INTEL"

This is easily fixed by commenting out the appropriate line in jedi.inc, 
but it shows that this Synapse version is not yet tested on ARM.

Now I set the ConnectTimeout to 10000 (10 seconds) and retested.

I found that in fact Synapse does return to the user program which 
requests a retry but in one test of the same project it finished after 
about 30 Minutes and in another it was after more than 60 (I killed the 
test after that time.) .

Either some other Timeout definition is used, or the timeout in that 
case does not work decently

I found that with Synapse on Windows and PC Linux, the Target (Heating 
Controller device) mostly  seems to force a timeout (or some other error 
resulting in a retry) but sometimes not. With 20 or more seconds connect 
timeout I usually get one retry,  with 10 Seconds connect Timeout I 
usually get two retries. But on ARM the project always hangs on the 
third HTTP request (after two successful ones.)

I did do some logging using HTTPSend.Sock.OnStatus. (complete Logs below)



Here in Windows I see a:
"13:10060,Connection timed out"
after 30 Seconds (I think I did set the ConnectTimeout to 30000 at this 
time)
resulting in a retry requested by my software.

Note that the timeout comes after
"2:IPv4"
("2" being  HR_SocketCreate if I am not failed, and "7" = HR_CanWrite /  
"5" = HR_Connect are not reached on the first try.)



The Log for the ARM version shows something very different 
(unfortunately this version of my software did not yet timestamp the 
log. I'll retest with the updated version ASAP.)
"2:IPv4"
"7:"
"5:192.168.71.252:80"
"11:5382"
"13:110,Connection timed out"

Seemingly the connect ( "7" = HR_CanWrite /  "5" = HR_Connect) is 
performed without a timeout being hit.

Now it does "11" = HR_WriteCount is shown, supposedly indicating my 
write request.
and "13" = HR_Error seems shows that a timeout error on that Write 
occurred.

Seemingly the target does not understand or like the write request 
issued by synapse.

Seemingly this is deterministic and happens all the time.

Is the number given with the "11" = HR_WriteCount log message indeed the 
count of bytes that are written in this request or is it an accumulated 
count ?

In fact I think I issue not more than 100 bytes per request.


Any additional suggestions ?

Thanks,
-Michael


------------------------------------------------------------------------
HTTPSend.Sock.OnStatus Log on Windows (on PC Linux it's similar):

621 OK
 >>>29.01.2013 00:18:39>>>3:
 >>>29.01.2013 00:18:39>>>0:192.168.71.252:80
 >>>29.01.2013 00:18:39>>>1:192.168.71.252:80
 >>>29.01.2013 00:18:39>>>2:IPv4
 >>>29.01.2013 00:19:09>>>13:10060,Connection timed out
 >>>29.01.2013 00:19:09>>>5:192.168.71.252:80
 >>>29.01.2013 00:19:09>>>3:
 >>>29.01.2013 00:19:09>>>0:192.168.71.252:80
 >>>29.01.2013 00:19:09>>>1:192.168.71.252:80
 >>>29.01.2013 00:19:09>>>2:IPv4
 >>>29.01.2013 00:19:09>>>7:
 >>>29.01.2013 00:19:09>>>5:192.168.71.252:80
 >>>29.01.2013 00:19:09>>>11:6317
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:450
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>10:130
 >>>29.01.2013 00:19:09>>>6:
 >>>29.01.2013 00:19:09>>>13:10054,Connection reset by peer
 >>>29.01.2013 00:19:09>>>3:
(1)
Logout OK
Boost OK
  ==== 0 -> Brenner ist bereits eingeschaltet
Send Mail OK
Login OK
MailCount: 0
Logout ...
OK
CheckMail OK
  -- No Mail --
Login OK
MailCount: 0
Logout ...
OK
CheckMail OK
  -- No Mail --
Login OK
MailCount: 0
Logout ...
OK
CheckMail OK
  -- No Mail --
Login OK
MailCount: 0
Logout ...
OK
CheckMail OK
  -- No Mail --
Login OK
MailCount: 0
Logout ...
OK
CheckMail OK
  -- No Mail --
Stopped 29.01.2013 00:19:40
 >>>29.01.2013 00:19:40>>>3:

I:\Lazarus_Projekte\heizung>


------------------------------------------------------------------------
HTTPSend.Sock.OnStatus Log on ARM:

Login OK
MailCount: 1
Mail No. 1:
From: Michael Schnell <mschnell at bschnell.de>
To:
Heizung at bschnell.de
Subject: test1
Date: 28-1-13 22:56:41
Body Lines: 9
Deleting Mail No. 1...
OK
Logout ...
OK
CheckMail OK
Sender = Michael Schnell <mschnell at bschnell.de> :  OK
<html>
   <head>
     <meta http-equiv="content-type" content="text/html;
       charset=ISO-8859-15">
   </head>
   <body bgcolor="#FFFFFF" text="#000000">
     boost
   </body>
</html>
Command = 1
 >>>3:
 >>>0:192.168.71.252:80
 >>>1:192.168.71.252:80
 >>>2:IPv4
 >>>7:
 >>>5:192.168.71.252:80
 >>>11:157
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:162
 >>>6:
 >>>13:104,Connection reset by peer
 >>>3:
(0)
Login OK
 >>>3:
 >>>0:192.168.71.252:80
 >>>1:192.168.71.252:80
 >>>2:IPv4
 >>>7:
 >>>5:192.168.71.252:80
 >>>11:4799
 >>>10:3856
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:450
 >>>6:
 >>>10:310
 >>>6:
 >>>13:104,Connection reset by peer
 >>>3:
(0)
621 OK
 >>>3:
 >>>0:192.168.71.252:80
 >>>1:192.168.71.252:80
 >>>2:IPv4
 >>>7:
 >>>5:192.168.71.252:80
 >>>11:5616
 >>>13:110,Connection timed out
 >>>6:
 >>>10:5663
 >>>3:
 >>>0:192.168.71.252:80
 >>>1:192.168.71.252:80
 >>>2:IPv4
 >>>7:
 >>>5:192.168.71.252:80
 >>>11:5382
 >>>13:110,Connection timed out
 >>>6:
 >>>10:5638
 >>>3:
 >>>0:192.168.71.252:80
 >>>1:192.168.71.252:80
 >>>2:IPv4
 >>>7:
 >>>5:192.168.71.252:80
 >>>11:5382
 >>>13:110,Connection timed out
 >>>6:
 >>>10:5638
 >>>3:
 >>>0:192.168.71.252:80
 >>>1:192.168.71.252:80
 >>>2:IPv4
 >>>7:
 >>>5:192.168.71.252:80
 >>>11:5382
 >>>13:110,Connection timed out
Boost Error
Boost Error
  ==== -9 -> Fehler bei Zugriff auf die Steuerung
Send Mail OK
Stopped 29-1-13 00:02:36
 >>>3:
[/share/Public/heizarm] #
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20130129/97aac2cf/attachment.html>


More information about the fpc-devel mailing list