Skip to content
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

CI for code coverage fails on new Ubuntu images #212

Open
ddeclerck opened this issue Jan 19, 2025 · 5 comments
Open

CI for code coverage fails on new Ubuntu images #212

ddeclerck opened this issue Jan 19, 2025 · 5 comments
Labels
help wanted Extra attention is needed

Comments

@ddeclerck
Copy link
Contributor

ddeclerck commented Jan 19, 2025

Since the latest Ubuntu image, lcov fails complaining about negative branch counts.
It suggests passing fprofile-update=atomic to gcc, but that does not seem to help either.
So for now I've changed ubuntu-latest to ubuntu-22.04 in the coverage section of the CI definition, but it probably needs more investigation.

@ddeclerck ddeclerck added the help wanted Extra attention is needed label Jan 19, 2025
@GitMensch
Copy link
Collaborator

Please link a related CI build log.

@ddeclerck
Copy link
Contributor Author

See this CI run.

@GitMensch
Copy link
Collaborator

If this is the only part that's failing I'd suggest to disable the coverage part for now, having CI running, then create a separate PR to update the CI definition (changed main one to also include MSYS1 etc) and after the "initial" part is in there pull it (so extended + improved CI in general, just without coverage) and in an additional draft PR try options for getting coverage to work.
[this may not have come up as Appveyor also uses Ubuntu 22.04, not 24.04 yet).

Is this an lcov2 and/or gcov13 issue?

@ddeclerck
Copy link
Contributor Author

ddeclerck commented Jan 24, 2025

Note that this affects both 3.x and 4.x.

then create a separate PR to update the CI definition (changed main one to also include MSYS1 etc)

This is for 4.x right ? Was your PR #190 suitable for this update ?

Is this an lcov2 and/or gcov13 issue?

All I can say is that on the Ubuntu 22.04 image, we use gcov 11.4.0 + lcov 1.15, while on Ubuntu 24.04 we use gcov 13.3 + lcov 2.0

Apparently, lcov2 performs some data consistency check, so maybe the errors were already there but never reported...

We might workaround this by passing --ignore-errors negative to lcov...

That may be related to this GCC bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68080, which resulted in the new gcc option -fprofile-update=atomic - though that did not help here...

@denishug
Copy link

denishug commented Jan 27, 2025

Hello
i have created the #997 ticket last october about that .

Denis

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants