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

cron trigger parsing is unfriendly (misleading error + stack trace)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Minor Minor
    • core
    • None
    • Jenkins LTS 1.532.1
      Linux CentOS6.5

      I entered a simple cron expression accidentally adding an extra field:
      H 0 * * * *

      The error message was very misleading:

      Invalid input: "H 0 * * * *": line 1:10: expecting EOF, found ' '

      Hitting "Save" anyway gave:
      Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.triggers.SCMTrigger from

      {"scmpoll_spec":"H 0 * * * *\n","ignorePostCommitHooks":false}

      at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:597)
      at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:392)
      at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:388)
      at hudson.model.Descriptor.newInstance(Descriptor.java:567)
      ... 88 more
      Caused by: java.lang.IllegalArgumentException: antlr.ANTLRException: Invalid input: "H 0 * * * *": line 1:10: expecting EOF, found ' '
      at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:454)
      at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:77)
      at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:595)
      ... 91 more
      Caused by: antlr.ANTLRException: Invalid input: "H 0 * * * *": line 1:10: expecting EOF, found ' '
      at hudson.scheduler.CronTabList.create(CronTabList.java:87)
      at hudson.scheduler.CronTabList.create(CronTabList.java:73)
      at hudson.triggers.Trigger.<init>(Trigger.java:161)
      at hudson.triggers.SCMTrigger.<init>(SCMTrigger.java:85)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
      at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:439)
      ... 93 more
      Caused by: line 1:10: expecting EOF, found ' '
      at antlr.Parser.match(Parser.java:211)
      at hudson.scheduler.CrontabParser.startRule(CrontabParser.java:67)
      at hudson.scheduler.CronTab.set(CronTab.java:93)
      at hudson.scheduler.CronTab.<init>(CronTab.java:83)
      at hudson.scheduler.CronTabList.create(CronTabList.java:85)
      ... 101 more

            Unassigned Unassigned
            edrandall Ed Randall
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: