dsymutil
hits SIGBUS during cargo build
, and spams warnings like "could not find object file symbol for symbol"
#84849
Labels
A-codegen
Area: Code generation
C-bug
Category: This is a bug.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
When building
evcxr_repl
on macOS (via, e.g.cargo build -p evcxr_repl
), around the end of the build, I sometimes (often) get these warnings:Not just
_anon.$hash.$counter
tho, in the output it also has a bunch of static vars and the like:Anyway, this is abridged. It has about 6000 more lines with similar complaints. It doesn't cause the build to fail, but seems undesirable nonetheless. Presumably, debugging one of those builds wouldn't work (but I could be wrong, I haven't tried).
This pretty clearly has something to do with the split-debuginfo change, but I'm not sure what exactly it means.
I believe signal 10 is SIGBUS on macOS, which probably means dsymutil was trying to mmap some nonsense and something went wrong.
It cold also just be run of the mill memory corruption and such (ofc, something that could have been a SIGSEGV can always happen to show up as a SIGBUS), but... IME, SIGBUS is usually a symptom of
mmap
-gone-wrong.Perhaps part of the rust build process modified one of the files it was reading or writing? Or rust-analyzer, as I had vscode open in the background... (No idea, although if I were forced to bet on what I thought the outcome was, I guess this seems most likely at the moment).
I've only seen it when building
evcxr
, specifically theevcxr_repl
binary, but it's the only project I've really been in since I updated my rust toolchain to1.53.0-nightly (2021-04-23)
(the latest one that has the components I use — apologies if this is likely to be fixed in the past 2 weeks) — previously I was over a month older. Also,evcxr_repl
is really the main package I build in that project, so... only seeing it in this situation might not mean that much in practice, and could just be coincidental timing.It doesn't happen always, although it's reasonably frequent. I've seen it with
split-debuginfo=packed
in addition to the default.I'm not sure if its relevant, but it's possibly worth noting that evcxr is a project that enables opt-level=2 for debug builds https://github.com/google/evcxr/blob/main/Cargo.toml#L16-L18.
Some versions:
The text was updated successfully, but these errors were encountered: