Resolved: The issue came from AVAST antivirus, which is altering the connection 
content in some way.
When Avast is deactivated: no more error
When Avast agent are activated:
- some tcp packets get altered, leading to unstable state in ICS http server 
post request processing
- some connections are dropped, leading to 10061 error, when multiple 
connections are open in parallel threads
Avast version was: 8.0.1489. Updated to latest version (8.0.1497) with same 
issue!
The issue is systematically reproducible.

Glad that the issue was not in ICS code, as I have strong expectations on it!
Be aware that even if not the responsibility of ICS code, Avast can block or 
alter connection and trigger invalid states on server side, which is annoying 
as it is widely spreaded

Thanks & regards,
Laurent




________________________________
 De : François Piette <francois.pie...@skynet.be>
À : 'ICS support mailing' <twsocket@lists.elists.org> 
Envoyé le : Samedi 12 octobre 2013 11h01
Objet : Re: [twsocket] Post data lost
 

Hello Laurent,

As far as I can see, your code is working properly. Client always display
"NNN> Request OK with answer: 20" with NNN being the request number.
Server always display:
PostDocument: NNN
Before answer: PostDocument=NNN PostedData=NNN-1
PostedData: NNN

Having NNN the request number.

It also display "Breakpoint on lost data here!" for all requests except the
first. This is normal behavior of your code since you display this message
if OTADeltaCount is > 1 and you only increment OTADeltaCount global
variable. Btw: You should not use global variable.

I compiled your application using XE5 and ICS-V8 released (not using the
copy of ICS files you sent).

-- 
francois.pie...@overbyte.be
Embarcadero MVP
http://www.overbyte.be
http://francois-piette.blogspot.com





-----Message d'origine-----
De : TWSocket [mailto:twsocket-boun...@lists.elists.org] De la part de
Laurent Breysse
Envoyé : vendredi 11 octobre 2013 17:18
À : tw >> ICS support mailing
Objet : [twsocket] Post data lost

Hello,
When testing my webservice I saw that POST data could be lost: the
OnPostedData handler of the http server component is never called, despite
the hgAcceptData set in OnPostDocument.
I have reproduced this issue with a simple http server, based on the WebServ
sample The use case: repeated sequential posts sent with a indy client
component, with a basic query string (56 bytes long) Most POST are correctly
handled, but some are simply dropped.

In ICS code, the issue leads to the THttpConnection.ConnectionDataSent
method:
on line 4565 (v8 gold release), FState is reset to hcRequest On the
following line, the comment { no stream usually means just a header string
has been sent } is wrong in this case, a querystring has been sent. FDocSize
equals 0 at this time.
Next, in THttpConnection.ParseRequest, the FMethod is then initialized with
the content of the query string (the above 56 bytes)

I'm new to ICS so I was not able to push further the analysis.
No clue if this a bug, I could simply provide sample code to reproduce the
issue.
Any advise welcome,

Regards,
Laurent
--
To unsubscribe or change your settings for TWSocket mailing list please goto
http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to