Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-6018

Can't connect to Google Talk after upgrading to Jabber plugin 1.7

    XMLWordPrintable

Details

    Description

      I have tried tweaking my settings, they are currently set up like this:

      jabber id: full.username@gmail.com
      password: (actual password - triple checked that it was entered correctly)
      server: talk.google.com
      expose presence: checked
      acceptance mode: accept_all
      bot command prefix: !

      all others are left blank. (My hudson server lives inside the VPN and doesn't have user auth turned on, so I don't have a hudson username / password)

      It was working before with version 1.5 - but I was having an issue where after a day or so the jabber connection would die and not be reconnected so I was hoping updating to 1.7 with the new smack library would fix that (or at least have it reconnect when it died)

      Here's what I'm getting in my log when it tries to connect:

      Mar 22, 2010 9:45:19 AM hudson.plugins.jabber.im.transport.JabberIMConnection connect
      WARNING: SASL authentication failed using mechanism PLAIN:
      at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:325)
      at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:395)
      at hudson.plugins.jabber.im.transport.JabberIMConnection.createConnection(JabberIMConnection.java:225)
      at hudson.plugins.jabber.im.transport.JabberIMConnection.connect(JabberIMConnection.java:121)
      at hudson.plugins.jabber.im.transport.JabberIMConnectionProvider.createConnection(JabberIMConnectionProvider.java:42)
      at hudson.plugins.im.IMConnectionProvider.currentConnection(IMConnectionProvider.java:44)
      at hudson.plugins.im.HudsonIsBusyListener.setStatus(HudsonIsBusyListener.java:110)
      at hudson.plugins.im.HudsonIsBusyListener.updateIMStatus(HudsonIsBusyListener.java:101)
      at hudson.plugins.im.HudsonIsBusyListener.access$000(HudsonIsBusyListener.java:18)
      at hudson.plugins.im.HudsonIsBusyListener$1.run(HudsonIsBusyListener.java:33)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:637)

      On a plus side, it happens pretty regularly - so if I can just get it to log in it seems like the problem I had before where it would just die might be taken care of since it seems to keep trying to reconnect when it doesn't have a connection.

      Attachments

        Activity

          kutzi kutzi added a comment - - edited

          I'd like 2 different patches.

          I'm not quite sure about the Smack reconnection management, yet.
          The big advantage of the plugin's own reconnection mechanism is that I can exactly control what it does and reuse it for the IRC plugin.

          What's your problem with it? Is it not quick enough to reconnect? If that's the problem, I can tweak it.

          kutzi kutzi added a comment - - edited I'd like 2 different patches. I'm not quite sure about the Smack reconnection management, yet. The big advantage of the plugin's own reconnection mechanism is that I can exactly control what it does and reuse it for the IRC plugin. What's your problem with it? Is it not quick enough to reconnect? If that's the problem, I can tweak it.
          ryangardner ryangardner added a comment -

          I'll split them up. The issue that I've had with the built-in connection handling is that I've never actually seen it work so after at most a day (and some times as little as an hour or two) of my server being up the connection to google talk will die and the bot will be down until I restart hudson.

          I'll open a new issue for it, but it looks like this when it happens:

          Jabber notifier plugin: Sending notification to: xxxxx@xxxxxx.xxxxx
          Jabber notifier plugin: There was an error sending notification to: xxxxx@xxxxxx.xxxxx
          java.lang.IllegalStateException: Not connected to server.
          at org.jivesoftware.smack.XMPPConnection.createChat(XMPPConnection.java:593)
          at hudson.plugins.jabber.im.transport.JabberIMConnection.getChat(JabberIMConnection.java:266)
          at hudson.plugins.jabber.im.transport.JabberIMConnection.send(JabberIMConnection.java:293)
          at hudson.plugins.im.IMPublisher.notifyChats(IMPublisher.java:335)
          at hudson.plugins.im.IMPublisher.perform(IMPublisher.java:189)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:582)
          at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:563)
          at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:594)
          at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:528)
          at hudson.model.Run.run(Run.java:1247)
          at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:304)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:122)

          Jabber notifier plugin: Sending notification to: xxxxxx@gmail.com
          Jabber notifier plugin: There was an error sending notification to: xxxxxx@gmail.com
          java.lang.IllegalStateException: Not connected to server.
          at org.jivesoftware.smack.XMPPConnection.createChat(XMPPConnection.java:593)
          at hudson.plugins.jabber.im.transport.JabberIMConnection.getChat(JabberIMConnection.java:266)
          at hudson.plugins.jabber.im.transport.JabberIMConnection.send(JabberIMConnection.java:293)
          at hudson.plugins.im.IMPublisher.notifyChats(IMPublisher.java:335)
          at hudson.plugins.im.IMPublisher.perform(IMPublisher.java:189)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:582)
          at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:563)
          at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:594)
          at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:528)
          at hudson.model.Run.run(Run.java:1247)
          at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:304)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:122)

          (I obfuscated the emails)

          I think most of my builds have this kind of entry in the logs because it's been the case that it's more often been disconnected than connected. I can see where you are registering event listeners with SMACK, but it seems that SMACK doesn't really notify you when it disconnects but it is obviously aware of it because if the reconnection stuff is turned on it will immediately reconnect.

          I don't think the way the SMACK bit works it will interfere with the built-in connection stuff - at least it hasn't with me so far in being running with this patch for about a day. I'll split the two issues up and then start a new issue.

          ryangardner ryangardner added a comment - I'll split them up. The issue that I've had with the built-in connection handling is that I've never actually seen it work so after at most a day (and some times as little as an hour or two) of my server being up the connection to google talk will die and the bot will be down until I restart hudson. I'll open a new issue for it, but it looks like this when it happens: Jabber notifier plugin: Sending notification to: xxxxx@xxxxxx.xxxxx Jabber notifier plugin: There was an error sending notification to: xxxxx@xxxxxx.xxxxx java.lang.IllegalStateException: Not connected to server. at org.jivesoftware.smack.XMPPConnection.createChat(XMPPConnection.java:593) at hudson.plugins.jabber.im.transport.JabberIMConnection.getChat(JabberIMConnection.java:266) at hudson.plugins.jabber.im.transport.JabberIMConnection.send(JabberIMConnection.java:293) at hudson.plugins.im.IMPublisher.notifyChats(IMPublisher.java:335) at hudson.plugins.im.IMPublisher.perform(IMPublisher.java:189) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:582) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:563) at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:594) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:528) at hudson.model.Run.run(Run.java:1247) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:304) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:122) Jabber notifier plugin: Sending notification to: xxxxxx@gmail.com Jabber notifier plugin: There was an error sending notification to: xxxxxx@gmail.com java.lang.IllegalStateException: Not connected to server. at org.jivesoftware.smack.XMPPConnection.createChat(XMPPConnection.java:593) at hudson.plugins.jabber.im.transport.JabberIMConnection.getChat(JabberIMConnection.java:266) at hudson.plugins.jabber.im.transport.JabberIMConnection.send(JabberIMConnection.java:293) at hudson.plugins.im.IMPublisher.notifyChats(IMPublisher.java:335) at hudson.plugins.im.IMPublisher.perform(IMPublisher.java:189) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:582) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:563) at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:594) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:528) at hudson.model.Run.run(Run.java:1247) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:304) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:122) (I obfuscated the emails) I think most of my builds have this kind of entry in the logs because it's been the case that it's more often been disconnected than connected. I can see where you are registering event listeners with SMACK, but it seems that SMACK doesn't really notify you when it disconnects but it is obviously aware of it because if the reconnection stuff is turned on it will immediately reconnect. I don't think the way the SMACK bit works it will interfere with the built-in connection stuff - at least it hasn't with me so far in being running with this patch for about a day. I'll split the two issues up and then start a new issue.
          kutzi kutzi added a comment -

          It would be great if you could try the plugin snapshot attached to JENKINS-5803 - as described in the last comment there.
          I found an interesting thread about Smack 3.1.0 SASL problems and maybe the workaround there could work for you too, without the need to disable SASL altogether.

          kutzi kutzi added a comment - It would be great if you could try the plugin snapshot attached to JENKINS-5803 - as described in the last comment there. I found an interesting thread about Smack 3.1.0 SASL problems and maybe the workaround there could work for you too, without the need to disable SASL altogether.

          Code changed in hudson
          User: : kutzi
          Path:
          trunk/hudson/plugins/jabber/src/main/java/hudson/plugins/jabber/im/transport/JabberIMConnection.java
          trunk/hudson/plugins/jabber/src/main/java/hudson/plugins/jabber/im/transport/JabberPublisherDescriptor.java
          trunk/hudson/plugins/jabber/src/main/resources/hudson/plugins/jabber/im/transport/JabberPublisher/global.jelly
          trunk/hudson/plugins/jabber/src/main/webapp/help-sasl.html
          http://jenkins-ci.org/commit/29174
          Log:
          JENKINS-6018 applied patch to disable SASL authentication by ryangardner

          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : kutzi Path: trunk/hudson/plugins/jabber/src/main/java/hudson/plugins/jabber/im/transport/JabberIMConnection.java trunk/hudson/plugins/jabber/src/main/java/hudson/plugins/jabber/im/transport/JabberPublisherDescriptor.java trunk/hudson/plugins/jabber/src/main/resources/hudson/plugins/jabber/im/transport/JabberPublisher/global.jelly trunk/hudson/plugins/jabber/src/main/webapp/help-sasl.html http://jenkins-ci.org/commit/29174 Log: JENKINS-6018 applied patch to disable SASL authentication by ryangardner
          kutzi kutzi added a comment -

          integrated in v1.8

          kutzi kutzi added a comment - integrated in v1.8

          People

            kutzi kutzi
            ryangardner ryangardner
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: