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

CauseOfInterruption.UserInterruption#print() may cause creation of previously deleted users

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • core

      Just a minor bug, which may potentially happen due to the race condition if a task is being executed with SYSTEM authentication.

      • UserInterruption#getUser() uses User.get(String), which creates users on demand.
      • When we create CauseOfInterruption.UserInterruption, we expect it exists
      • BUT: the user may be deleted from parallel thread by the time we call UserInterruption#print, which invokes getUser()
      • In such case the recently deleted user will be recreated

          [JENKINS-36594] CauseOfInterruption.UserInterruption#print() may cause creation of previously deleted users

          Oleg Nenashev created issue -
          Oleg Nenashev made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          Oleg Nenashev added a comment -

          Oleg Nenashev added a comment - https://github.com/jenkinsci/jenkins/pull/2450

          Daniel Beck added a comment -

          Fixed in 2.14 (2016/07/17)

          Daniel Beck added a comment - Fixed in 2.14 (2016/07/17)
          Daniel Beck made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 173315 ] New: JNJira + In-Review [ 199433 ]
          Oleg Nenashev made changes -
          Link New: This issue is related to JENKINS-38721 [ JENKINS-38721 ]

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/src/main/java/jenkins/model/CauseOfInterruption.java
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary.groovy
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary.properties
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_ja.properties
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_pl.properties
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_sr.properties
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_zh_TW.properties
          http://jenkins-ci.org/commit/jenkins/91ad59214234e7724d586f64f8fb6db35104857b
          Log:
          [FIXED JENKINS-38721, JENKINS-37282] - NPE in "CauseOfInterruption.UserInterruption" when user is missing (#2630)

          • [FIXED JENKINS-38721] - Prevent NPE during rendering of "CauseOfInterruption.UserInterruption" when user is missing

          It is a regression introduced in JENKINS-36594

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/main/java/jenkins/model/CauseOfInterruption.java core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary.groovy core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary.properties core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_ja.properties core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_pl.properties core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_sr.properties core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_zh_TW.properties http://jenkins-ci.org/commit/jenkins/91ad59214234e7724d586f64f8fb6db35104857b Log: [FIXED JENKINS-38721, JENKINS-37282] - NPE in "CauseOfInterruption.UserInterruption" when user is missing (#2630) [FIXED JENKINS-38721] - Prevent NPE during rendering of "CauseOfInterruption.UserInterruption" when user is missing It is a regression introduced in JENKINS-36594 JENKINS-38721 - Fix typo

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/src/main/java/jenkins/model/CauseOfInterruption.java
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary.groovy
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary.properties
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_ja.properties
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_pl.properties
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_sr.properties
          core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_zh_TW.properties
          http://jenkins-ci.org/commit/jenkins/0399037f842d1c9c4fbbc970421fafa3ecdac7eb
          Log:
          [FIXED JENKINS-38721, JENKINS-37282] - NPE in "CauseOfInterruption.UserInterruption" when user is missing (#2630)

          • [FIXED JENKINS-38721] - Prevent NPE during rendering of "CauseOfInterruption.UserInterruption" when user is missing

          It is a regression introduced in JENKINS-36594

          (cherry picked from commit 91ad59214234e7724d586f64f8fb6db35104857b)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/main/java/jenkins/model/CauseOfInterruption.java core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary.groovy core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary.properties core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_ja.properties core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_pl.properties core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_sr.properties core/src/main/resources/jenkins/model/CauseOfInterruption/UserInterruption/summary_zh_TW.properties http://jenkins-ci.org/commit/jenkins/0399037f842d1c9c4fbbc970421fafa3ecdac7eb Log: [FIXED JENKINS-38721, JENKINS-37282] - NPE in "CauseOfInterruption.UserInterruption" when user is missing (#2630) [FIXED JENKINS-38721] - Prevent NPE during rendering of "CauseOfInterruption.UserInterruption" when user is missing It is a regression introduced in JENKINS-36594 JENKINS-38721 - Fix typo (cherry picked from commit 91ad59214234e7724d586f64f8fb6db35104857b)
          Oliver Gondža made changes -
          Labels New: 2.19.4-fixed

            Unassigned Unassigned
            oleg_nenashev Oleg Nenashev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: