I’ve seen this on and off for a while but now other bugs are being fixed its popping to the top of the list and I still don’t have a clue what’s going wrong - if someone can tell me the problem in the libcurl output below I’d be rather grateful!
I communicate with AWS’ SQS service via Http. The connection is this rolling 30s request - if there is a message remotely it returns right away, if not it hangs out for the 30 seconds and then returns nothing and I repost the request.
For fun there is a C# server running in ec2 that is processing the messages, this uses standard aws C# libraries and isn’t the problem as far as I can tell.
The problem is that sometimes connection just stops working. As far as I can tell the client loses it’s ability to receive messages and continues to behave like that until I stop the program in the editor and relaunch. This seems limited to PC but that is the platform I develop on mostly - so this could just be statistical likelihood.
Very likely a bug in my queue management code but I do tend to see SSL errors around the time of the problem (so perhaps a bug in my http request setup?). Here’s an example:
LogHttp:Warning: 000001F091035480: request failed, libcurl error: 0 (No error)
LogHttp:Warning: 000001F091035480: libcurl info message cache 0 (Found bundle for host sqs.us-west-2.amazonaws.com: 0x1f058434ec8 [can pipeline])
LogHttp:Warning: 000001F091035480: libcurl info message cache 1 (Hostname sqs.us-west-2.amazonaws.com was found in DNS cache)
LogHttp:Warning: 000001F091035480: libcurl info message cache 2 ( Trying 54.240.250.254...)
LogHttp:Warning: 000001F091035480: libcurl info message cache 3 (Connected to sqs.us-west-2.amazonaws.com (54.240.250.254) port 443 (#300))
LogHttp:Warning: 000001F091035480: libcurl info message cache 4 (ALPN, offering http/1.1)
LogHttp:Warning: 000001F091035480: libcurl info message cache 5 (Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH)
LogHttp:Warning: 000001F091035480: libcurl info message cache 6 (SSL re-using session ID)
LogHttp:Warning: 000001F091035480: libcurl info message cache 7 (TLSv1.2 (OUT), TLS handshake, Client hello (1):)
LogHttp:Warning: 000001F091035480: libcurl info message cache 8 (TLSv1.2 (IN), TLS handshake, Server hello (2):)
LogHttp:Warning: 000001F091035480: libcurl info message cache 9 (NPN, negotiated HTTP1.1)
LogHttp:Warning: 000001F091035480: libcurl info message cache 10 (TLSv1.2 (IN), TLS change cipher, Client hello (1):)
LogHttp:Warning: 000001F091035480: libcurl info message cache 11 (TLSv1.2 (IN), TLS handshake, Finished (20):)
LogHttp:Warning: 000001F091035480: libcurl info message cache 12 (TLSv1.2 (OUT), TLS change cipher, Client hello (1):)
LogHttp:Warning: 000001F091035480: libcurl info message cache 13 (TLSv1.2 (OUT), TLS handshake, Unknown (67):)
LogHttp:Warning: 000001F091035480: libcurl info message cache 14 (TLSv1.2 (OUT), TLS handshake, Finished (20):)
LogHttp:Warning: 000001F091035480: libcurl info message cache 15 (SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256)
LogHttp:Warning: 000001F091035480: libcurl info message cache 16 (ALPN, server did not agree to a protocol)
LogHttp:Warning: 000001F091035480: libcurl info message cache 17 (Server certificate:)
LogHttp:Warning: 000001F091035480: libcurl info message cache 18 ( subject: C=US; ST=Washington; L=Seattle; O=Amazon.com, Inc.; CN=us-west-2.queue.amazonaws.com)
LogHttp:Warning: 000001F091035480: libcurl info message cache 19 ( start date: Oct 14 00:00:00 2016 GMT)
LogHttp:Warning: 000001F091035480: libcurl info message cache 20 ( expire date: Oct 28 23:59:59 2017 GMT)
LogHttp:Warning: 000001F091035480: libcurl info message cache 21 ( subjectAltName: sqs.us-west-2.amazonaws.com matched)
LogHttp:Warning: 000001F091035480: libcurl info message cache 22 ( issuer: C=US; O=Symantec Corporation; OU=Symantec Trust Network; CN=Symantec Class 3 Secure Server CA - G4)
LogHttp:Warning: 000001F091035480: libcurl info message cache 23 ( SSL certificate verify ok.)
LogHttp:Warning: 000001F091035480: libcurl info message cache 24 (Closing connection 300)
LogHttp:Warning: 000001F091035480: libcurl info message cache 25 (TLSv1.2 (OUT), TLS alert, Client hello (1):)
In this particular case my code got no errors (i.e. http requests return with error codes, or corrupt data) and seemed to just keep working.
Of course now I’m focussing on this its not happening - which might indicate some timing issue triggered by breakpoints being hit, or the client cycling.
And yeah - I’ve tried to simulate those issues and failed so far.
Too many words already, just trying to get the state of play down.