-
New Feature
-
Resolution: Fixed
-
Minor
-
None
-
Powered by SuggestiMate
Disclaimer: I have already posted this issue as a question on Stackoverflow, but unfortunately got no feedback there.
Unfortunately, although the warnings are collected and displayed, I cannot trace them back to the source code. The overview shows the correct file path and the file still exists in the file system after the build.
When I click on the file to investigate the individual issues, the filename and line are displayed, but I can't click on it to look at the location in the code.
According to the plugin's documentation, warnings should actually also be displayed in the code if they affect a specific line, for example.
I'm using the iar and the iarCstat plugin like this:
success { dir("${BUILD_DIR}") { recordIssues( tools: [ iar(), iarCstat(pattern: "${BUILD_DIR}\\cstat\\cstat_log.txt") ] ) } }
Can anyone tell me if I am using the plugin incorrectly or if this problem is known? I could not find anything about it...
[JENKINS-66687] Warnings not showed in file when case insensitive path is provided
The only thing I can find is
[IAR Compiler (C/C++)] -> resolved paths in source directory (2 found, 0 not found)
The interesting thing is that (as seen in the pictures) in the overview the correct file path is displayed and it exists, but then in the detail view this information seems to be lost.
The log messages when copying the files should follow a few lines later. Here an example:
14:16:29 [SpotBugs] Searching for all files in '/home/jenkins/workspace/lugins_warnings-ng-plugin_master' that match the pattern '**/target/spotbugsXml.xml,**/target/findbugsXml.xml' 14:16:29 [SpotBugs] -> found 2 files 14:16:29 [SpotBugs] Successfully parsed file /home/jenkins/workspace/lugins_warnings-ng-plugin_master/plugin/target/spotbugsXml.xml 14:16:29 [SpotBugs] -> found 0 issues (skipped 0 duplicates) 14:16:29 [SpotBugs] Successfully parsed file /home/jenkins/workspace/lugins_warnings-ng-plugin_master/ui-tests/target/spotbugsXml.xml 14:16:29 [SpotBugs] -> found 5 issues (skipped 0 duplicates) 14:17:01 [SpotBugs] Post processing issues on 'EC2 (aws) - High memory ubuntu 20.04 (i-0a3922746f5f01de0)' with source code encoding 'UTF-8' 14:17:01 [SpotBugs] Skipping SCM blames as requested 14:17:01 [SpotBugs] Resolving file names for all issues in source directory '/home/jenkins/workspace/lugins_warnings-ng-plugin_master' 14:17:01 [SpotBugs] -> resolved paths in source directory (4 found, 0 not found) 14:17:01 [SpotBugs] Resolving module names from module definitions (build.xml, pom.xml, or Manifest.mf files) 14:17:01 [SpotBugs] -> all issues already have a valid module name 14:17:01 [SpotBugs] Resolving package names (or namespaces) by parsing the affected files 14:17:01 [SpotBugs] -> all affected files already have a valid package name 14:17:01 [SpotBugs] No filter has been set, publishing all 5 issues 14:17:01 [SpotBugs] Creating fingerprints for all affected code blocks to track issues over different builds 14:17:01 [SpotBugs] -> created fingerprints for 0 issues (skipped 5 issues) 14:17:01 [SpotBugs] Copying affected files to Jenkins' build folder '/var/jenkins_home/jobs/Plugins/jobs/warnings-ng-plugin/branches/master/builds/1414/files-with-issues' 14:17:01 [SpotBugs] -> 4 copied, 0 not in workspace, 0 not-found, 0 with I/O error 14:17:01 [SpotBugs] Repository miner is not configured, skipping repository mining 14:17:01 [SpotBugs] Obtaining reference build from reference recorder 14:17:01 [SpotBugs] -> No reference build recorded 14:17:01 [SpotBugs] Obtaining reference build from same job (master) 14:17:01 [SpotBugs] Using reference build 'Plugins/warnings-ng-plugin/master #1413' to compute new, fixed, and outstanding issues 14:17:01 [SpotBugs] Issues delta (vs. reference build): outstanding: 5, new: 0, fixed: 0 14:17:01 [SpotBugs] Evaluating quality gates 14:17:01 [SpotBugs] -> PASSED - New (any severity): 0 - Quality QualityGate: 1 14:17:01 [SpotBugs] -> All quality gates have been passed 14:17:01 [SpotBugs] Health report is disabled - skipping 14:17:01 [SpotBugs] Created analysis result for 5 issues (found 0 new issues, fixed 0 issues) 14:17:01 [SpotBugs] Attaching ResultAction with ID 'spotbugs' to build 'Plugins/warnings-ng-plugin/master #1414'. 14:17:02 [GitHub Checks] GitHub check (name: SpotBugs, status: COMPLETED) has been published.
Seems that the path could be resolved, but the file cannot be copied. Did you set the correct encoding? Can you add those details (see next lines) from your build as well?
14:17:01 [SpotBugs] Copying affected files to Jenkins' build folder '/var/jenkins_home/jobs/Plugins/jobs/warnings-ng-plugin/branches/master/builds/1414/files-with-issues' 14:17:01 [SpotBugs] -> 4 copied, 0 not in workspace, 0 not-found, 0 with I/O error
Unbelievable, how did I miss that
[IAR Compiler (C/C++)] Parsing console log (workspace: 'HIDDEN_BUILD_PATH') [IAR Compiler (C/C++)] -> found 15 issues (skipped 14 duplicates) [IAR Compiler (C/C++)] Parsing console log (workspace: 'HIDDEN_BUILD_PATH') [IAR Compiler (C/C++)] -> found 15 issues (skipped 14 duplicates) [IAR Compiler (C/C++)] Successfully parsed console log [IAR Compiler (C/C++)] -> found 15 issues (skipped 14 duplicates) [IAR Compiler (C/C++)] Parsing console log (workspace: 'HIDDEN_BUILD_PATH') [IAR Compiler (C/C++)] Post processing issues on 'HIDDEN_NODE' with source code encoding 'UTF-8' [IAR Compiler (C/C++)] Creating SCM blamer to obtain author and commit information for affected files [IAR Compiler (C/C++)] -> No blamer installed yet. You need to install the 'git-forensics' plugin to enable blaming for Git. [IAR Compiler (C/C++)] Resolving file names for all issues in source directory 'HIDDEN_BUILD_PATH' [IAR Compiler (C/C++)] -> resolved paths in source directory (2 found, 0 not found) [IAR Compiler (C/C++)] Resolving module names from module definitions (build.xml, pom.xml, or Manifest.mf files) [IAR Compiler (C/C++)] -> resolved module names for 15 issues [IAR Compiler (C/C++)] Resolving package names (or namespaces) by parsing the affected files [IAR Compiler (C/C++)] -> resolved package names of 2 affected files [IAR Compiler (C/C++)] No filter has been set, publishing all 15 issues [IAR Compiler (C/C++)] Creating fingerprints for all affected code blocks to track issues over different builds [IAR Compiler (C/C++)] -> created fingerprints for 15 issues (skipped 0 issues) [IAR Compiler (C/C++)] Copying affected files to Jenkins' build folder 'HIDDEN_BUILD_FOLDER' [IAR Compiler (C/C++)] -> 0 copied, 15 not in workspace, 0 not-found, 0 with I/O error [IAR Compiler (C/C++)] Repository miner is not configured, skipping repository mining [IAR Compiler (C/C++)] Reference build recorder is not configured [IAR Compiler (C/C++)] Obtaining reference build from same job (bugfix/CStat) [IAR Compiler (C/C++)] Using reference build 'HIDDEN_PROJECT_NAME #14' to compute new, fixed, and outstanding issues [IAR Compiler (C/C++)] Issues delta (vs. reference build): outstanding: 15, new: 0, fixed: 0 [IAR Compiler (C/C++)] No quality gates have been set - skipping [IAR Compiler (C/C++)] Health report is disabled - skipping [IAR Compiler (C/C++)] Created analysis result for 15 issues (found 0 new issues, fixed 0 issues) [IAR Compiler (C/C++)] Attaching ResultAction with ID 'iar' to build 'HIDDEN_PROJECT_NAME #15'.
Apparently "15 not in workspace" is the problem. But how do I fix this?
Due to security reasons, those files need to be in the Jenkins workspace. Is it correct, that your sources are not below the workspace root HIDDEN_BUILD_PATH?
You can add an additional folder using the sourceDirectory parameter. You need to register that path in the global Jenkins settings though.
From your comment above it looks like you are running the build on a Windows agent. Can you please check if the absolute file path for a warning contains the exact prefix of the folder that has been printed as workspace (check the capitalization as well for things like c: vs. C:). The file path is visible in your compiler log or in the build output file of my warnings plugin: $JENKINS_HOME/jobs/[job-name]/builds/[build-number]/*issues.xml.
It's displayed as relative path:
<pathName>C:/Jenkins/workspace/XXX/XXX/XXX/XXX/build</pathName> <fileName>../tests/mocks/generated_mocks.c</fileName>
No, my agent is running windows, my jenkins master is running on linux.
I might found a new hint that could help to solve the problem: I've managed to fix another issue with the iar toolchain itself, now, i'm getting the following error(s):
[IAR C-STAT] Sleeping for 5 seconds due to JENKINS-32191... [IAR C-STAT] Parsing console log (workspace: 'c:\jenkins\workspace\XXX') [IAR C-STAT] -> found 122 issues (skipped 24 duplicates) [IAR C-STAT] Parsing console log (workspace: 'c:\jenkins\workspace\XXX') [IAR C-STAT] [-ERROR-] Can't create fingerprints for some files: [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/XXX/xxx/src/helper/filename.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\XXX\xxx\src\helper\filename.c ... and so on
Please note that "XXX" and "xxx" are case sensitive, it's the name of the build workspace, one time with uppercase letters, the other time lowercase letters only.
So for whatever reason the workspace folder is used twice in the path at this point. The correct path would be in any case C:/Jenkins/workspace/XXX/src/helper/filename.c
I've checked the cstat.db database, the path which is provided there is correct.
Ok, thanks. Somehow the used String operations and relative path expansions seem not to work with the different capitalization.
Can you please set the correct path in your Windows agent configuration (Remote root directory) to C:\Jenkins? I don't think that this is the only problem but maybe it helps.
Good point! Unfortunately, it doesn't help. Same error message(s).
What did you actually change so that it now breaks earlier in the chain (before that the fingerprinting seemed to work)? It would be helpful if we can restart with the investigation and you can paste the whole new output of the recordIssues step. Also what is now stored in the *issues.xml file? I understand that you do not want to show the real path names. But can you anonymize your paths by replacing the path components with an arbitrary word that uses the same capitalization? For me it is somewhat unclear what XXX means - is it a file with all chars in UPPER CASE, or only the first in upper case? And can you please also paste one of the log lines that has been picked up by my plugin (with the same replacement rules)?
I didn't change anything, actually IAR provided a patch which solved an issue that the cstat.db couldn't be loaded. I think, the files weren't even discovered before...
This is the (obfuscated) log output.
[IAR C-STAT] Sleeping for 5 seconds due to JENKINS-32191... [IAR C-STAT] Parsing console log (workspace: 'c:\jenkins\workspace\ExampleABC-DE_feature_coolFeature') [IAR C-STAT] -> found 122 issues (skipped 24 duplicates) [IAR C-STAT] Parsing console log (workspace: 'c:\jenkins\workspace\ExampleABC-DE_feature_coolFeature') [IAR C-STAT] [-ERROR-] Can't create fingerprints for some files: [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/helper/file.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\helper\file.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/helper/other_file.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\helper\other_file.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/helper/other_file.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\helper\other_file.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/include/ab_cde.h', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\include\ab_cde.h [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_example.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_example.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_example.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_example.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_example.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_example.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/include/xy_FOO_exampleB.h', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\include\xy_FOO_exampleB.h [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_exampleB.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_exampleB.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_exampleB.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_exampleB.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_exampleB.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_exampleB.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_exampleB.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_exampleB.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_exampleB.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_exampleB.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_exampleB.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_exampleB.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_exampleC.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_exampleC.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/xy_FOO_exampleC.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\xy_FOO_exampleC.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/yr_SAN_exampleD.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\yr_SAN_exampleD.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/yr_SAN_exampleD.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\yr_SAN_exampleD.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/yr_SAN_exampleD.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\yr_SAN_exampleD.c [IAR C-STAT] [-ERROR-] - 'C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/exampleabc-de_feature_coolfeature/src/yr_SAN_exampleD.c', IO exception has been thrown: java.nio.file.NoSuchFileException: C:\Jenkins\workspace\ExampleABC-DE_feature_coolFeature\exampleabc-de_feature_coolfeature\src\yr_SAN_exampleD.c [IAR C-STAT] [-ERROR-] ... skipped logging of 102 additional errors ... [IAR C-STAT] -> found 122 issues (skipped 24 duplicates) [IAR C-STAT] Successfully parsed console log [IAR C-STAT] -> found 122 issues (skipped 24 duplicates) [IAR C-STAT] Parsing console log (workspace: 'c:\jenkins\workspace\ExampleABC-DE_feature_coolFeature') [IAR C-STAT] Post processing issues on 'WindowsWorker' with source code encoding 'UTF-8' [IAR C-STAT] Creating SCM blamer to obtain author and commit information for affected files [IAR C-STAT] -> No blamer installed yet. You need to install the 'git-forensics' plugin to enable blaming for Git. [IAR C-STAT] Resolving file names for all issues in source directory 'c:\jenkins\workspace\ExampleABC-DE_feature_coolFeature' [IAR C-STAT] -> resolved paths in source directory (0 found, 18 not found) [IAR C-STAT] Resolving module names from module definitions (build.xml, pom.xml, or Manifest.mf files) [IAR C-STAT] -> resolved module names for 122 issues [IAR C-STAT] Resolving package names (or namespaces) by parsing the affected files [IAR C-STAT] -> resolved package names of 18 affected files [IAR C-STAT] No filter has been set, publishing all 122 issues [IAR C-STAT] Creating fingerprints for all affected code blocks to track issues over different builds [IAR C-STAT] -> created fingerprints for 0 issues (skipped 122 issues) [IAR C-STAT] Copying affected files to Jenkins' build folder '/var/lib/jenkins/jobs/Builds/ExampleABC-DE/feature%2FcoolFeature/builds/110/files-with-issues' [IAR C-STAT] -> 0 copied, 0 not in workspace, 122 not-found, 0 with I/O error [IAR C-STAT] Repository miner is not configured, skipping repository mining [IAR C-STAT] Reference build recorder is not configured [IAR C-STAT] Obtaining reference build from same job (feature/coolFeature) [IAR C-STAT] Using reference build 'XXX #109' to compute new, fixed, and outstanding issues [IAR C-STAT] Issues delta (vs. reference build): outstanding: 122, new: 0, fixed: 0 [IAR C-STAT] No quality gates have been set - skipping [IAR C-STAT] Health report is disabled - skipping [IAR C-STAT] Created analysis result for 122 issues (found 0 new issues, fixed 0 issues) [IAR C-STAT] Attaching ResultAction with ID 'iar-cstat' to build 'Builds/ExampleABC-DE/feature%2FcoolFeature #110'.
But now the content of (one) the iar-cstat-outstanding-issues.xml file is
<pathName>-</pathName> <fileName>C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/fexampleabc-de_feature_coolfeature/src/helper/file.c</fileName>
So the path name isn't correct, right?
Ok, seems that you agent workspace ist still using the wrong capitalization, it should be C:\Jenkins. Can you please also show one line of the console log, that shows the actual warning (with filename) from the output of IAR compiler? Maybe here the filename uses the wrong capitalization already.
Analyzing File: C:/Jenkins/workspace/ExampleABC-DE_feature_coolFeature/src/helper/file.c
C:\jenkins\workspace\ExampleABC-DE_feature_coolFeature>"C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.3 EWARM FS 8.40.3\arm\bin\icstat.exe" --db c:\jenkins\workspace\ExampleABC-DE_feature_coolFeature\build\cstat\cstat.db load
...
..\exampleabc-de_feature_coolfeature\src\helper\file.c",53 <OBUSCATED WARNING MESSAGE> # See note 1
Note 1: This could be the problem? The ../ indicates that another directory? And the lower case path doesn't exist either... Is this a cstat issue? I checked the database again, the ../exampleabc-de_feature_coolfeature\src\helper\file.c
path doesn't appear anywhere there.
Yes, this is the problem. icstat does not report the real path on Windows, it is using a converted path (all lowercase). Then my plugin tries to use that path for all preprocessing steps. Then case sensitive String matching does not work anymore.
I see three solutions:
- Fix icstat
- When resolving the filenames of issues in the warnings plugin, replace all provided paths with the real case sensitive path
- Replace all filesystem code in the warnings plugin that uses only lowercase characters if running on Windows
Since all windows versions have case-insensitive file paths, i'd suggest number 3. icstat probably isn't the first and won't be the last software on windows that messes up paths...
Is there a "quick hack" that can prove that this is indeed the problem?
You can pipe the output of icstat to a file and replace the paths with the correct one before the warnings plugin runs.
Uff, this is easy on linux but on windows?... Give me some hours/days
Unfortunately, I have not yet found the time to try it out. Do you already have an idea how the problem could be solved in the long term?
A colleague of mine has found a solution to the problem. However, not the cstat database is used but only the log output. I am not quite sure if information is lost there.
cstat must be run in the project root (not in the build directory) and recordIssues must be run in the build directory. Then it works
Ok good to hear! I created a followup issue JENKINS-66810 so I can change the current behavior in the future (I don't have spare time right now).
Is this still a problem? I think the preprocessing has been changed to use real paths recently. Please reopen if still valid.
Files are only shown if they could be found. Most compilers report warnings with absolute paths but some do not. What does the Jenkins console log of your build report? There should be some warnings about files that could not be found. In the build overview there is also an exclamation mark icon right after the warnings summary that navigates to the log messages.