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

timestamper 1.9 breaks warnings-ng's ability to find source files

    XMLWordPrintable

Details

    • 5.0.0 (analysis-model and warnings-ng)

    Description

      In timestamper 1.9, the log format was changed.  When I enable timestamper on a pipeline job, then scan it with warnings-ng, it detects errors but incorrectly parses the filename — it considers the timestamp to be part of the filename.

      To reproduce the issue, install both plugins and run this pipeline job:

      node {
          timestamps {
              sh """
                  echo '#error This is an error.' > test.c
                  clang test.c || true
              """
              recordIssues tools: [clang(id: 'clang', name: 'clang')]
          }
      }
      

      and the console log says:

      00:00:01.047  test.c:1:2: error: This is an error.
      …
      00:00:06.276  [clang] [ERROR] Can't resolve absolute paths for some files:
      00:00:06.276  [clang] [ERROR] - [2019-03-08T15:46:53.268Z] test.c
      00:00:06.276  [clang] [ERROR] Can't create fingerprints for some files:
      00:00:06.276  [clang] [ERROR] - '[2019-03-08T15:46:53.268Z] test.c', IO exception has been thrown: java.nio.file.NoSuchFileException: [2019-03-08T15:46:53.268Z] test.c
      

      Attachments

        Issue Links

          Activity

            smokris Steve Mokris created issue -
            smokris Steve Mokris made changes -
            Field Original Value New Value
            Description In timestamper 1.9, the [log format was changed|https://plugins.jenkins.io/timestamper#Timestamper-1.9(2019-02-07)].  When I enable timestamper on a pipeline job, then scan it with warnings-ng, it detects errors but incorrectly parses the filename — it considers the timestamp part of the filename.

            To reproduce the issue, install both plugins and run this pipeline job:
            {code:java}
            node {
                timestamps {
                    sh """
                        echo '#error This is an error.' > test.c
                        clang test.c || true
                    """
                    recordIssues tools: [clang(id: 'clang', name: 'clang')]
                }
            }
            {code}
            and the console log says:
            {code:java}
            00:00:01.047 test.c:1:2: error: This is an error.

            00:00:06.276 [clang] [ERROR] Can't resolve absolute paths for some files:
            00:00:06.276 [clang] [ERROR] - [2019-03-08T15:46:53.268Z] test.c
            00:00:06.276 [clang] [ERROR] Can't create fingerprints for some files:
            00:00:06.276 [clang] [ERROR] - '[2019-03-08T15:46:53.268Z] test.c', IO exception has been thrown: java.nio.file.NoSuchFileException: [2019-03-08T15:46:53.268Z] test.c
            {code}
            In timestamper 1.9, the [log format was changed|https://plugins.jenkins.io/timestamper#Timestamper-1.9(2019-02-07)].  When I enable timestamper on a pipeline job, then scan it with warnings-ng, it detects errors but incorrectly parses the filename — it considers the timestamp to be part of the filename.

            To reproduce the issue, install both plugins and run this pipeline job:
            {code:java}
            node {
                timestamps {
                    sh """
                        echo '#error This is an error.' > test.c
                        clang test.c || true
                    """
                    recordIssues tools: [clang(id: 'clang', name: 'clang')]
                }
            }
            {code}
            and the console log says:
            {code:java}
            00:00:01.047 test.c:1:2: error: This is an error.

            00:00:06.276 [clang] [ERROR] Can't resolve absolute paths for some files:
            00:00:06.276 [clang] [ERROR] - [2019-03-08T15:46:53.268Z] test.c
            00:00:06.276 [clang] [ERROR] Can't create fingerprints for some files:
            00:00:06.276 [clang] [ERROR] - '[2019-03-08T15:46:53.268Z] test.c', IO exception has been thrown: java.nio.file.NoSuchFileException: [2019-03-08T15:46:53.268Z] test.c
            {code}
            drulli Ulli Hafner made changes -
            Component/s timestamper-plugin [ 15749 ]
            Assignee Steven G Brown [ stevengbrown ] Ulli Hafner [ drulli ]
            drulli Ulli Hafner made changes -
            Epic Link JENKINS-56456 [ 198054 ]
            drulli Ulli Hafner made changes -
            Component/s analysis-model [ 23523 ]
            Component/s warnings-ng-plugin [ 24526 ]
            Assignee Ulli Hafner [ drulli ]
            Labels help-wanted newbie-friendly
            drulli Ulli Hafner made changes -
            Link This issue is caused by JENKINS-48344 [ JENKINS-48344 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "Discussion of TimestamperAPI.read (Web Link)" [ 22520 ]
            drulli Ulli Hafner made changes -
            Remote Link This issue links to "PR#128 (Web Link)" [ 22521 ]
            drulli Ulli Hafner made changes -
            Assignee Steve Mokris [ smokris ]
            drulli Ulli Hafner made changes -
            Link This issue is duplicated by JENKINS-57020 [ JENKINS-57020 ]
            drulli Ulli Hafner made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            drulli Ulli Hafner made changes -
            Rank Ranked lower
            drulli Ulli Hafner made changes -
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Fixed but Unreleased [ 10203 ]
            drulli Ulli Hafner made changes -
            Released As 5.0.0 (analysis-model and warnings-ng)
            Status Fixed but Unreleased [ 10203 ] Resolved [ 5 ]

            People

              smokris Steve Mokris
              smokris Steve Mokris
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: