Blog post review: Logging errors on OS X


#1

Hi friends,

I had a bit of a bug hunting and debugging adventure around thread panics and logging backtraces so that they show up in OS X’s Console.app

I decided that it might be useful to others, so I wroteup the problem and solution in a short blog post.

If any Rustacians have a minute, I’d love feedback on

  • If the solution I came to seems reasonable and whether there’s anything else worth mentioning in this kind of post

  • Any thoughts on why line numbers work on regular rust backtraces, but not on things compiled by neon (issue and minimal repo here: https://github.com/neon-bindings/neon/issues/308)

Thanks!


#2

Line numbers in backtraces depend on debuginfo. On OSX, this is located in a foo.dSYM directory. Normally this is located next to the binary when doing a normal cargo run so the backtrace infrastructure can find it. If the Neon build infrastructure copies the Rust binary around it would need to also make sure that the debuginfo can be found. Other than just keeping it next to the binary, there’s some way to index the debuginfo with Spotlight but I don’t know the details there.


#3

Thanks for the pointer @sfackler! I did some digging but can’t figure out how to get the neon compile command to emit such a dSYM directory. I’ll look further and see if it’s possible.