Skip to content

Instrumentation profile data contains empty function name (?) as of nightly-2025-05-19 #141577

Open
@jan-ferdinand

Description

@jan-ferdinand
Contributor

Hi there! I hope I'm using the right issue template and the right repository; apologies if I'm not. Happy about pointers to improve on that.
Also, the issue's title might be arbitrarily far from what's actually going on.

Code

I tried to run the following command on this crate:

cargo llvm-cov

I expected to see this happen: successful generation of a coverage report, for example like in this workflow run.

Instead, this happened: error “malformed instrumentation profile data: function name is empty”, for example like in this workflow run.

I can reproduce the error locally, so I'm reasonably sure that it's not CI's fault.

Version it worked on

rustc --version --verbose:

rustc 1.89.0-nightly (4d051fb30 2025-05-18)
binary: rustc
commit-hash: 4d051fb306e661654d088892e02e69b8c0c39d43
commit-date: 2025-05-18
host: x86_64-unknown-linux-gnu
release: 1.89.0-nightly
LLVM version: 20.1.5

Version with regression

rustc --version --verbose:

rustc 1.89.0-nightly (60dabef95 2025-05-19)
binary: rustc
commit-hash: 60dabef95a3de3ec974dcb50926e4bfe743f078f
commit-date: 2025-05-19
host: x86_64-unknown-linux-gnu
release: 1.89.0-nightly
LLVM version: 20.1.5

I have tried to run cargo-bisect-rustc but can't get the installation of the component llvm-tools-preview to work there, since the toolchain bisect-* seems to be throwing something off. 😕

Activity

added
needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.
I-prioritizeIssue: Indicates that prioritization has been requested for this issue.
on May 26, 2025
added
A-code-coverageArea: Source-based code coverage (-Cinstrument-coverage)
on May 26, 2025
apiraino

apiraino commented on May 26, 2025

@apiraino
Contributor

@jan-ferdinand thanks for filing this issue. is it possible to reproduce the issue without having the code in that repository connect to external services?

Details

2025-05-26T11:00:46.407357Z DEBUG neptune_cash::tests::shared: cannot open file 'test_data/6770875a59dc73f6c82631f771c44db8ce2444a71c3eacdb66e337be1e2a8ab3440f365c8449f85f.proof' -- might not exist
2025-05-26T11:00:46.407372Z DEBUG neptune_cash::models::proof_abstractions::tasm::program::tests: Proof not found on disk.
2025-05-26T11:00:46.407590Z DEBUG neptune_cash::tests::shared: requesting: <http://explorer.neptune.cash:42580/6770875a59dc73f6c82631f771c44db8ce2444a71c3eacdb66e337be1e2a8ab3440f365c8449f85f.proof>
http://explorer.neptune.cash:42580/ responded with 404 Not Found
2025-05-26T11:00:46.913707Z DEBUG neptune_cash::tests::shared: requesting: <http://neptunefundamentals.org:42580/6770875a59dc73f6c82631f771c44db8ce2444a71c3eacdb66e337be1e2a8ab3440f365c8449f85f.proof>
got proof.

Note, for info: llvm-cov is a separate project hosted at https://github.com/taiki-e/cargo-llvm-cov

@rustbot label +E-needs-bisection +E-needs-mcve

added
E-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc
E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example
on May 26, 2025
bjorn3

bjorn3 commented on May 26, 2025

@bjorn3
Member
jan-ferdinand

jan-ferdinand commented on May 26, 2025

@jan-ferdinand
ContributorAuthor

is it possible to reproduce the issue without having the code in that repository connect to external services?

Apologies! It is possible, yes:

works: cargo +nightly-2025-05-19 llvm-cov -- database::storage::storage_schema::dbtvec::tests::streams::stream_many
doesn't work: cargo +nightly-2025-05-20 llvm-cov -- database::storage::storage_schema::dbtvec::tests::streams::stream_many

Note, for info: llvm-cov is a separate project hosted at taiki-e/cargo-llvm-cov

Thanks for pointing this out explicitly. The reason I opened the issue here is that, as far as I can tell, the same version of llvm-cov is being used in both the working and the failing command. If you think the issue belongs with llvm-cov, I can move the discussion there.

added a commit that references this issue on May 26, 2025
added a commit that references this issue on May 26, 2025
folkertdev

folkertdev commented on May 27, 2025

@folkertdev
Contributor

I would guess #141063 is the cause?

jan-ferdinand

jan-ferdinand commented on May 27, 2025

@jan-ferdinand
ContributorAuthor

I would guess #141063 is the cause?

According to rustc --version --verbose, both the working and the failing command use the same version of LLVM, namely 20.1.5.

$ diff -u fails works
-rustc 1.89.0-nightly (60dabef95 2025-05-19)
+rustc 1.89.0-nightly (4d051fb30 2025-05-18)
 binary: rustc
-commit-hash: 60dabef95a3de3ec974dcb50926e4bfe743f078f
-commit-date: 2025-05-19
+commit-hash: 4d051fb306e661654d088892e02e69b8c0c39d43
+commit-date: 2025-05-18
 host: x86_64-unknown-linux-gnu
 release: 1.89.0-nightly
 LLVM version: 20.1.5

22 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

A-code-coverageArea: Source-based code coverage (-Cinstrument-coverage)C-bugCategory: This is a bug.E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable ExampleT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-nightlyPerformance or correctness regression from stable to nightly.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @jan-ferdinand@apiraino@folkertdev@bjorn3@Zalathar

      Issue actions

        Instrumentation profile data contains empty function name (?) as of `nightly-2025-05-19` · Issue #141577 · rust-lang/rust