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

cleartool desc of component which is null

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Component/s: clearcase-plugin
    • Labels:
      None
    • Environment:
      Hudson running 1.380 on RHEL 5.3 Linux
      Slave running 1.380 on RHEL 4.7
      ClearCase plugin 1.31 and 1.30
      Output below is for plugin 1.30
    • Similar Issues:

      Description

      When starting a new project we noticed we cannot get it to build. It appears that the logic that is finding the components is broken when it goes and tries to find the root_dir. In our example our foundation baseline contains 3 components. The logic of the plugin seems to have no problem in finding the the names of the three components. Its when the plugin tries to find the root_dir that we run into an issue where two of the three components are found and the last one somehow gets changed from a valid value into NULL. A log of the output:

      FailedConsole Output
      View as plain text

      13:12:42 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[found_bls]p\n stream:RavenPlatMain_Int@/vobs/tlv_pvob
      13:12:42 RAVENPLAT_MAIN_04-DEC-08_1815
      13:12:42 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[latest_bls]p\n stream:RavenPlatMain_Int@/vobs/tlv_pvob
      13:12:42 RAVENPLATMAIN_31-AUG-10_1000.2095 RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51 RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51.6197
      13:12:42 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[component]p\n baseline:RAVENPLATMAIN_31-AUG-10_1000.2095@/vobs/tlv_pvob
      13:12:42 Raven3p
      13:12:42 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[component]p\n baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51@/vobs/tlv_pvob
      13:12:42 tlv_comp
      13:12:42 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[component]p\n baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51.6197@/vobs/tlv_pvob
      13:12:42 RavenPlat
      13:12:42 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[root_dir]p\n component:Raven3p@/vobs/tlv_pvob
      13:12:42 /vobs/Raven3p
      13:12:42 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[root_dir]p\n component:tlv_comp@/vobs/tlv_pvob
      13:12:42
      13:12:42 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[root_dir]p\n component:null@/vobs/tlv_pvob
      13:12:42 cleartoolFATAL: UCM ClearCase failed. exit code=1
      13:12:42 java.io.IOException: cleartool did not return the expected exit code. Command line="desc -fmt %[root_dir]p\n component:null@/vobs/tlv_pvob", actual exit code=1
      13:12:42 at hudson.plugins.clearcase.HudsonClearToolLauncher.run(HudsonClearToolLauncher.java:107)
      13:12:42 at hudson.plugins.clearcase.HudsonClearToolLauncher.run(HudsonClearToolLauncher.java:70)
      13:12:42 at hudson.plugins.clearcase.ClearToolExec.describe(ClearToolExec.java:88)
      13:12:42 at hudson.plugins.clearcase.ucm.UcmCommon.generateLoadRulesFromBaselines(UcmCommon.java:63)
      13:12:42 at hudson.plugins.clearcase.ClearCaseUcmSCM.getViewPaths(ClearCaseUcmSCM.java:262)
      13:12:42 at hudson.plugins.clearcase.ClearCaseUcmSCM.createRevisionState(ClearCaseUcmSCM.java:173)
      13:12:42 at hudson.plugins.clearcase.ClearCaseUcmSCM.calcRevisionsFromBuild(ClearCaseUcmSCM.java:159)
      13:12:42 at hudson.plugins.clearcase.AbstractClearCaseScm.checkout(AbstractClearCaseScm.java:457)
      13:12:42 at hudson.model.AbstractProject.checkout(AbstractProject.java:1082)
      13:12:42 at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
      13:12:42 at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
      13:12:42 at hudson.model.Run.run(Run.java:1280)
      13:12:42 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      13:12:42 at hudson.model.ResourceController.execute(ResourceController.java:88)
      13:12:42 at hudson.model.Executor.run(Executor.java:140)
      13:12:42 : Error: component not found: "null".

        Attachments

          Issue Links

            Activity

            Hide
            peterkline peterkline added a comment -

            So we downgraded and re-upgraded our clearcase plugin to 1.31. The first time we do a build the plugin is able to determine the correct components and there is no null root_dir call. The build then finishes (with a failure which we expect) and if we restart the build we get the original error of a null component. It appears that if the previous build is a failure the plugin won't work until we manually downgrade/upgrade the plugin.

            Show
            peterkline peterkline added a comment - So we downgraded and re-upgraded our clearcase plugin to 1.31. The first time we do a build the plugin is able to determine the correct components and there is no null root_dir call. The build then finishes (with a failure which we expect) and if we restart the build we get the original error of a null component. It appears that if the previous build is a failure the plugin won't work until we manually downgrade/upgrade the plugin.
            Hide
            vlatombe Vincent Latombe added a comment -

            As a workaround, you can provide the load rules manually, it should avoid the logic to determine the load rules so you should be safe.

            Could you give the output that you get using 1.3.1? There are slight differences between 1.3.0 and 1.3.1 output and I need to be sure that I can sort out where the null value is coming from.

            Show
            vlatombe Vincent Latombe added a comment - As a workaround, you can provide the load rules manually, it should avoid the logic to determine the load rules so you should be safe. Could you give the output that you get using 1.3.1? There are slight differences between 1.3.0 and 1.3.1 output and I need to be sure that I can sort out where the null value is coming from.
            Hide
            peterkline peterkline added a comment -

            Below is a log from a 1.31 build. The weird this is this ran perfectly fine for a few releases then stopped. We have enabled the load rules and will run it a few times to verify that it will work.

            11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[found_bls]Xp\n stream:RavenPlatMain_Int@/vobs/tlv_pvob
            11:53:50 baseline:RAVENPLAT_MAIN_04-DEC-08_1815@/vobs/tlv_pvob
            11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[component]Xp\n baseline:RAVENPLAT_MAIN_04-DEC-08_1815@/vobs/tlv_pvob
            11:53:50 component:tlv_comp@/vobs/tlv_pvob
            11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[latest_bls]Xp\n stream:RavenPlatMain_Int@/vobs/tlv_pvob
            11:53:50 baseline:RAVENPLATMAIN_31-AUG-10_1000.2095@/vobs/tlv_pvob baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51@/vobs/tlv_pvob baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51.6197@/vobs/tlv_pvob
            11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[component]Xp\n baseline:RAVENPLATMAIN_31-AUG-10_1000.2095@/vobs/tlv_pvob
            11:53:50 component:Raven3p@/vobs/tlv_pvob
            11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[component]Xp\n baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51@/vobs/tlv_pvob
            11:53:50 component:tlv_comp@/vobs/tlv_pvob
            11:53:51 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[component]Xp\n baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51.6197@/vobs/tlv_pvob
            11:53:51 component:RavenPlat@/vobs/tlv_pvob
            11:53:51 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt %[root_dir]p\n component:null
            11:53:51 cleartool: Error: Unable to determine VOB for pathname ".".
            11:53:51 FATAL: UCM ClearCase failed. exit code=1
            11:53:51 java.io.IOException: cleartool did not return the expected exit code. Command line="desc -fmt %[root_dir]p\n component:null", actual exit code=1
            11:53:51 at hudson.plugins.clearcase.HudsonClearToolLauncher.run(HudsonClearToolLauncher.java:107)
            11:53:51 at hudson.plugins.clearcase.HudsonClearToolLauncher.run(HudsonClearToolLauncher.java:70)
            11:53:51 at hudson.plugins.clearcase.ClearToolExec.describe(ClearToolExec.java:88)
            11:53:51 at hudson.plugins.clearcase.ucm.UcmCommon.generateLoadRulesFromBaselines(UcmCommon.java:63)
            11:53:51 at hudson.plugins.clearcase.ClearCaseUcmSCM.getViewPaths(ClearCaseUcmSCM.java:262)
            11:53:51 at hudson.plugins.clearcase.ClearCaseUcmSCM.createRevisionState(ClearCaseUcmSCM.java:173)
            11:53:51 at hudson.plugins.clearcase.ClearCaseUcmSCM.calcRevisionsFromBuild(ClearCaseUcmSCM.java:159)
            11:53:51 at hudson.plugins.clearcase.AbstractClearCaseScm.checkout(AbstractClearCaseScm.java:464)
            11:53:51 at hudson.model.AbstractProject.checkout(AbstractProject.java:1082)
            11:53:51 at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
            11:53:51 at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
            11:53:51 at hudson.model.Run.run(Run.java:1280)
            11:53:51 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
            11:53:51 at hudson.model.ResourceController.execute(ResourceController.java:88)
            11:53:51 at hudson.model.Executor.run(Executor.java:140)

            Show
            peterkline peterkline added a comment - Below is a log from a 1.31 build. The weird this is this ran perfectly fine for a few releases then stopped. We have enabled the load rules and will run it a few times to verify that it will work. 11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt % [found_bls] Xp\n stream:RavenPlatMain_Int@/vobs/tlv_pvob 11:53:50 baseline:RAVENPLAT_MAIN_04-DEC-08_1815@/vobs/tlv_pvob 11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt % [component] Xp\n baseline:RAVENPLAT_MAIN_04-DEC-08_1815@/vobs/tlv_pvob 11:53:50 component:tlv_comp@/vobs/tlv_pvob 11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt % [latest_bls] Xp\n stream:RavenPlatMain_Int@/vobs/tlv_pvob 11:53:50 baseline:RAVENPLATMAIN_31-AUG-10_1000.2095@/vobs/tlv_pvob baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51@/vobs/tlv_pvob baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51.6197@/vobs/tlv_pvob 11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt % [component] Xp\n baseline:RAVENPLATMAIN_31-AUG-10_1000.2095@/vobs/tlv_pvob 11:53:50 component:Raven3p@/vobs/tlv_pvob 11:53:50 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt % [component] Xp\n baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51@/vobs/tlv_pvob 11:53:50 component:tlv_comp@/vobs/tlv_pvob 11:53:51 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt % [component] Xp\n baseline:RAVENPLATMAIN_1.3.0.0-209_14-OCT-2010_10.51.6197@/vobs/tlv_pvob 11:53:51 component:RavenPlat@/vobs/tlv_pvob 11:53:51 [RavenPlatMain_Chassis_Recommended] $ cleartool desc -fmt % [root_dir] p\n component:null 11:53:51 cleartool: Error: Unable to determine VOB for pathname ".". 11:53:51 FATAL: UCM ClearCase failed. exit code=1 11:53:51 java.io.IOException: cleartool did not return the expected exit code. Command line="desc -fmt % [root_dir] p\n component:null", actual exit code=1 11:53:51 at hudson.plugins.clearcase.HudsonClearToolLauncher.run(HudsonClearToolLauncher.java:107) 11:53:51 at hudson.plugins.clearcase.HudsonClearToolLauncher.run(HudsonClearToolLauncher.java:70) 11:53:51 at hudson.plugins.clearcase.ClearToolExec.describe(ClearToolExec.java:88) 11:53:51 at hudson.plugins.clearcase.ucm.UcmCommon.generateLoadRulesFromBaselines(UcmCommon.java:63) 11:53:51 at hudson.plugins.clearcase.ClearCaseUcmSCM.getViewPaths(ClearCaseUcmSCM.java:262) 11:53:51 at hudson.plugins.clearcase.ClearCaseUcmSCM.createRevisionState(ClearCaseUcmSCM.java:173) 11:53:51 at hudson.plugins.clearcase.ClearCaseUcmSCM.calcRevisionsFromBuild(ClearCaseUcmSCM.java:159) 11:53:51 at hudson.plugins.clearcase.AbstractClearCaseScm.checkout(AbstractClearCaseScm.java:464) 11:53:51 at hudson.model.AbstractProject.checkout(AbstractProject.java:1082) 11:53:51 at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479) 11:53:51 at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411) 11:53:51 at hudson.model.Run.run(Run.java:1280) 11:53:51 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 11:53:51 at hudson.model.ResourceController.execute(ResourceController.java:88) 11:53:51 at hudson.model.Executor.run(Executor.java:140)
            Hide
            vlatombe Vincent Latombe added a comment -

            I think this is related with the timestamper plugin that you use to obtain the timestamp in your logs. Could you try to disable it and see it the problem goes away. If so, you should try to upgrade the timestamper because old versions caused problems with plugins that analyze outputs like mercurial, or clearcase plugin (see JENKINS-7111)

            Show
            vlatombe Vincent Latombe added a comment - I think this is related with the timestamper plugin that you use to obtain the timestamp in your logs. Could you try to disable it and see it the problem goes away. If so, you should try to upgrade the timestamper because old versions caused problems with plugins that analyze outputs like mercurial, or clearcase plugin (see JENKINS-7111 )
            Hide
            peterkline peterkline added a comment -

            As a followup, we utilize the timestamper plugin not only for building clearcase based projects so we couldn't turn it off. We have gone the route of filling in the load rules in all of our projects. We haven't seen this problem in awhile now (our hudson install has almost tripled in the number of projects) and its probably fine to close this.

            Show
            peterkline peterkline added a comment - As a followup, we utilize the timestamper plugin not only for building clearcase based projects so we couldn't turn it off. We have gone the route of filling in the load rules in all of our projects. We haven't seen this problem in awhile now (our hudson install has almost tripled in the number of projects) and its probably fine to close this.
            Hide
            vlatombe Vincent Latombe added a comment -

            Actually I got this problem as well on my own, so I will keep that open. And I don't use the timestamper plugin so it is probably related to something else, although I couldn't track down the root cause yet.

            Show
            vlatombe Vincent Latombe added a comment - Actually I got this problem as well on my own, so I will keep that open. And I don't use the timestamper plugin so it is probably related to something else, although I couldn't track down the root cause yet.
            Hide
            vlatombe Vincent Latombe added a comment -

            It might be due to network delay, someone on github already started to build a patch (see https://github.com/deruyter/hudson-clearcase-plugin/commit/2077057b761cbcba1125e7bcdda85b591a2d1d8a)
            For now, I advise you to use manual load rules, it will avoid problems.

            Show
            vlatombe Vincent Latombe added a comment - It might be due to network delay, someone on github already started to build a patch (see https://github.com/deruyter/hudson-clearcase-plugin/commit/2077057b761cbcba1125e7bcdda85b591a2d1d8a ) For now, I advise you to use manual load rules, it will avoid problems.
            Hide
            deruyter deruyter added a comment -

            I confirm that it comes from network issue.
            It is fixed in my branch. I have requested a pull on hudson/hudson-clearcase-plugin

            Show
            deruyter deruyter added a comment - I confirm that it comes from network issue. It is fixed in my branch. I have requested a pull on hudson/hudson-clearcase-plugin
            Hide
            vlatombe Vincent Latombe added a comment -

            Hi, sorry for not coming back to you sooner.
            About your pull request, after second thoughts, I'm not sure it is the correct solution. I believe the diagnosis is correct, but if you check implementation of cleartool#desc and the way the reader is built, I don't see how your code could fix an incomplete output.

            Show
            vlatombe Vincent Latombe added a comment - Hi, sorry for not coming back to you sooner. About your pull request, after second thoughts, I'm not sure it is the correct solution. I believe the diagnosis is correct, but if you check implementation of cleartool#desc and the way the reader is built, I don't see how your code could fix an incomplete output.
            Hide
            vlatombe Vincent Latombe added a comment -

            Original cause was in core. See JENKINS-7809, fixed in 1.399

            Show
            vlatombe Vincent Latombe added a comment - Original cause was in core. See JENKINS-7809 , fixed in 1.399

              People

              Assignee:
              vlatombe Vincent Latombe
              Reporter:
              peterkline peterkline
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: