After a fresh install of Ubuntu 11.10, Pidgin stopped connecting to any Jabber service (Google Talk and a local IM). The weird thing is, the same configuration works on a laptop with Ubuntu 11.10, but not on a workstation. The .purple directory has been copied from laptop to workstation, and it still doesn't work. When running piding -d > pidgin.log, following is observed:

(16:06:25) account: Connecting to account foo@gmail.com/.
(16:06:25) connection: Connecting. gc = 0x7f38e3828ea0
(16:06:25) dnssrv: querying SRV record for gmail.com: _xmpp-client._tcp.gmail.com
(16:06:25) dnssrv: found 5 SRV entries
(16:06:25) dnsquery: Performing DNS lookup for xmpp.l.google.com
(16:06:25) dns: Wait for DNS child 11596 failed: No child processes
(16:06:25) dns: Created new DNS child 11867, there are now 1 children.
(16:06:25) dns: Successfully sent DNS request to child 11867
(16:06:25) dns: Got response for 'xmpp.l.google.com'
(16:06:25) dnsquery: IP resolved for xmpp.l.google.com
(16:06:25) proxy: Attempting connection to
(16:06:25) proxy: Connecting to xmpp.l.google.com:5222 with no proxy
(16:06:25) proxy: Connection in progress
(16:06:25) proxy: Connecting to xmpp.l.google.com:5222.
(16:06:25) proxy: Connected to xmpp.l.google.com:5222.
(16:06:25) jabber: Sending (foo@gmail.com): <?xml version='1.0' ?>
(16:06:25) jabber: Sending (foo@gmail.com): <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
(16:06:25) jabber: Recv (379): <stream:stream from="gmail.com" id="49198E875F30F7D0" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"><stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"><required/></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>X-OAUTH2</mechanism></mechanisms></stream:features>
(16:06:25) jabber: Sending (foo@gmail.com): <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
(16:06:25) jabber: Recv (50): <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
(16:06:25) nss: subject=CN=gmail.com,O=Google Inc.,L=Mountain View,ST=California,C=US issuer=CN=Google Internet Authority,O=Google Inc,C=US
(16:06:25) nss: subject=CN=Google Internet Authority,O=Google Inc,C=US issuer=OU=Equifax Secure Certificate Authority,O=Equifax,C=US
(16:06:25) nss: subject=OU=Equifax Secure Certificate Authority,O=Equifax,C=US issuer=OU=Equifax Secure Certificate Authority,O=Equifax,C=US
(16:06:25) certificate/x509/tls_cached: Starting verify for gmail.com
(16:06:25) certificate/x509/tls_cached: Checking for cached cert...
(16:06:25) certificate/x509/tls_cached: ...Found cached cert
(16:06:25) nss/x509: Loading certificate from /home/david/.purple/certificates/x509/tls_peers/gmail.com
(16:06:25) certificate/x509/tls_cached: Peer cert matched cached
(16:06:25) nss/x509: Exporting certificate to /home/david/.purple/certificates/x509/tls_peers/gmail.com
(16:06:25) util: Writing file /home/david/.purple/certificates/x509/tls_peers/gmail.com
(16:06:25) certificate: Successfully verified certificate for gmail.com
(16:06:25) jabber: Sending (ssl) (foo@gmail.com): <stream:stream to='gmail.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
(16:06:25) jabber: Recv (ssl)(138): <stream:stream from="gmail.com" id="F6FD74872873A647" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
(16:06:25) jabber: Recv (ssl)(197): <stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>X-GOOGLE-TOKEN</mechanism><mechanism>X-OAUTH2</mechanism></mechanisms></stream:features>
(16:06:25) sasl: sasl_state is -1, failing the mech and trying again
(16:06:25) connection: Connection error on 0x7f38e3828ea0 (reason: 3 description: Server does not use any supported authentication method)
(16:06:25) account: Disconnecting account foo@gmail.com/ (0x7f38e2ca5b50)
(16:06:25) connection: Disconnecting connection 0x7f38e3828ea0
(16:06:25) jabber: Sending (ssl) (foo@gmail.com): </stream:stream>
(16:06:25) connection: Destroying connection 0x7f38e3828ea0

As you can see, certificate seems to be valid, the problematic one is:

sasl: sasl_state is -1, failing the mech and trying again

There is no firewall enabled, so there has to be something else. Any ideas?

  • 3
    If you have an answer to your question, you should take the answer out of the question and post it as an answer (it's OK to answer your own question). – Azendale Dec 19 '11 at 16:33
  • Thank you, missed the add answer link. I am used to SO design :) – David Kuridža Dec 19 '11 at 18:48

For some reason, /etc/hosts contained wrong hostname for After modifying it, it started working. Hope helps someone as well :)


Check hostname of your system in /etc/hostname. Then modify it in /etc/hosts file. This will solve your problem :-)


I had the same problem in Ubuntu 12.04. When I saw the previous comment, I checked /etc/hosts and it was blank. So, I added the following: localhost ubuntu  

This is how it looks like now:

root@ubuntu:/etc/apt/apt.conf.d# cat /etc/hosts localhost ubuntu

And then

root@ubuntu:/etc/apt/apt.conf.d# /etc/init.d/networking restart  
 * Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
 * Reconfiguring network interfaces...   

Quit Pidgin and open it again. Voila it works like charm now. Hopefully it will help others too.


I had the same issue. It turned out I had enabled 2-step verification on my Google account. I simply went to my application-specific password settings (in Google) and revoked access to Pidgin. Then I added Pidgin back and generated a new application-specific password, entered it into my Google Talk account settings in Pidgin, now all works as it should.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.