Skip to content

rustc segfaults when printing a backtrace for ICEs when debug=true is set #69151

Closed
@Aaron1011

Description

@Aaron1011

When debug=true is set in config.toml, my machine generates a librustc_driver.so with a size of 2.2 GB, of which 2.1 GB is debuginfo. This ends up triggering ianlancetaylor/libbacktrace#32. Since backtrace-rs ignores errors from libbacktrace, we continue trying to print the backtrace, which leads to a segfaut since the strtab has been freed due to the libbacktrace error.

There are a couple of ways that we can address this:

  1. Fix the libbacktrace bug - I think this should be fairly straightforward, but I haven't attempted it yet.
  2. Switch over to using backtrace-rs's gimli backend - however, I don't think it's feature-complete atm.

It would probably also be a good idea to investigate why 2.1 GB of debuginfo is getting generated - this seems really excessive.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)C-bugCategory: This is a bug.I-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions