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

Malformed instrumentation profile date #3

Closed
pacman82 opened this issue Sep 14, 2021 · 11 comments
Closed

Malformed instrumentation profile date #3

pacman82 opened this issue Sep 14, 2021 · 11 comments

Comments

@pacman82
Copy link

Hi, first of all thanks for providing such a nice GitHub action.

I used it in my project for a while, but sadly it started failing recently. See here: https://github.com/pacman82/odbc-api/runs/3580154985

It emits warnings about "malformed instrumentation profile data" and goes on to error out on an attempt to merge these. Am I missing anything obvious?

Cheers, Markus

@Swatinem
Copy link
Owner

Swatinem commented Sep 14, 2021 via email

@pacman82
Copy link
Author

Thanks for the quick reply and no rush. The GitHub action worked reliably at first. I can not tell exactly then, but since it started failing it does so always.

@Swatinem
Copy link
Owner

I also saw this on the sentry-rust repo that I maintain. I hope I can have a look during the week.

@pacman82
Copy link
Author

FYI: I branched from the last working commit and triggered the Job again resulting in the same error. Since neither the codebase, nor the GitHub Actions changed it is likely that something in the surrounding toolchains changed (maybe Rust nightly?).

@Swatinem
Copy link
Owner

Yes, that is my understanding as well. So I might reproduce the steps manually. Maybe also the way these things work has changed in Rust which would necessitate changes to the action.
Well, it is nightly after all and things might break at any time.

@pacman82
Copy link
Author

In case you get to it, I'll be curious to see what your diagnostics yield. Hm, that sentry-rust repository of yours might also come in handy one day.

@Swatinem
Copy link
Owner

Swatinem commented Dec 1, 2021

rust-lang/rust#91424

This adds a bit more diagnostics to guide the Rust developers in diagnosing the root cause of this problem.

@pacman82
Copy link
Author

pacman82 commented Dec 1, 2021

Nice to see some progres.

@Swatinem
Copy link
Owner

Swatinem commented Jan 6, 2022

So the changes to rustc/llvm improved the error reporting a bit:

malformed instrumentation profile data: insufficient padding

I was looking a bit at where that error originates, and ran a few experiments.
Turns out splitting up the llvm-profdata merge invocation into batches solved this problem at least for sentry-rust (is combination for adding another %m placeholder:
https://github.com/getsentry/sentry-rust/runs/4729270573?check_suite_focus=true

In the end, I might as well retire this action and rather advocate for https://github.com/taiki-e/cargo-llvm-cov#continuous-integration

I’m trying that in CI right now, lets see what kind of results it generates.

@Swatinem Swatinem closed this as completed Jan 6, 2022
@pacman82
Copy link
Author

pacman82 commented Jan 8, 2022

Thanks for the link to cargo-llv-cov. I'll give it a spin.

@pacman82
Copy link
Author

FYI: cargo-llvm-cov worked like a charm. Thanks again for the link!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants