Skip to content

Incomplete DWARF debug info in Rust 1.88 #143241

Open
@godzie44

Description

@godzie44

I tried compile this code:

use std::time::Duration;

fn main() {
    let runtime = tokio::runtime::Builder::new_multi_thread()
        .enable_time()
        .build()
        .unwrap();

    runtime.spawn(async {
        tokio::time::sleep(Duration::from_secs(1)).await;
        println!("hello world");
    });

    std::thread::sleep(Duration::from_secs(2));
}

Now, inspect DWARF info for the type:
Arc<tokio::runtime::scheduler::multi_thread::queue::Inner<alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle, alloc::alloc::Global>>, alloc::alloc::Global>

Expected Behavior
Complete type description including members (as in Rust 1.87):

DW_TAG_structure_type
  DW_AT_name "Arc<...>"
  DW_AT_byte_size 8
  // ... with member descriptions

Actual Behavior
Truncated type info in Rust 1.88:

< 3><0x000039bb>  DW_TAG_structure_type
                    DW_AT_name "Arc<...>"
                    DW_AT_byte_size 8
                    // NO member descriptions

Impact
This breaks debugger tools that rely on parsing these types. In my case, it prevents analyzing tokio's scheduler context for async debugging, as critical type information is missing.

Meta

rustc --version --verbose:

rustc 1.88.0 (6b00bc388 2025-06-23)
binary: rustc
commit-hash: 6b00bc3880198600130e1cf62b8f8a93494488cc
commit-date: 2025-06-23
host: x86_64-unknown-linux-gnu
release: 1.88.0
LLVM version: 20.1.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)C-bugCategory: This is a bug.E-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions