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

klocwork - update to recognize 9.5.x xml schema

    Details

    • Type: Improvement
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: klocwork-plugin
    • Labels:
      None
    • Environment:
      rhel 5.5
    • Similar Issues:

      Description

      schema changed. current plugin can digest

      <errorList version="9.2.2">
      ...
      <citingStatus>Analyze</citingStatus><state>Existing</state><severity>Error</severity><severitylevel>3</severitylevel><displayAs>Error</displayAs><dateOriginated>1327694645000</dateOriginated>

      but new owner field appears in 9.5

      <errorList version="9.5.2">
      <citingStatus>Analyze</citingStatus><state>New</state><owner>unowned</owner><severity>Critical</severity><severitylevel>1</severitylevel><displayAs>Error</displayAs>

      that causes publisher to be less than graceful:

      22:08:53 Processing 2 files with the pattern 'kw*.xml'.
      22:08:53 Parsing has been canceled. XML Validation failed. See errors below :
      22:08:53 At line 47 of file:/view/mafi_int_kw/vobs/csci33/csc11/kw.xml:cvc-complex-type.2.4.a: Invalid content was found starting with element 'owner'. One of '

      {"http://www.klocwork.com/inForce/report/1.0":severity, "http://www.klocwork.com/inForce/report/1.0":severitylevel, "http://www.klocwork.com/inForce/report/1.0":displayAs, "http://www.klocwork.com/inForce/report/1.0":dateOriginated, "http://www.klocwork.com/inForce/report/1.0":url, "http://www.klocwork.com/inForce/report/1.0":comment, "http://www.klocwork.com/inForce/report/1.0":history, "http://www.klocwork.com/inForce/report/1.0":lastCommitter, "http://www.klocwork.com/inForce/report/1.0":dateFixed, "http://www.klocwork.com/inForce/report/1.0":category, "http://www.klocwork.com/inForce/report/1.0":lastCommit}

      ' is expected.

        Attachments

          Activity

          Hide
          moncreaff Greg Moncreaff added a comment -

          This brute force sed script seems to help

          ${KWS}/kwinspectreport --build build_${BUILD} --url ${KWDB}/${PROJECT} -xml ${FILE}.raw

          1. try and filter out some of the 9.5.x new tags that make the Jenkins publisher unhappy
            cat ${FILE}.raw | egrep -v "(<trace|<taxonom|<.taxonomies|<.trace|<owner)" > ${FILE}
          Show
          moncreaff Greg Moncreaff added a comment - This brute force sed script seems to help ${KWS}/kwinspectreport --build build_${BUILD} --url ${KWDB}/${PROJECT} -xml ${FILE}.raw try and filter out some of the 9.5.x new tags that make the Jenkins publisher unhappy cat ${FILE}.raw | egrep -v "(<trace|<taxonom|<.taxonomies|<.trace|<owner)" > ${FILE}
          Hide
          raspy Krzysztof Malinowski added a comment -

          Info for maintainer: current output is:

          kwreport.xml
          <?xml version="1.0" encoding="UTF-8"?>
          <errorList xmlns="http://www.klocwork.com/inForce/report/1.0" version="9.5.2">
          <problem>
           <problemID>1</problemID>
           <file>/path/to/hello.c</file>
           <method>main</method>
           <line>8</line>
           <column>5</column>
           <code>UNINIT.STACK.MUST</code>
           <message>&apos;p&apos; is used uninitialized in this function.</message>
           <anchor>112</anchor>
           <prefix>ain(intargc,char*argv[]){char*p;</prefix>
           <postfix>return0;}</postfix>
           <trace>
            <traceBlock file="/path/to/hello.c" method="main" id="0">
             <traceLine line="7" text="&apos;p&apos; is declared" type="E"/>
             <traceLine line="8" text="&apos;p&apos; is used, but is uninitialized." type="E"/>
            </traceBlock>
           </trace>
           <citingStatus>Analyze</citingStatus>
           <state>New</state>
           <owner>unowned</owner>
           <severity>Critical</severity>
           <severitylevel>1</severitylevel>
           <displayAs>Error</displayAs>
           <taxonomies>
            <taxonomy name="C and C++" metaInf=""/>
           </taxonomies>
           <dateOriginated>1331140856962</dateOriginated>
           <url>http://klocworkserver:8074/review/insight-review.html#goto:project=test,pid=1</url>
          </problem>
          </errorList>
          
          Show
          raspy Krzysztof Malinowski added a comment - Info for maintainer: current output is: kwreport.xml <?xml version= "1.0" encoding= "UTF-8" ?> <errorList xmlns= "http://www.klocwork.com/inForce/report/1.0" version= "9.5.2" > <problem> <problemID> 1 </problemID> <file> /path/to/hello.c </file> <method> main </method> <line> 8 </line> <column> 5 </column> <code> UNINIT.STACK.MUST </code> <message> &apos;p&apos; is used uninitialized in this function. </message> <anchor> 112 </anchor> <prefix> ain(intargc,char*argv[]){char*p; </prefix> <postfix> return0;} </postfix> <trace> <traceBlock file= "/path/to/hello.c" method= "main" id= "0" > <traceLine line= "7" text= "&apos;p&apos; is declared" type= "E" /> <traceLine line= "8" text= "&apos;p&apos; is used, but is uninitialized." type= "E" /> </traceBlock> </trace> <citingStatus> Analyze </citingStatus> <state> New </state> <owner> unowned </owner> <severity> Critical </severity> <severitylevel> 1 </severitylevel> <displayAs> Error </displayAs> <taxonomies> <taxonomy name= "C and C++" metaInf=""/> </taxonomies> <dateOriginated> 1331140856962 </dateOriginated> <url> http://klocworkserver:8074/review/insight-review.html#goto:project=test,pid=1 </url> </problem> </errorList>
          Hide
          moncreaff Greg Moncreaff added a comment -

          Also, is there any way the KW issues data grid can include the URL to the issue on the KW project server as some form of shortcut, so they full highlighting and trace can be accessed there in?

          Show
          moncreaff Greg Moncreaff added a comment - Also, is there any way the KW issues data grid can include the URL to the issue on the KW project server as some form of shortcut, so they full highlighting and trace can be accessed there in?
          Hide
          gbois Gregory Boissinot added a comment -

          Would you like a release?

          Show
          gbois Gregory Boissinot added a comment - Would you like a release?
          Hide
          moncreaff Greg Moncreaff added a comment -

          I think yes?

          Show
          moncreaff Greg Moncreaff added a comment - I think yes?
          Hide
          weakcamel Waldek M added a comment -

          Well, I'd like a release for sure
          I'm using plugin 1.10 with KW 9.5.3 and the following stack trace appears (see below). Is it perhaps this issue?

          ERROR: Publisher com.thalesgroup.hudson.plugins.klocwork.KloPublisher aborted due to exception
          java.lang.NullPointerException
          at com.thalesgroup.hudson.plugins.klocwork.KloPublisher.perform(KloPublisher.java:101)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:692)
          at hudson.model.Build$BuildExecution.post2(Build.java:183)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:639)
          at hudson.model.Run.execute(Run.java:1527)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:236)
          [xUnit] [INFO] - Starting to record.

          Show
          weakcamel Waldek M added a comment - Well, I'd like a release for sure I'm using plugin 1.10 with KW 9.5.3 and the following stack trace appears (see below). Is it perhaps this issue? ERROR: Publisher com.thalesgroup.hudson.plugins.klocwork.KloPublisher aborted due to exception java.lang.NullPointerException at com.thalesgroup.hudson.plugins.klocwork.KloPublisher.perform(KloPublisher.java:101) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:692) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:639) at hudson.model.Run.execute(Run.java:1527) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236) [xUnit] [INFO] - Starting to record.
          Hide
          weakcamel Waldek M added a comment -

          Hello,
          It doesn't seem to work fine with 1.12
          I'm using KW 9.5.3, and that's what I got in build log:

          ==============================
          Starting the klocwork analysis.
          Version 9.6 or later of Klocwork detected. Only Klocwork review is available. Parse_errors.log and build.log can be accessed on the review
          ERROR: Publisher com.thalesgroup.hudson.plugins.klocwork.KloPublisher aborted due to exception
          java.lang.NullPointerException
          at com.thalesgroup.hudson.plugins.klocwork.KloPublisher.perform(KloPublisher.java:186)
          at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:692)
          at hudson.model.Build$BuildExecution.post2(Build.java:183)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:639)
          at hudson.model.Run.execute(Run.java:1527)
          at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:236)
          [xUnit] [INFO] - Starting to record.

          Show
          weakcamel Waldek M added a comment - Hello, It doesn't seem to work fine with 1.12 I'm using KW 9.5.3, and that's what I got in build log: ============================== Starting the klocwork analysis. Version 9.6 or later of Klocwork detected. Only Klocwork review is available. Parse_errors.log and build.log can be accessed on the review ERROR: Publisher com.thalesgroup.hudson.plugins.klocwork.KloPublisher aborted due to exception java.lang.NullPointerException at com.thalesgroup.hudson.plugins.klocwork.KloPublisher.perform(KloPublisher.java:186) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:692) at hudson.model.Build$BuildExecution.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:639) at hudson.model.Run.execute(Run.java:1527) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236) [xUnit] [INFO] - Starting to record.
          Hide
          gbois Gregory Boissinot added a comment -

          The issue persists in another code part.

          Show
          gbois Gregory Boissinot added a comment - The issue persists in another code part.
          Hide
          gbois Gregory Boissinot added a comment -

          The issue should be fix in 1.13.
          I'm afraid the initial code misses many checks.
          Please let me know if you have further problems.

          Show
          gbois Gregory Boissinot added a comment - The issue should be fix in 1.13. I'm afraid the initial code misses many checks. Please let me know if you have further problems.
          Hide
          weakcamel Waldek M added a comment -

          I'll give it a try. Thank you!
          BTW, could you please write what logger should I subscribe to to gather some more kw plugin debug information in future?

          Show
          weakcamel Waldek M added a comment - I'll give it a try. Thank you! BTW, could you please write what logger should I subscribe to to gather some more kw plugin debug information in future?
          Hide
          gbois Gregory Boissinot added a comment -

          I'm afraid I don't understand your last question about logger.
          Do you ask me which kind of tool to use when you'll have new issues?
          Thanks

          Show
          gbois Gregory Boissinot added a comment - I'm afraid I don't understand your last question about logger. Do you ask me which kind of tool to use when you'll have new issues? Thanks
          Hide
          weakcamel Waldek M added a comment -

          OK, so let me rephrase it; perhaps I wasn't too clear, indeed.
          Is there a way that I could gather some more detailed logs from the Klocwork plugin?
          Waldek

          Show
          weakcamel Waldek M added a comment - OK, so let me rephrase it; perhaps I wasn't too clear, indeed. Is there a way that I could gather some more detailed logs from the Klocwork plugin? Waldek

            People

            • Assignee:
              gbois Gregory Boissinot
              Reporter:
              moncreaff Greg Moncreaff
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: