Created
March 7, 2016 18:51
-
-
Save tenderlove/3b7c5fe143c95060f737 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[aaron@TC Bath (master)]$ rspec rspec_test.rb | |
{:global_method_state=>142, :global_constant_state=>1332, :class_serial=>14849} | |
.{:global_method_state=>142, :global_constant_state=>1332, :class_serial=>14850} | |
.{:global_method_state=>142, :global_constant_state=>1332, :class_serial=>14851} | |
. | |
Finished in 0.00076 seconds (files took 0.13633 seconds to load) | |
3 examples, 0 failures | |
[aaron@TC Bath (master)]$ lldb `rbenv which ruby` -- -S `rbenv which rspec` rspec_test.rb | |
(lldb) target create "/Users/aaron/.rbenv/versions/ruby-trunk/bin/ruby" | |
Current executable set to '/Users/aaron/.rbenv/versions/ruby-trunk/bin/ruby' (x86_64). | |
(lldb) settings set -- target.run-args "-S" "/Users/aaron/.rbenv/versions/ruby-trunk/bin/rspec" "rspec_test.rb" | |
(lldb) break vm_search_method | |
invalid command 'breakpoint vm_search_method'. | |
(lldb) b vm_search_method | |
Breakpoint 1: where = ruby`vm_search_method + 16 at vm_insnhelper.c:1120, address = 0x00000001001282b0 | |
(lldb) run | |
Process 44321 launched: '/Users/aaron/.rbenv/versions/ruby-trunk/bin/ruby' (x86_64) | |
Process 44321 stopped | |
* thread #1: tid = 0x12581b2, 0x00000001001282b0 ruby`vm_search_method(ci=0x0000000101910550, cc=0x0000000101911320, recv=4303841240) + 16 at vm_insnhelper.c:1120, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1 | |
frame #0: 0x00000001001282b0 ruby`vm_search_method(ci=0x0000000101910550, cc=0x0000000101911320, recv=4303841240) + 16 at vm_insnhelper.c:1120 | |
1117 static void | |
1118 vm_search_method(const struct rb_call_info *ci, struct rb_call_cache *cc, VALUE recv) | |
1119 { | |
-> 1120 VALUE klass = CLASS_OF(recv); | |
1121 | |
1122 #if OPT_INLINE_METHOD_CACHE | |
1123 if (LIKELY(GET_GLOBAL_METHOD_STATE() == cc->method_state && RCLASS_SERIAL(klass) == cc->class_serial)) { | |
(lldb) wa s v ruby_vm_class_serial | |
Watchpoint created: Watchpoint 1: addr = 0x1001ca6d8 size = 8 state = enabled type = w | |
declare @ '/Users/aaron/git/ruby/vm.c:198' | |
watchpoint spec = 'ruby_vm_class_serial' | |
new value: 4903 | |
(lldb) watchpoint modify -c'(ruby_vm_class_serial >= 14849)' | |
(lldb) b delete | |
Breakpoint 2: no locations (pending). | |
WARNING: Unable to resolve breakpoint to any actual locations. | |
(lldb) breakpoint delete | |
About to delete all breakpoints, do you want to do that?: [Y/n] | |
All breakpoints removed. (2 breakpoints) | |
(lldb) c | |
Process 44321 resuming | |
Watchpoint 1 hit: | |
old value: 4903 | |
new value: 14849 | |
Process 44321 stopped | |
* thread #1: tid = 0x12581b2, 0x0000000100124685 ruby`rb_next_class_serial + 21 at vm.c:213, queue = 'com.apple.main-thread', stop reason = watchpoint 1 | |
frame #0: 0x0000000100124685 ruby`rb_next_class_serial + 21 at vm.c:213 | |
210 rb_serial_t | |
211 rb_next_class_serial(void) | |
212 { | |
-> 213 return NEXT_CLASS_SERIAL(); | |
214 } | |
215 | |
216 VALUE rb_cRubyVM; | |
(lldb) call rb_backtrace() | |
from /Users/aaron/.rbenv/versions/ruby-trunk/bin/rspec:22:in `<main>' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/bin/rspec:22:in `load' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/exe/rspec:4:in `<top (required)>' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:45:in `invoke' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:78:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:93:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:117:in `run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/reporter.rb:77:in `report' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:118:in `block in run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/configuration.rb:1680:in `with_suite_hooks' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:119:in `block (2 levels) in run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:119:in `map' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:119:in `block (3 levels) in run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:557:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:591:in `run_examples' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:591:in `map' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:595:in `block in run_examples' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example.rb:222:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example.rb:431:in `hooks' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example.rb:431:in `singleton_class' | |
(lldb) c | |
Process 44321 resuming | |
{:global_method_state=>142, :global_constant_state=>1332, :class_serial=>14849} | |
Watchpoint 1 hit: | |
old value: 14849 | |
new value: 14850 | |
Process 44321 stopped | |
* thread #1: tid = 0x12581b2, 0x0000000100124685 ruby`rb_next_class_serial + 21 at vm.c:213, queue = 'com.apple.main-thread', stop reason = watchpoint 1 | |
frame #0: 0x0000000100124685 ruby`rb_next_class_serial + 21 at vm.c:213 | |
210 rb_serial_t | |
211 rb_next_class_serial(void) | |
212 { | |
-> 213 return NEXT_CLASS_SERIAL(); | |
214 } | |
215 | |
216 VALUE rb_cRubyVM; | |
(lldb) call rb_backtrace() | |
from /Users/aaron/.rbenv/versions/ruby-trunk/bin/rspec:22:in `<main>' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/bin/rspec:22:in `load' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/exe/rspec:4:in `<top (required)>' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:45:in `invoke' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:78:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:93:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:117:in `run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/reporter.rb:77:in `report' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:118:in `block in run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/configuration.rb:1680:in `with_suite_hooks' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:119:in `block (2 levels) in run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:119:in `map' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:119:in `block (3 levels) in run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:557:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:591:in `run_examples' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:591:in `map' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:595:in `block in run_examples' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example.rb:222:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example.rb:431:in `hooks' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example.rb:431:in `singleton_class' | |
(lldb) c | |
Process 44321 resuming | |
{:global_method_state=>142, :global_constant_state=>1332, :class_serial=>14850} | |
Watchpoint 1 hit: | |
old value: 14850 | |
new value: 14851 | |
Process 44321 stopped | |
* thread #1: tid = 0x12581b2, 0x0000000100124685 ruby`rb_next_class_serial + 21 at vm.c:213, queue = 'com.apple.main-thread', stop reason = watchpoint 1 | |
frame #0: 0x0000000100124685 ruby`rb_next_class_serial + 21 at vm.c:213 | |
210 rb_serial_t | |
211 rb_next_class_serial(void) | |
212 { | |
-> 213 return NEXT_CLASS_SERIAL(); | |
214 } | |
215 | |
216 VALUE rb_cRubyVM; | |
(lldb) call rb_backtrace() | |
from /Users/aaron/.rbenv/versions/ruby-trunk/bin/rspec:22:in `<main>' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/bin/rspec:22:in `load' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/exe/rspec:4:in `<top (required)>' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:45:in `invoke' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:78:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:93:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:117:in `run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/reporter.rb:77:in `report' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:118:in `block in run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/configuration.rb:1680:in `with_suite_hooks' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:119:in `block (2 levels) in run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:119:in `map' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/runner.rb:119:in `block (3 levels) in run_specs' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:557:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:591:in `run_examples' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:591:in `map' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example_group.rb:595:in `block in run_examples' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example.rb:222:in `run' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example.rb:431:in `hooks' | |
from /Users/aaron/.rbenv/versions/ruby-trunk/lib/ruby/gems/2.4.0/gems/rspec-core-3.5.0.beta1/lib/rspec/core/example.rb:431:in `singleton_class' | |
(lldb) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment