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

StackOverflowException on Job Finish

    Details

    • Similar Issues:

      Description

      Since upgrading to jenkins 1.465 we get in some of our jobs the following stacktrace:

      FATAL: null
      java.lang.StackOverflowError
      	at sun.util.calendar.ZoneInfo.getOffsets(ZoneInfo.java:266)
      	at sun.util.calendar.ZoneInfo.getOffsets(ZoneInfo.java:243)
      	at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2041)
      	at java.util.GregorianCalendar.computeTime(GregorianCalendar.java:2489)
      	at java.util.Calendar.updateTime(Calendar.java:2495)
      	at java.util.Calendar.getTimeInMillis(Calendar.java:1104)
      	at java.util.Calendar.getMillisOf(Calendar.java:2512)
      	at java.util.Calendar.equals(Calendar.java:1892)
      	at java.util.GregorianCalendar.equals(GregorianCalendar.java:811)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:409)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      	at java.util.AbstractList.equals(AbstractList.java:524)
      	at hudson.scm.CVSChangeLogSet$CVSChangeLog.equals(CVSChangeLogSet.java:416)
      	at hudson.scm.CVSChangeLogSet$File.equals(CVSChangeLogSet.java:608)
      ...
      

      The Exception happens when the Job itself has finished and is about to report results to e-mail receivers.

      We were able to workaround the issue by removing the "send email notification" setting, storing the configuration and then re-add the notification setting, so perhaps it has something to do with the notification part in jenkins itself.

      PS: The concerned Jobs do not all use CVS, some of them are git-only but get the exact same stacktrace as reported above.

        Attachments

          Activity

          Hide
          bencaradocdavies Ben Caradoc-Davies added a comment -

          I see this on Jenkins 1.502 even with CVS disabled; we are using mailer 1.5, git plugin 1.1.29, and a git-managed SCM. Here is a stacktrace excerpt:

          at org.jenkinsci.plugins.multiplescms.MultiSCMChangeLogParser.parse(MultiSCMChangeLogParser.java:140)
          at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:932)
          at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:906)
          at hudson.model.AbstractBuild.hasParticipant(AbstractBuild.java:453)
          at hudson.model.AbstractProject.hasParticipant(AbstractProject.java:1554)
          at hudson.model.User.getProjects(User.java:448)
          at hudson.scm.BlameSubversionMailAddressResolverImpl.findMailAddressFor(BlameSubversionMailAddressResolverImpl.java:23)
          at hudson.tasks.MailAddressResolver.resolve(MailAddressResolver.java:101)
          at hudson.tasks.Mailer$UserProperty.getAddress(Mailer.java:532)
          at hudson.plugins.git.GitChangeSet.isMailerPropertySet(GitChangeSet.java:290)
          at hudson.plugins.git.GitChangeSet.findOrCreateUser(GitChangeSet.java:276)
          at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:324)
          at hudson.model.AbstractBuild.hasParticipant(AbstractBuild.java:455)
          at hudson.model.AbstractProject.hasParticipant(AbstractProject.java:1554)
          at hudson.model.User.getProjects(User.java:448)
          at hudson.scm.BlameSubversionMailAddressResolverImpl.findMailAddressFor(BlameSubversionMailAddressResolverImpl.java:23)
          at hudson.tasks.MailAddressResolver.resolve(MailAddressResolver.java:101)
          at hudson.tasks.Mailer$UserProperty.getAddress(Mailer.java:532)
          at hudson.plugins.git.GitChangeSet.isMailerPropertySet(GitChangeSet.java:290)
          at hudson.plugins.git.GitChangeSet.findOrCreateUser(GitChangeSet.java:276)
          at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:324)
          at hudson.model.AbstractBuild.hasParticipant(AbstractBuild.java:455)
          at hudson.model.AbstractProject.hasParticipant(AbstractProject.java:1554)
          at hudson.model.User.getProjects(User.java:448)
          
          Show
          bencaradocdavies Ben Caradoc-Davies added a comment - I see this on Jenkins 1.502 even with CVS disabled; we are using mailer 1.5, git plugin 1.1.29, and a git-managed SCM. Here is a stacktrace excerpt: at org.jenkinsci.plugins.multiplescms.MultiSCMChangeLogParser.parse(MultiSCMChangeLogParser.java:140) at hudson.model.AbstractBuild.calcChangeSet(AbstractBuild.java:932) at hudson.model.AbstractBuild.getChangeSet(AbstractBuild.java:906) at hudson.model.AbstractBuild.hasParticipant(AbstractBuild.java:453) at hudson.model.AbstractProject.hasParticipant(AbstractProject.java:1554) at hudson.model.User.getProjects(User.java:448) at hudson.scm.BlameSubversionMailAddressResolverImpl.findMailAddressFor(BlameSubversionMailAddressResolverImpl.java:23) at hudson.tasks.MailAddressResolver.resolve(MailAddressResolver.java:101) at hudson.tasks.Mailer$UserProperty.getAddress(Mailer.java:532) at hudson.plugins.git.GitChangeSet.isMailerPropertySet(GitChangeSet.java:290) at hudson.plugins.git.GitChangeSet.findOrCreateUser(GitChangeSet.java:276) at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:324) at hudson.model.AbstractBuild.hasParticipant(AbstractBuild.java:455) at hudson.model.AbstractProject.hasParticipant(AbstractProject.java:1554) at hudson.model.User.getProjects(User.java:448) at hudson.scm.BlameSubversionMailAddressResolverImpl.findMailAddressFor(BlameSubversionMailAddressResolverImpl.java:23) at hudson.tasks.MailAddressResolver.resolve(MailAddressResolver.java:101) at hudson.tasks.Mailer$UserProperty.getAddress(Mailer.java:532) at hudson.plugins.git.GitChangeSet.isMailerPropertySet(GitChangeSet.java:290) at hudson.plugins.git.GitChangeSet.findOrCreateUser(GitChangeSet.java:276) at hudson.plugins.git.GitChangeSet.getAuthor(GitChangeSet.java:324) at hudson.model.AbstractBuild.hasParticipant(AbstractBuild.java:455) at hudson.model.AbstractProject.hasParticipant(AbstractProject.java:1554) at hudson.model.User.getProjects(User.java:448)
          Hide
          bencaradocdavies Ben Caradoc-Davies added a comment -

          I am seeing this failure even with email notification disabled.

          Show
          bencaradocdavies Ben Caradoc-Davies added a comment - I am seeing this failure even with email notification disabled.
          Hide
          lmgrill Larry Grill added a comment - - edited

          We have a similar configuration that fails the the same error. Ours uses SVN + Git + Mailer.
          I deleted the Mailer configuration the build succeeded.

          Environment:
          Jenkins: 1.502
          Git plugin: 1.1.28
          SVN plugin: 1.45
          Mailer plugin: 1.40

          I will continue to investigate.

          Show
          lmgrill Larry Grill added a comment - - edited We have a similar configuration that fails the the same error. Ours uses SVN + Git + Mailer. I deleted the Mailer configuration the build succeeded. Environment: Jenkins: 1.502 Git plugin: 1.1.28 SVN plugin: 1.45 Mailer plugin: 1.40 I will continue to investigate.
          Hide
          lmgrill Larry Grill added a comment - - edited

          Correction in my previous comment. That Jenkins instance was using Git plugin v 1.1.28.
          I moved it up to Git plugin v 1.2.0, restored the Mailer plugin config to the job that had failed and now it works fine again. Perhaps this is related to the Git v 1.1.28. If you go to the git plugin change log page, version 1.1.28 does not even show up:
          https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Changelog

          I would recommend moving to git 1.2.0 and see if this cures the issue for you too.

          Show
          lmgrill Larry Grill added a comment - - edited Correction in my previous comment. That Jenkins instance was using Git plugin v 1.1.28. I moved it up to Git plugin v 1.2.0, restored the Mailer plugin config to the job that had failed and now it works fine again. Perhaps this is related to the Git v 1.1.28. If you go to the git plugin change log page, version 1.1.28 does not even show up: https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-Changelog I would recommend moving to git 1.2.0 and see if this cures the issue for you too.
          Hide
          bencaradocdavies Ben Caradoc-Davies added a comment -

          Thanks very much, Larry. I can confirm that upgrading to git plugin 1.2.0 (with git client plugin 1.0.2) resolves this issue for me (Jenkins 1.502). All my plugins are up-to-date.

          Show
          bencaradocdavies Ben Caradoc-Davies added a comment - Thanks very much, Larry. I can confirm that upgrading to git plugin 1.2.0 (with git client plugin 1.0.2) resolves this issue for me (Jenkins 1.502). All my plugins are up-to-date.

            People

            • Assignee:
              Unassigned
              Reporter:
              cappuccino Simon Gamma
            • Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: