Skip to content

rust-url's debugger_visualizer tests are broken in rustc nightly-2024-08-13 #130431

Description

@valenting

I was looking into servo/rust-url#967 but I wasn't able to reproduce the failures locally. Then I realized I was running an older nightly.

I used bisect-rustc and got the following output:


searched nightlies: from nightly-2024-08-01 to nightly-2024-09-16
regressed nightly: nightly-2024-08-13
searched commit range: 41dd149...91376f4
regressed commit: 13f8a57

bisected with cargo-bisect-rustc v0.6.9

Host triple: x86_64-pc-windows-msvc
Reproduce with:

cargo bisect-rustc --start=2024-08-01 --end=2024-09-16 --test-dir=rust-url -- test --test debugger_visualizer --features url/debugger_visualizer,url_debug_tests/debugger_visualizer -- --test-threads=1 --nocapture

The PR that introduced the issue seems to be: #126793

Example failing job: https://github.com/servo/rust-url/actions/runs/10879435038/job/30184131451

Activity

  1. added
    I-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Sep 16, 2024
  2. jieyouxu commented on Sep 16, 2024

    @jieyouxu
    Member

    cc @saethlin since you authored #126793 and are more familiar with debuggers

  3. added
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    on Sep 16, 2024
  4. added
    E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example
    C-discussionCategory: Discussion or questions that doesn't represent real issues.
    and removed
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    C-bugCategory: This is a bug.
    E-needs-mcveCall for participation: This issue has a repro, but needs a Minimal Complete and Verifiable Example
    I-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
    regression-untriagedUntriaged performance or correctness regression.
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Sep 16, 2024
  5. saethlin commented on Sep 16, 2024

    @saethlin
    Member

    The issue is that you need to update your natvis file for the new level of nesting in Vec, probably this line:
    https://github.com/servo/rust-url/blob/22b823708a59a50ea2505c3fcdb5c4b26ab9b080/debug_metadata/url.natvis#L4

    You could use the changes to our own natvis file in that PR you bisected to as a guide.

    I've removed the regression and bug labels, because (unfortunately) doing cool debugger stuff like this means you are depending on unstable library internals. If only we could teach debuggers how to go through our stable APIs to get the information 🙃

  6. valenting commented on Sep 17, 2024

    @valenting
    Author

    @saethlin thank you for the suggestion. Very much appreciated!
    Feel free to close this bug.

  7. jieyouxu commented on Sep 17, 2024

    @jieyouxu
    Member

    Closing as unfortunately not super actionable in terms of rustc/std.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-discussionCategory: Discussion or questions that doesn't represent real issues.WG-debuggingWorking group: Bad Rust debugging experiences

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions