• Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Minor Minor
    • core
    • None

      I saw it before, but seems JENKINS-29792 exposed it more obviously.

      1) Trigger has no synchronisation for calling run/stop after start() that initialises 'job' variable or any other plugin specified fields that can be used in run/stop
      2) Seems UI config submit always calls stop() even if trigger wasn't start, so either some API handlers/checks should exist, either stop/run must do null check and simply skip execution.

          [JENKINS-29794] race conditions in Triggers

          Kanstantsin Shautsou created issue -
          Kanstantsin Shautsou made changes -
          Link New: This issue is related to JENKINS-29792 [ JENKINS-29792 ]
          Kanstantsin Shautsou made changes -
          Link New: This issue is related to JENKINS-29790 [ JENKINS-29790 ]
          Kanstantsin Shautsou made changes -
          Link New: This issue is related to JENKINS-29787 [ JENKINS-29787 ]
          Kanstantsin Shautsou made changes -
          Link New: This issue is related to JENKINS-29698 [ JENKINS-29698 ]
          Kanstantsin Shautsou made changes -
          Description Original: I saw it before, but seems JENKINS-29792 exposed it more obviously.

          1) Trigger has no synchronisation for calling run/stop after start() that initialises 'job' variable that can be used in run/stop
          2) Seems UI config submit always calls stop() even if trigger wasn't start, so either some API handlers/checks should exist, either stop/run must do null check and simply skip execution.
          New: I saw it before, but seems JENKINS-29792 exposed it more obviously.

          1) Trigger has no synchronisation for calling run/stop after start() that initialises 'job' variable or any other plugin specified fields that can be used in run/stop
          2) Seems UI config submit always calls stop() even if trigger wasn't start, so either some API handlers/checks should exist, either stop/run must do null check and simply skip execution.
          Kanstantsin Shautsou made changes -
          Assignee New: Kanstantsin Shautsou [ integer ]
          Kanstantsin Shautsou made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          Sent PRs to all found issues.

          Kanstantsin Shautsou added a comment - Sent PRs to all found issues.

          Another part of traces is Action pages that contributing createProjectAction() and expecting job exist. But this issues existed before and many Trigger plugins bypassed it by skipping createProjectActions() if job is null

          Kanstantsin Shautsou added a comment - Another part of traces is Action pages that contributing createProjectAction() and expecting job exist. But this issues existed before and many Trigger plugins bypassed it by skipping createProjectActions() if job is null

            integer Kanstantsin Shautsou
            integer Kanstantsin Shautsou
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: