EionRobb / purple-hangouts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Disconnects every few minutes due to HTTP 400 error

EionRobb opened this issue · comments

Original report by Coda Highland (Bitbucket: ahigerd, GitHub: ahigerd).


I'm getting very frequent disconnects (every couple of minutes). With debug logs enabled, I see the following in a loop:

DEBUG hangouts: longpoll_request_content had error: 'Invalid HTTP response code (400)'
DEBUG http: Cannot write using callback
DEBUG http: Request 0x5612fb15a2f0 performed without success.
DEBUG hangouts: longpoll_request_closed 0 Error handling retrieved data
DEBUG http: Performing new request 0x5612faed7b60 to 0.client-channel.google.com.
DEBUG dnsquery: Performing DNS lookup for 0.client-channel.google.com
DEBUG dns: Successfully sent DNS request to child 2282
DEBUG dns: Got response for '0.client-channel.google.com'
DEBUG dnsquery: IP resolved for 0.client-channel.google.com
DEBUG proxy: Attempting connection to 64.233.180.189
DEBUG proxy: Connecting to 0.client-channel.google.com:443 with no proxy
DEBUG proxy: Connection in progress
DEBUG proxy: Connecting to 0.client-channel.google.com:443.
DEBUG proxy: Connected to 0.client-channel.google.com:443.
DEBUG nss: SSL version 3.3 using 128-bit AES-GCM with 128-bit AEAD MAC
Server Auth: 2048-bit RSA, Key Exchange: 255-bit ECDHE, Compression: NULL
Cipher Suite Name: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
DEBUG nss: subject=CN=*.mail.google.com,O=Google LLC,L=Mountain View,ST=California,C=US issuer=CN=Google Internet Authority G3,O=Google Trust Services,C=US
DEBUG nss: subject=CN=Google Internet Authority G3,O=Google Trust Services,C=US issuer=CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
DEBUG nss: partial certificate chain
DEBUG certificate/x509/tls_cached: Starting verify for 0.client-channel.google.com
DEBUG certificate/x509/tls_cached: Checking for cached cert...
DEBUG certificate/x509/tls_cached: ...Found cached cert
DEBUG nss/x509: Loading certificate from /var/lib/bitlbee//purple/coda/certificates/x509/tls_peers/0.client-channel.google.com
DEBUG certificate/x509/tls_cached: Peer cert matched cached
DEBUG nss/x509: Exporting certificate to /var/lib/bitlbee//purple/coda/certificates/x509/tls_peers/0.client-channel.google.com
DEBUG util: Writing file /var/lib/bitlbee//purple/coda/certificates/x509/tls_peers/0.client-channel.google.com
DEBUG nss: Trusting CN=*.mail.google.com,O=Google LLC,L=Mountain View,ST=California,C=US
DEBUG certificate: Successfully verified certificate for 0.client-channel.google.com
DEBUG http: Request 0x5612faed7b60 performed successfully.
DEBUG http: Performing new request 0x5612fb167d00 to 0.client-channel.google.com.
DEBUG dnsquery: Performing DNS lookup for 0.client-channel.google.com
DEBUG dns: Successfully sent DNS request to child 2282
DEBUG dns: Got response for '0.client-channel.google.com'
DEBUG dnsquery: IP resolved for 0.client-channel.google.com
DEBUG proxy: Attempting connection to 64.233.179.189
DEBUG proxy: Connecting to 0.client-channel.google.com:443 with no proxy
DEBUG proxy: Connection in progress
DEBUG proxy: Connecting to 0.client-channel.google.com:443.
DEBUG proxy: Connected to 0.client-channel.google.com:443.
DEBUG nss: SSL version 3.3 using 128-bit AES-GCM with 128-bit AEAD MAC
Server Auth: 2048-bit RSA, Key Exchange: 255-bit ECDHE, Compression: NULL
Cipher Suite Name: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
DEBUG nss: subject=CN=*.mail.google.com,O=Google LLC,L=Mountain View,ST=California,C=US issuer=CN=Google Internet Authority G3,O=Google Trust Services,C=US
DEBUG nss: subject=CN=Google Internet Authority G3,O=Google Trust Services,C=US issuer=CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2
DEBUG nss: partial certificate chain
DEBUG certificate/x509/tls_cached: Starting verify for 0.client-channel.google.com
DEBUG certificate/x509/tls_cached: Checking for cached cert...
DEBUG certificate/x509/tls_cached: ...Found cached cert
DEBUG nss/x509: Loading certificate from /var/lib/bitlbee//purple/coda/certificates/x509/tls_peers/0.client-channel.google.com
DEBUG certificate/x509/tls_cached: Peer cert matched cached
DEBUG nss/x509: Exporting certificate to /var/lib/bitlbee//purple/coda/certificates/x509/tls_peers/0.client-channel.google.com
DEBUG util: Writing file /var/lib/bitlbee//purple/coda/certificates/x509/tls_peers/0.client-channel.google.com
DEBUG nss: Trusting CN=*.mail.google.com,O=Google LLC,L=Mountain View,ST=California,C=US
DEBUG certificate: Successfully verified certificate for 0.client-channel.google.com
DEBUG hangouts: longpoll_request_content had error: 'Invalid HTTP response code (400)'

Eventually something (perhaps the watchdog?) comes around and makes it report a disconnection, it waits a moment and tries again, and I get another round of debug log spam.

While it's busy retrying incessantly, Hangouts more or less appears to work aside from getting disconnected very frequently (and spamming up my status channel with reconnect messages), but it's hard to tell for sure.

Original comment by Eion Robb (Bitbucket: EionRobb, GitHub: EionRobb).


Sounds like it might be the same as https://bitbucket.org/EionRobb/purple-hangouts/issues/187/hangouts-not-getting-replies-and ?

Which 'version' of the plugin are you using?

Original comment by Coda Highland (Bitbucket: ahigerd, GitHub: ahigerd).


Latest master (that is, cccf2f6). It does seem to resemble that one, but supposedly I have the relevant patch already.

Original comment by Coda Highland (Bitbucket: ahigerd, GitHub: ahigerd).


I'm suddenly wondering if this doesn't have anything to do with purple-hangouts at all (or at least, not directly) because I can't access Hangouts via hangouts.google.com, the Hangouts extension, the Hangouts Chrome app, or the Gmail chat widget. It works on my Android phone but the rest all come up with connection errors too.

I'm contacting Google Support to see if something's wrong with my account. If it turns out that purple-hangouts is at fault for me getting blocked I'll report back.

Original comment by Coda Highland (Bitbucket: ahigerd, GitHub: ahigerd).


The issue in the Chrome app seems to have cleared up on its own. I never heard back from Google Support. For now I've just switched back to using the XMPP gateway to avoid risking this happening again. I'll try again later.

This is my experience also: whenever the problem happens, (I think it's an HTTP 403 error if I recall correctly?) Hangouts in the browser also fails. Could be Google getting upset at lots of reconnect attempts and blacklisting the client/ip/etc? Or just a random Hangouts service issue?