-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Closed
Labels
A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)Area: Debugging information in compiled programs (DWARF, PDB, etc.)C-bugCategory: This is a bug.Category: This is a bug.I-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.Issue: 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.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
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:
- Fix the
libbacktrace
bug - I think this should be fairly straightforward, but I haven't attempted it yet. - Switch over to using
backtrace-rs
'sgimli
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
Labels
A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)Area: Debugging information in compiled programs (DWARF, PDB, etc.)C-bugCategory: This is a bug.Category: This is a bug.I-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.Issue: 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.Relevant to the compiler team, which will review and decide on the PR/issue.