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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to