• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • clearcase-plugin
    • None
    • 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

      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".

          [JENKINS-7800] cleartool desc of component which is null

          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.

          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.

          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.

          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.

          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)

          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)

          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)

          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 )

          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.

          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.

          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.

          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.

          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.

          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.

          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

          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

          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.

          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.

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

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

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

              Created:
              Updated:
              Resolved: