I want to do a thread dump of my rubinius app to help investigate an apparent deadlock issue. My app is using rbx-3.21, and I'd prefer not to change that if possible.
I've tried doing a pure ruby solution like the one described here, but the thread backtraces don't work properly - they all appear the same as the thread performing the stack dump. The result looks something like this:
Thread-1uvk
common/service.rb:192:in `dump_threads'
common/service.rb:190:in `dump_threads'
common/service.rb:90:in `prepare_status'
Thread-1uvs
common/service.rb:192:in `dump_threads'
common/service.rb:190:in `dump_threads'
common/service.rb:90:in `prepare_status'
....etc