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

MSBuild parser reports errors when message contains tool instead of file

      In some of our jobs we have seen messages like:

      13:19:52 [MSBuild] [ERROR] - '//INTRANET/Releases/SmartTranslator/ConsoleTranslator.exe', IO exception has been thrown: java.io.UncheckedIOException: java.nio.charset.UnmappableCharacterException: Input length = 1
      17:19:33 [MSBuild] [-ERROR-] - 'rs', IO exception has been thrown: java.nio.file.NoSuchFileException: rs
      17:19:33 [MSBuild] [-ERROR-] - 'NMAKE', IO exception has been thrown: java.nio.file.NoSuchFileException: NMAKE

      The source of them seem to be these lines in the output:

      16:43:02 \\INTRANET\Releases\SmartTranslator\ConsoleTranslator.exe: Warning ST: Could not translate string 'Expand f&olders larger than:'.
      17:19:23 NMAKE : fatal error U1077: '.\Tests.exe' : return code '0x1'
      17:19:23 NMAKE : fatal error U1077: '"C:\Program Files (x86)\Utils\NMAKE.EXE"' : return code '0x2'
      16:55:11 rs: error 002: Renaming the File  was not possible. Message: The process cannot access the file '...' because it is being used by another process.
      

      The problem for us is, that we also use the console parser plugin. When another tool reports a warning, the MSBuild parser reports an error because it has a problem with the tool and the job fails due to our configuration of the console parser plugin. As a workaround we currently execute the console parser plugin before the warnings-ng plugin.

      Based on https://blogs.msdn.microsoft.com/msbuild/2006/11/02/msbuild-visual-studio-aware-error-messages-and-message-formats/ tool names are valid.

          [JENKINS-56613] MSBuild parser reports errors when message contains tool instead of file

          Artur Lipinski created issue -

          Ulli Hafner added a comment -

          Can you please describe in more detail what the expected behavior should be?

          Ulli Hafner added a comment - Can you please describe in more detail what the expected behavior should be?

          We would expect that the MSBuild parser does not report any errors when a MSBuild warning contains a tool name instead of a file name.

          From what we have seen, the tool name seems to be always just the name without an extension or path (the ConsoleTranslator.exe in the example above is an inhouse project and we can correct it). Would it be a sufficient solution to decide on the format of the tool/file name what the behavior should be? If the name does not contain a path or extension it is a tool and the parser treats it like this. Meaning that it will not report any errors because the file was not found or cannot be parsed with the used charset. In all other cases the parser treats the name as a filename and continues with the current behavior. The only edge case of this solution we can currently think of would be that a file has no extension and is located in the current working directory (no path information).

          Artur Lipinski added a comment - We would expect that the MSBuild parser does not report any errors when a MSBuild warning contains a tool name instead of a file name. From what we have seen, the tool name seems to be always just the name without an extension or path (the ConsoleTranslator.exe in the example above is an inhouse project and we can correct it). Would it be a sufficient solution to decide on the format of the tool/file name what the behavior should be? If the name does not contain a path or extension it is a tool and the parser treats it like this. Meaning that it will not report any errors because the file was not found or cannot be parsed with the used charset. In all other cases the parser treats the name as a filename and continues with the current behavior. The only edge case of this solution we can currently think of would be that a file has no extension and is located in the current working directory (no path information).
          shan shan made changes -
          Rank New: Ranked lower
          Ulli Hafner made changes -
          Epic Link New: JENKINS-56456 [ 198054 ]
          Ulli Hafner made changes -
          Component/s New: analysis-model [ 23523 ]
          Component/s Original: warnings-ng-plugin [ 24526 ]
          Assignee Original: Ulli Hafner [ drulli ]
          Description Original:  

          In some of our jobs we have seen messages like:
          {noformat}
          13:19:52 [MSBuild] [ERROR] - '//INTRANET/Releases/SmartTranslator/ConsoleTranslator.exe', IO exception has been thrown: java.io.UncheckedIOException: java.nio.charset.UnmappableCharacterException: Input length = 1
          17:19:33 [MSBuild] [-ERROR-] - 'rs', IO exception has been thrown: java.nio.file.NoSuchFileException: rs
          17:19:33 [MSBuild] [-ERROR-] - 'NMAKE', IO exception has been thrown: java.nio.file.NoSuchFileException: NMAKE{noformat}
          The source of them seem to be these lines in the output:
          {noformat}
          16:43:02 \\INTRANET\Releases\SmartTranslator\ConsoleTranslator.exe: Warning ST: Could not translate string 'Expand f&olders larger than:'.
          17:19:23 NMAKE : fatal error U1077: '.\Tests.exe' : return code '0x1'
          17:19:23 NMAKE : fatal error U1077: '"C:\Program Files (x86)\Utils\NMAKE.EXE"' : return code '0x2'
          16:55:11 rs: error 002: Renaming the File was not possible. Message: The process cannot access the file '...' because it is being used by another process.
          {noformat}
          The problem for us is, that we also use the console parser plugin. When another tool reports a warning, the MSBuild parser reports an error because it has a problem with the tool and the job fails due to our configuration of the console parser plugin. As a workaround we currently execute the console parser plugin before the warnings-ng plugin.

          Based on [https://blogs.msdn.microsoft.com/msbuild/2006/11/02/msbuild-visual-studio-aware-error-messages-and-message-formats/] tool names are valid.
          New: In some of our jobs we have seen messages like:
          {noformat}
          13:19:52 [MSBuild] [ERROR] - '//INTRANET/Releases/SmartTranslator/ConsoleTranslator.exe', IO exception has been thrown: java.io.UncheckedIOException: java.nio.charset.UnmappableCharacterException: Input length = 1
          17:19:33 [MSBuild] [-ERROR-] - 'rs', IO exception has been thrown: java.nio.file.NoSuchFileException: rs
          17:19:33 [MSBuild] [-ERROR-] - 'NMAKE', IO exception has been thrown: java.nio.file.NoSuchFileException: NMAKE{noformat}
          The source of them seem to be these lines in the output:
          {noformat}
          16:43:02 \\INTRANET\Releases\SmartTranslator\ConsoleTranslator.exe: Warning ST: Could not translate string 'Expand f&olders larger than:'.
          17:19:23 NMAKE : fatal error U1077: '.\Tests.exe' : return code '0x1'
          17:19:23 NMAKE : fatal error U1077: '"C:\Program Files (x86)\Utils\NMAKE.EXE"' : return code '0x2'
          16:55:11 rs: error 002: Renaming the File was not possible. Message: The process cannot access the file '...' because it is being used by another process.
          {noformat}
          The problem for us is, that we also use the console parser plugin. When another tool reports a warning, the MSBuild parser reports an error because it has a problem with the tool and the job fails due to our configuration of the console parser plugin. As a workaround we currently execute the console parser plugin before the warnings-ng plugin.

          Based on [https://blogs.msdn.microsoft.com/msbuild/2006/11/02/msbuild-visual-studio-aware-error-messages-and-message-formats/] tool names are valid.
          Labels New: help-wanted newbie-friendly
          Tobias Redl made changes -
          Rank New: Ranked higher
          Ulli Hafner made changes -
          Epic Link Original: JENKINS-56456 [ 198054 ]
          Ulli Hafner made changes -
          Labels Original: help-wanted newbie-friendly New: help-wanted newbie-friendly testing-course
          Ulli Hafner made changes -
          Labels Original: help-wanted newbie-friendly testing-course New: help-wanted newbie-friendly

            Unassigned Unassigned
            x3ntrix Artur Lipinski
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: