Skip to content

Can no longer find debug symbols after macOS 15 sequoia upgrade #389

@byroot

Description

@byroot

My knowledge about linkers and such is extremely limited, so I'm afraid I won't be able to give a very detailed bug report.

I'm an happy use of samply on macOS, and I've been using it a lot to profile native Ruby gems, such as https://github.com/ruby/json. However, since I upgraded my machine to macOS 15 (Sequoia), it's no longer able to find symbols for the compiled bundle, so it makes the profiler pretty much unusable.

Since I have another machine still on macOS 14, I did look at possible differences. On the old machine when recording with --verbose I see two files being opened that aren't on macOS 15:

Opening file "/Users/byroot/src/github.com/ruby/json/ext/json/ext/generator.bundle"
Opening file "/Users/byroot/src/github.com/ruby/json/ext/json/ext/generator/generator.o"

From some googling around, it seems like Apple made some change to how they generate/store debug symbols, now you're supposed to read them from a .bundle.dSYM directory?

Looking at the files generated by clang, it looks like this:

./ext/json/ext/generator.bundle
./ext/json/ext/generator/generator.o
./ext/json/ext/generator/generator.bundle.dSYM
./ext/json/ext/generator/generator.bundle.dSYM/Contents
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/Relocations
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/Relocations/aarch64
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/Relocations/aarch64/generator.bundle.yml
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/DWARF
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Resources/DWARF/generator.bundle
./ext/json/ext/generator/generator.bundle.dSYM/Contents/Info.plist

The .o still exists, but samply no longer tries to open it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions