-
Notifications
You must be signed in to change notification settings - Fork 384
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Duplicated bug report in html parser #3510
Comments
I have just run into this issue and can confirm this is happening. We found this in the CI of Contour-Terminal, where the PList HTML compressed ZIP artefact that we uploaded to the CI suddenly jumped from ~20 MiB in size to 400 MiB. (Now it is at 745 MiB) The CI job we use always runs latest Thanks to the build script of CodeChecker telling me the precise version, so far, I've been able to nail down the diff between these commits to be the culprit: 9f894e3...85dd52d A minimal example
Input "project"
|
Subsequent testing boiled the culprit down to 85dd52d. I've re-run the analysis of Contour as mentioned above to rule out the "system under test" changing (as it definitely did in the [23 .. 18] days ago mentioned), on the same content of the analysed project. |
@whisperity I created a patch which I think will solve this problem: #3524. Can you please try it out? |
I hit the same bug on HTML report generation and verify that 6.18.1 fixes it. But could it be that the diff command has the same bug? Check this diff report here that mentions 180 issues, while diffing in the UI shows only 15. It was generated with Should we re-open this ticket? |
@jimis Did you use remote runs for both --baseline and --newline options (run1 + run2) or one/both of them are local report directories? |
Also one more thing. I found a problem couple of days ago that in diff mode bug steps are always 1 for remote reports because we do not get and print these information to the generated HTML files. I created a patch which will solve this problem: #3555. Can you please try it out too? |
@csordasmarton both baseline and new are local directories. The baseline was generated with 6.18.0, the new with 6.18.1. The diff report in the UI appears normal. About #3555 we never use plain text diff output, nor diff against "remote" reports. I'll try to see if I can reproduce the issue easily but no guarantees. If so I'll comment on #3555. |
In the source code of the diff command we filter out duplicated reports: codechecker/web/client/codechecker_client/cmd_line_client.py Lines 205 to 206 in 4c8817d
From the link what you have sent it looks like that the reports are coming from different header/source files (see the url parameters): And the links for these reports: Also if you open a report in the source code section you see the following warning message: Please try to re-analyze your project again. |
On the listing, they are listed multiple times. For example the issue in qringbuffer_p.h is the one listed at position 13. It shouldn't be listed at position 2 with "qthread.h" as title. The diff command that generated this HTML listing shows only 15 issues found:
I'm not sure I follow. Yes it says the source code is missing, I considered this part of the bug. Re-analyze what exactly, the same checkout? And then run the same diff command? Why would that fix the issue? FWIW the diff command we use has not changed and it used to work in 6.17, and the files (for example |
I think I got this wrong. Even though the directories are there and have the same name as the runs, I believe we are using "remote" comparisons, since the I tried to reproduce my issue with both the 6.18.1 version and the CodeChecker version from #3555, but it was not possible: I get a normal listing of 15 issues now. However I still get "File not found" for the source files and I'm not sure why. Maybe because the files are analysed with The patched version shows one difference though, each issue shows a much deeper path length. I will try again a few days later, after new issues start appearing again. |
Describe the bug
I updated a project with CI that uses a docker container with Codechecker v6.18.0 and found out that the HTML parser creates duplicated bugs. The stats show me that v6.16.0 created 47680 severities while for v6.17.0 it creates 58, for the same source files.
I noticed that duplicate notification when calling
codechecker parser
came from the file parser.py as:and now they come from reports.py as:
So it seems that the parser detects the duplicates but they are still visible in the HTML view.
CodeChecker version
v6.18.0
To Reproduce
CodeChecker log
a project which has bugs that can be detected as duplicates. For example, a header that is included in different .cpp files.Expected behaviour
Duplicate errors in html generated pages are removed
Desktop (please complete the following information)
Additional context
The project where I found the bug is for an MCU with arm-none-eabi-gcc compiler. At the moment as a temporal solution, I will stick with v6.17.0
The text was updated successfully, but these errors were encountered: