[fpc-devel] Synapse hangs in ARM-Linux
Michael Schnell
mschnell at lumino.de
Mon Jan 28 11:47:08 CET 2013
Hi,
(Any Synapse experts around :-) ? )
With the great help from Thomas (who taught me to understand how the
Linker works and that it's error messages are not what I supposed them
to be) I have been able to compile and partly run my Snapse-based
project - that already runs fine on Windows and PC-Linux - on my QBAP
NAS device.
It can receive and send E-Mails via POP3 and SMTP just fine and does
access a HTTP server (the controller of a Central Heating attached to
the local Ethernet) via HTTP.
The problem is, that the HTTP access to the "embedded Web Server" in the
Heating Controller rather often results in a timeout. (Supposedly the
small CPU in the controller is too busy with other stuff and just drops
the Socket open request instead of answering.)
For the Windows and PC Linux versions of my project this is no problem
at all. When I get any error message from Synapse, I simply do a retry.
I found I never need more than just another try to make it work
decently. (Supposedly any Browser does this under the hood without the
user noticing it.)
But when using the same Pascal code for my project and Synapse (the RTL
and FCL libraries are from the svn for the PC, but from the
"TAR-distribution" for ARM) on the ARM Box, the project infinitely hangs
when this situation is hit. Usually several HTTP requests do work and it
hangs with the next one.
Synapse (or whatever is called by same) It hangs in state "5"
("HR_Connect") and obviously never returns to my user code.
When it hangs, even CTRL-C does not have any effect and I need to use
"kill" from another console session.
I tried to reproduce this with a more simple project, just accessing a
non-existing IP address, but I found that while on Windows here Synapse
issues a time out (after some seconds, exactly like when the Heating
Controller fails to answer), when compiling for Linux (PC and ARM) the
error message is "HR_Error: 113,No route to host" and is issued
immediately and thus not involves a timeout (and no hanging on ARM).
So I'm out of luck, as I would need to install debugging tools (Lazarus
locally, Remote debugging with Lazarus) or learn to work with gdb on fpc
projects) and try to find problems in code that is not created by
myself. This does not sound like easy to do.
Any suggestions on how to proceed ?
Thanks
-Michael
More information about the fpc-devel
mailing list