• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • ircbot-plugin
    • None
    • CentOS 5.4 x64, ircd-seven (latest), Atheme Services 7.0.x

      We have an own installation of IRCd which is running the latest version of IRCd Seven with Atheme Services (more or less the same setup as on Freenode).

      Jenkins Bot is able to join and authenticate properly and stays in the channel for some time. It is also correctly publishing notifications and responds to commands. But after a period of inactivity (we have no activity in channel during the night) it dies (basically the bot times out during the night at some point). And the only way for it to re-join is for us to restart Jenkins server which seems bad.

          [JENKINS-22042] IRCBot disconnects after long idle

          kutzi added a comment -

          Herman, are you sure you are talking about the same issue?
          Why would you even think that the build-timeout plugin could be a solution to the IRC plugin disconnecting after a long idle time?

          kutzi added a comment - Herman, are you sure you are talking about the same issue? Why would you even think that the build-timeout plugin could be a solution to the IRC plugin disconnecting after a long idle time?

          Kutzi, I agree that it's not a proper solution. Some form of re-connect would probably be needed.

          What I had hoped the build-timeout plugin to solve is to stop a build that is hanging on the notification. A failed build would alert me of an issue, letting me restart Jenkins if needed to get the IRC connection back. The ironic thing is that the notification is an after-build step, that's why the build-timeout plugin did not help.

          Without a timeout it could be a week before anyone noticed that the builds have stalled.

          Herman van Rink added a comment - Kutzi, I agree that it's not a proper solution. Some form of re-connect would probably be needed. What I had hoped the build-timeout plugin to solve is to stop a build that is hanging on the notification. A failed build would alert me of an issue, letting me restart Jenkins if needed to get the IRC connection back. The ironic thing is that the notification is an after-build step, that's why the build-timeout plugin did not help. Without a timeout it could be a week before anyone noticed that the builds have stalled.

          kutzi added a comment -

          Alexej, any exception in the log before Jenkins is restarted?
          Actually, the bot should be able to detect disconnects and reconnect on itself. I wonder, what is not working with this.

          kutzi added a comment - Alexej, any exception in the log before Jenkins is restarted? Actually, the bot should be able to detect disconnects and reconnect on itself. I wonder, what is not working with this.

          kutzi added a comment -

          Has some similarities with JENKINS-28175

          kutzi added a comment - Has some similarities with JENKINS-28175

          kutzi added a comment -

          That is: for the error that Herman is reporting.
          Alexej's error might be a completely different one. No way to be sure until he clarifies what it means that the bot 'dies'

          kutzi added a comment - That is: for the error that Herman is reporting. Alexej's error might be a completely different one. No way to be sure until he clarifies what it means that the bot 'dies'

          kutzi added a comment -

          Herman, on further thoughts your issue seems to be pretty different from the originally reported issue - disconnecting and hanging on notifications is actually a totally different thing.
          Isn't it actually what you reported in JENKINS-26491?

          kutzi added a comment - Herman, on further thoughts your issue seems to be pretty different from the originally reported issue - disconnecting and hanging on notifications is actually a totally different thing. Isn't it actually what you reported in JENKINS-26491 ?

          kutzi added a comment -

          @urras: as you changed this to Critical: can you provide more information. I.e. how to reproduce, error entries in log file etc?

          kutzi added a comment - @urras: as you changed this to Critical: can you provide more information. I.e. how to reproduce, error entries in log file etc?

          Nick Hovaker added a comment -

          @kutzi I will once it happens again on my instance

          Nick Hovaker added a comment - @kutzi I will once it happens again on my instance

          Exception in thread "bot2-input" java.lang.RuntimeException: Waiting for mode response interrupted
          at org.pircbotx.Channel.getMode(Channel.java:133)
          at org.pircbotx.Channel.getModeArgument(Channel.java:182)
          at org.pircbotx.Channel.getChannelKey(Channel.java:239)
          at org.pircbotx.PircBotX.shutdown(PircBotX.java:2872)
          at org.pircbotx.PircBotX.shutdown(PircBotX.java:2833)
          at org.pircbotx.InputThread.run(InputThread.java:115)
          Caused by: java.lang.InterruptedException
          at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1301)
          at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
          at org.pircbotx.Channel.getMode(Channel.java:127)
          ... 5 more

          then the entire jenkins instance is stuck as no job can finish, stuck indefinitely in "IRC notifier plugin: Sending notification to:...."

          require a hard restart to get the thing moving again.

          Norbert Thiebaud added a comment - Exception in thread "bot2-input" java.lang.RuntimeException: Waiting for mode response interrupted at org.pircbotx.Channel.getMode(Channel.java:133) at org.pircbotx.Channel.getModeArgument(Channel.java:182) at org.pircbotx.Channel.getChannelKey(Channel.java:239) at org.pircbotx.PircBotX.shutdown(PircBotX.java:2872) at org.pircbotx.PircBotX.shutdown(PircBotX.java:2833) at org.pircbotx.InputThread.run(InputThread.java:115) Caused by: java.lang.InterruptedException at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1301) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236) at org.pircbotx.Channel.getMode(Channel.java:127) ... 5 more then the entire jenkins instance is stuck as no job can finish, stuck indefinitely in "IRC notifier plugin: Sending notification to:...." require a hard restart to get the thing moving again.

          We just had this exact issue effect us, had to restart to get moving again as well.

          Exception in thread "bot4-input" java.lang.RuntimeException: Waiting for mode response interrupted
          at org.pircbotx.Channel.getMode(Channel.java:133)
          at org.pircbotx.Channel.getModeArgument(Channel.java:182)
          at org.pircbotx.Channel.getChannelKey(Channel.java:239)
          at org.pircbotx.PircBotX.shutdown(PircBotX.java:2872)
          at org.pircbotx.PircBotX.shutdown(PircBotX.java:2833)
          at org.pircbotx.InputThread.run(InputThread.java:115)
          Caused by: java.lang.InterruptedException
          at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1301)
          at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
          at org.pircbotx.Channel.getMode(Channel.java:127)
          ... 5 more

          jim gedarovich added a comment - We just had this exact issue effect us, had to restart to get moving again as well. Exception in thread "bot4-input" java.lang.RuntimeException: Waiting for mode response interrupted at org.pircbotx.Channel.getMode(Channel.java:133) at org.pircbotx.Channel.getModeArgument(Channel.java:182) at org.pircbotx.Channel.getChannelKey(Channel.java:239) at org.pircbotx.PircBotX.shutdown(PircBotX.java:2872) at org.pircbotx.PircBotX.shutdown(PircBotX.java:2833) at org.pircbotx.InputThread.run(InputThread.java:115) Caused by: java.lang.InterruptedException at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1301) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236) at org.pircbotx.Channel.getMode(Channel.java:127) ... 5 more

            kutzi kutzi
            alexejk Alexej Kubarev
            Votes:
            2 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated: