Last active
January 24, 2018 06:02
-
-
Save brixen/42ea8bcb8922b6ba4d07644a792e90c1 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
| $ lldb -f /source/rubinius/rubinius/build/rubinius/bin/rbx -- -Xmemory.collection.log=yes /source/rubinius/rubinius/build/rubinius/gems/bin/bundle install --jobs=40 | |
| (lldb) target create "/source/rubinius/rubinius/build/rubinius/bin/rbx" | |
| Current executable set to '/source/rubinius/rubinius/build/rubinius/bin/rbx' (x86_64). | |
| (lldb) settings set -- target.run-args "-Xmemory.collection.log=yes" "/source/rubinius/rubinius/build/rubinius/gems/bin/bundle" "install" "--jobs=40" | |
| (lldb) b data.cpp:41 | |
| Breakpoint 1: 2 locations. | |
| (lldb) br list | |
| Current breakpoints: | |
| 1: file = 'data.cpp', line = 41, exact_match = 0, locations = 2 | |
| 1.1: where = rbx`rubinius::capi::Handle::as_rtypeddata(rubinius::NativeMethodEnvironment*) + 102 at data.cpp:41, address = rbx[0x0000000100024746], unresolved, hit count = 0 | |
| 1.2: where = rbx`rubinius::Data::create(rubinius::State*, void*, void (*)(void*), void (*)(void*)) + 205 at data.cpp:41, address = rbx[0x000000010004d02d], unresolved, hit count = 0 | |
| (lldb) br dis 1.2 | |
| 1 breakpoints disabled. | |
| (lldb) b data.cpp:18 | |
| Breakpoint 2: 2 locations. | |
| (lldb) br list | |
| Current breakpoints: | |
| 1: file = 'data.cpp', line = 41, exact_match = 0, locations = 2 | |
| 1.1: where = rbx`rubinius::capi::Handle::as_rtypeddata(rubinius::NativeMethodEnvironment*) + 102 at data.cpp:41, address = rbx[0x0000000100024746], unresolved, hit count = 0 | |
| 1.2: where = rbx`rubinius::Data::create(rubinius::State*, void*, void (*)(void*), void (*)(void*)) + 205 at data.cpp:41, address = rbx[0x000000010004d02d], unresolved, hit count = 0 Options: disabled | |
| 2: file = 'data.cpp', line = 18, exact_match = 0, locations = 2 | |
| 2.1: where = rbx`rubinius::capi::Handle::as_rdata(rubinius::NativeMethodEnvironment*) + 102 at data.cpp:18, address = rbx[0x00000001000246b6], unresolved, hit count = 0 | |
| 2.2: where = rbx`rubinius::Data::create(rubinius::State*, void*, void (*)(void*), void (*)(void*)) + 31 [inlined] rubinius::State::memory() at data.cpp:22, address = rbx[0x000000010004cf7f], unresolved, hit count = 0 | |
| (lldb) br dis 2.2 | |
| 1 breakpoints disabled. | |
| (lldb) br list | |
| Current breakpoints: | |
| 1: file = 'data.cpp', line = 41, exact_match = 0, locations = 2 | |
| 1.1: where = rbx`rubinius::capi::Handle::as_rtypeddata(rubinius::NativeMethodEnvironment*) + 102 at data.cpp:41, address = rbx[0x0000000100024746], unresolved, hit count = 0 | |
| 1.2: where = rbx`rubinius::Data::create(rubinius::State*, void*, void (*)(void*), void (*)(void*)) + 205 at data.cpp:41, address = rbx[0x000000010004d02d], unresolved, hit count = 0 Options: disabled | |
| 2: file = 'data.cpp', line = 18, exact_match = 0, locations = 2 | |
| 2.1: where = rbx`rubinius::capi::Handle::as_rdata(rubinius::NativeMethodEnvironment*) + 102 at data.cpp:18, address = rbx[0x00000001000246b6], unresolved, hit count = 0 | |
| 2.2: where = rbx`rubinius::Data::create(rubinius::State*, void*, void (*)(void*), void (*)(void*)) + 31 [inlined] rubinius::State::memory() at data.cpp:22, address = rbx[0x000000010004cf7f], unresolved, hit count = 0 Options: disabled | |
| (lldb) r | |
| Process 6599 launched: '/source/rubinius/rubinius/build/rubinius/bin/rbx' (x86_64) | |
| Fetching gem metadata from https://rubygems.org/......... | |
| Using rake 12.3.0 | |
| Using minitest 5.11.1 | |
| Using bundler 1.16.1 | |
| Fetching nio4r 2.2.0 | |
| Fetching method_source 0.9.0 | |
| Fetching crass 1.0.3 | |
| Fetching multi_json 1.13.1 | |
| Fetching ffi 1.9.18 | |
| Fetching websocket-extensions 0.1.3 | |
| Fetching rack 2.0.3 | |
| Fetching builder 3.2.3 | |
| Fetching sqlite3 1.3.13 | |
| Fetching psych 2.2.4 | |
| Fetching rb-fsevent 0.10.2 | |
| Fetching turbolinks-source 5.1.0 | |
| Fetching mini_mime 1.0.0 | |
| Fetching erubi 1.7.0 | |
| Fetching concurrent-ruby 1.0.5 | |
| Fetching mini_portile2 2.3.0 | |
| Fetching thread_safe 0.3.6 | |
| Fetching coffee-script-source 1.12.2 | |
| Fetching arel 8.0.0 | |
| Fetching tilt 2.0.8 | |
| Fetching puma 3.11.2 | |
| Fetching thor 0.20.0 | |
| Installing erubi 1.7.0 | |
| Installing mini_mime 1.0.0 | |
| Installing websocket-extensions 0.1.3 | |
| Installing builder 3.2.3 | |
| Installing rb-fsevent 0.10.2 | |
| Installing multi_json 1.13.1 | |
| Installing sqlite3 1.3.13 with native extensions | |
| Installing rack 2.0.3 | |
| Installing thor 0.20.0 | |
| Installing thread_safe 0.3.6 | |
| Installing method_source 0.9.0 | |
| Installing mini_portile2 2.3.0 | |
| Installing crass 1.0.3 | |
| Installing coffee-script-source 1.12.2 | |
| Installing arel 8.0.0 | |
| Installing nio4r 2.2.0 with native extensions | |
| Installing puma 3.11.2 with native extensions | |
| Installing turbolinks-source 5.1.0 | |
| Installing concurrent-ruby 1.0.5 | |
| Installing tilt 2.0.8 | |
| error: sha2.bundle debug map object file '/source/rubinius/rubinius/build/libraries/gems/rubysl-digest-2.0.8/ext/rubysl/digest/sha2/sha2init.o' has changed (actual time is 2018-01-23 16:47:44.000000000, debug map time is 2018-01-18 18:11:11.000000000) since this executable was linked, file will be ignored | |
| rbx was compiled with optimization - stepping may behave oddly; variables may not be available. | |
| Process 6599 stopped | |
| * thread #18, name = 'ruby.20', stop reason = breakpoint 2.1 | |
| frame #0: 0x00000001000246b6 rbx`rubinius::capi::Handle::as_rdata(this=0x0000000100b91790, env=<unavailable>) at data.cpp:18 [opt] | |
| 15 Data* data = c_as<Data>(object_); | |
| 16 | |
| 17 if(data->freed_p()) { | |
| -> 18 rb_raise(rb_eArgError, "Data object has already been freed"); | |
| 19 } | |
| 20 | |
| 21 if(type_ == cRData) { | |
| thread #20, name = 'ruby.23', stop reason = breakpoint 1.1 | |
| frame #0: 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41 [opt] | |
| 38 Data* data = c_as<Data>(object_); | |
| 39 | |
| 40 if(data->freed_p()) { | |
| -> 41 rb_raise(rb_eArgError, "TypedData object has already been freed"); | |
| 42 } | |
| 43 | |
| 44 if(type_ == cRData) { | |
| Target 0: (rbx) stopped. | |
| (lldb) t 18 | |
| * thread #18, name = 'ruby.20', stop reason = breakpoint 2.1 | |
| frame #0: 0x00000001000246b6 rbx`rubinius::capi::Handle::as_rdata(this=0x0000000100b91790, env=<unavailable>) at data.cpp:18 [opt] | |
| 15 Data* data = c_as<Data>(object_); | |
| 16 | |
| 17 if(data->freed_p()) { | |
| -> 18 rb_raise(rb_eArgError, "Data object has already been freed"); | |
| 19 } | |
| 20 | |
| 21 if(type_ == cRData) { | |
| (lldb) p *data | |
| (rubinius::Data) $0 = { | |
| rubinius::Object = { | |
| rubinius::ObjectHeader = { | |
| header = { | |
| f = { | |
| obj_type = DataType | |
| zone = MatureObjectZone | |
| age = 58 | |
| meaning = eAuxWordHandle | |
| Forwarded = 0 | |
| Remember = 0 | |
| Marked = 3 | |
| InImmix = 1 | |
| InLarge = 0 | |
| Pinned = 0 | |
| Frozen = 0 | |
| Tainted = 0 | |
| LockContended = 0 | |
| unused = 0 | |
| aux_word = 14995 | |
| } | |
| flags64 = 64403081193753 | |
| } | |
| _klass_ = 0x000000010b90ea00 | |
| _ivars_ = 0x000000000000001a | |
| __body__ = {} | |
| } | |
| } | |
| _internal_ = 0x0000000113063240 | |
| _freed_ = true | |
| } | |
| (lldb) p *data->_internal_ | |
| (rubinius::RDataShadow) $1 = { | |
| d = { | |
| untyped = { | |
| dmark = 0x00000001017ed9e0 (zlib.bundle`gzfile_mark) | |
| dfree = 0x00000001017eda40 (zlib.bundle`gzfile_free) | |
| } | |
| typed = { | |
| type = 0x00000001017ed9e0 | |
| typed = 4320057920 | |
| } | |
| } | |
| data = 0x0000000113069af0 | |
| } | |
| (lldb) p *data->_internal_->type | |
| error: no member named 'type' in 'rubinius::RDataShadow' | |
| (lldb) p *data->_internal_->typed.type | |
| error: no member named 'typed' in 'rubinius::RDataShadow' | |
| (lldb) p *data->_internal_->d.typed.type | |
| (const rubinius::rb_data_type_struct_shadow) $2 = { | |
| wrap_struct_name = 0x89485053e5894855 <no value available> | |
| function = { | |
| dmark = 0x00000098bb8b48fb | |
| dfree = 0xbb8b48000015bbe8 | |
| dsize = 0x0015afe8000000b8 | |
| reserved = ([0] = 0x000000c0bb8b4800, [1] = 0x7b8b48000015a3e8) | |
| } | |
| parent = 0x8b480000159ae808 | |
| data = 0x4800001591e8187b | |
| } | |
| (lldb) bt 15 | |
| * thread #18, name = 'ruby.20', stop reason = breakpoint 2.1 | |
| * frame #0: 0x00000001000246b6 rbx`rubinius::capi::Handle::as_rdata(this=0x0000000100b91790, env=<unavailable>) at data.cpp:18 [opt] | |
| frame #1: 0x00000001017eb8db zlib.bundle`rb_gzreader_initialize + 59 | |
| frame #2: 0x0000000100073fcf rbx`rubinius::GenericArguments::invoke(state=<unavailable>, nm=<unavailable>, env=<unavailable>, args=0x000070000b487b60) at native_method.cpp:310 [opt] | |
| frame #3: 0x0000000100072a24 rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments>(state=0x000000011233a840, exec=0x000000010b91aae0, mod=0x000000010b90ea00, args=<unavailable>) at native_method.cpp:706 [opt] | |
| frame #4: 0x000000010003e81d rbx`rubinius::CallSite::dispatch_and_cache(state=0x000000011233a840, call_site=0x00000001010e3ad8, args=0x000070000b487b60) at call_site.hpp:457 [opt] | |
| frame #5: 0x00000001000c20ff rbx`rubinius::instructions::send_stack_with_splat(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000000011233a840, args=0x00000000000037ae) at call_site.hpp:313 [opt] | |
| frame #6: 0x00000001000c20f5 rbx`rubinius::instructions::send_stack_with_splat(state=0x000000011233a840, call_frame=0x000070000b487c20, literal=4312677080, count=<unavailable>) at send_stack_with_splat.hpp:28 [opt] | |
| frame #7: 0x00000001000c2004 rbx`rubinius::interpreter::send_stack_with_splat(state=0x000000011233a840, call_frame=0x000070000b487c20, opcodes=0x00000001010e39c0) at send_stack_with_splat.cpp:9 [opt] | |
| frame #8: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000000011233a840, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #9: 0x00000001000e8af2 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::SplatOnlyArgument>(state=0x000000011233a840, exec=<unavailable>, mod=<unavailable>, args=0x000070000b487d98) at machine_code.cpp:697 [opt] | |
| frame #10: 0x000000010001ebd4 rbx`rubinius::capi::capi_funcall_backend_native(env=0x000000011233a840, file=<unavailable>, line=<unavailable>, recv=0x000000010b90ea00, method=0x0000000000003756, arg_count=1, args=<unavailable>, block=<unavailable>, allow_private=true) at capi.cpp:144 [opt] | |
| frame #11: 0x0000000100020f4d rbx`::rb_funcall2(receiver=<unavailable>, method_name=14166, arg_count=1, v_args=0x000070000b487e90) at capi.cpp:488 [opt] | |
| frame #12: 0x00000001017ea88b zlib.bundle`rb_gzfile_s_wrap + 11 | |
| frame #13: 0x0000000100073fcf rbx`rubinius::GenericArguments::invoke(state=<unavailable>, nm=<unavailable>, env=<unavailable>, args=0x000070000b4881a0) at native_method.cpp:310 [opt] | |
| frame #14: 0x0000000100072a24 rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments>(state=0x000070000b48cea0, exec=0x000000010b910f18, mod=0x000000010b904fd8, args=<unavailable>) at native_method.cpp:706 [opt] | |
| (lldb) f 3 | |
| frame #3: 0x0000000100072a24 rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments>(state=0x000000011233a840, exec=0x000000010b91aae0, mod=0x000000010b90ea00, args=<unavailable>) at native_method.cpp:706 [opt] | |
| 703 if(unlikely(ep.jumped_to())) { | |
| 704 value = NULL; | |
| 705 } else { | |
| -> 706 value = ArgumentHandler::invoke(state, nm, env, args); | |
| 707 } | |
| 708 RUBINIUS_METHOD_NATIVE_RETURN_HOOK(state, mod, args.name()); | |
| 709 } catch(const RubyException& exc) { | |
| (lldb) p call_frame | |
| error: Couldn't materialize: couldn't get the value of variable call_frame: variable not available | |
| error: errored out in DoExecute, couldn't PrepareToExecuteJITExpression | |
| (lldb) don | |
| error: 'don' is not a valid command. | |
| error: Unrecognized command 'don'. | |
| (lldb) down | |
| frame #2: 0x0000000100073fcf rbx`rubinius::GenericArguments::invoke(state=<unavailable>, nm=<unavailable>, env=<unavailable>, args=0x000070000b487b60) at native_method.cpp:310 [opt] | |
| 307 ary[i] = env->get_handle(args.get_argument(i)); | |
| 308 } | |
| 309 | |
| -> 310 VALUE ret = nm->func_as<ArgcFunction>()(args.total(), ary, receiver); | |
| 311 | |
| 312 return env->get_object(ret); | |
| 313 } | |
| (lldb) p call_frame | |
| error: use of undeclared identifier 'call_frame' | |
| (lldb) down | |
| frame #1: 0x00000001017eb8db zlib.bundle`rb_gzreader_initialize + 59 | |
| zlib.bundle`rb_gzreader_initialize: | |
| 0x1017eb8db <+59>: movq 0x10(%rax), %r13 | |
| 0x1017eb8df <+63>: leaq 0x43f7(%rip), %rdx ; "1:" | |
| 0x1017eb8e6 <+70>: leaq -0x40(%rbp), %rcx | |
| 0x1017eb8ea <+74>: leaq -0x48(%rbp), %r8 | |
| (lldb) up | |
| frame #2: 0x0000000100073fcf rbx`rubinius::GenericArguments::invoke(state=<unavailable>, nm=<unavailable>, env=<unavailable>, args=0x000070000b487b60) at native_method.cpp:310 [opt] | |
| 307 ary[i] = env->get_handle(args.get_argument(i)); | |
| 308 } | |
| 309 | |
| -> 310 VALUE ret = nm->func_as<ArgcFunction>()(args.total(), ary, receiver); | |
| 311 | |
| 312 return env->get_object(ret); | |
| 313 } | |
| (lldb) up | |
| frame #3: 0x0000000100072a24 rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments>(state=0x000000011233a840, exec=0x000000010b91aae0, mod=0x000000010b90ea00, args=<unavailable>) at native_method.cpp:706 [opt] | |
| 703 if(unlikely(ep.jumped_to())) { | |
| 704 value = NULL; | |
| 705 } else { | |
| -> 706 value = ArgumentHandler::invoke(state, nm, env, args); | |
| 707 } | |
| 708 RUBINIUS_METHOD_NATIVE_RETURN_HOOK(state, mod, args.name()); | |
| 709 } catch(const RubyException& exc) { | |
| (lldb) | |
| frame #4: 0x000000010003e81d rbx`rubinius::CallSite::dispatch_and_cache(state=0x000000011233a840, call_site=0x00000001010e3ad8, args=0x000070000b487b60) at call_site.hpp:457 [opt] | |
| 454 | |
| 455 Object* value = nullptr; | |
| 456 | |
| -> 457 if((value = dispatch.method->execute(state, dispatch.method, dispatch.module, args))) { | |
| 458 if(dispatch.name == G(sym_method_missing)) return value; | |
| 459 | |
| 460 if(call_site->execute() == CallSite::dispatch_and_cache) { | |
| (lldb) | |
| frame #5: 0x00000001000c20ff rbx`rubinius::instructions::send_stack_with_splat(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000000011233a840, args=0x00000000000037ae) at call_site.hpp:313 [opt] | |
| 310 } | |
| 311 | |
| 312 Object* execute(STATE, Arguments& args) { | |
| -> 313 return _execute_(state, this, args); | |
| 314 } | |
| 315 | |
| 316 void lookup(STATE, Arguments& args, Dispatch& dispatch, LookupData& lookup_data) { | |
| (lldb) | |
| frame #6: 0x00000001000c20f5 rbx`rubinius::instructions::send_stack_with_splat(state=0x000000011233a840, call_frame=0x000070000b487c20, literal=4312677080, count=<unavailable>) at send_stack_with_splat.hpp:28 [opt] | |
| 25 | |
| 26 stack_clear(count + 1); | |
| 27 | |
| -> 28 call_frame->return_value = call_site->execute(state, args); | |
| 29 | |
| 30 state->vm()->checkpoint(state); | |
| 31 | |
| (lldb) p call_frame->print_backtrace(state, 0, 0) | |
| 0x70000b487c20: Class#new in core/alpha.rb:93 (+15) | |
| 0x70000b487f50: capi:wrap at zlib.c | |
| 0x70000b488250: Gem::Package#verify_gz in rubygems/package.rb:614 (+21) | |
| 0x70000b488440: Gem::Package#verify_entry in rubygems/package.rb:584 (+182) | |
| 0x70000b488650: __block__ in rubygems/package.rb:597 (+4) | |
| 0x70000b4888c0: Gem::Package::TarReader#each in rubygems/package/tar_reader.rb:65 (+141) | |
| 0x70000b488b70: Gem::Package#verify_files in rubygems/package.rb:596 (+6) | |
| 0x70000b488d50: __block__ in rubygems/package.rb:526 (+14) | |
| 0x70000b488fc0: Gem::Package::TarReader.new in rubygems/package/tar_reader.rb:29 (+28) | |
| 0x70000b489210: __block__ in rubygems/package.rb:523 (+18) | |
| 0x70000b489480: IO.open in core/io.rb:1400 (+126) | |
| 0x70000b4896b0: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x70000b489940: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x70000b489ba0: Gem::Package#verify in rubygems/package.rb:522 (+28) | |
| 0x70000b489e10: Gem::Package#spec in rubygems/package.rb:503 (+9) | |
| 0x70000b48a030: Gem::Installer#spec in rubygems/installer.rb:264 (+11) | |
| 0x70000b48a290: Gem::Installer#ensure_loadable_spec in rubygems/installer.rb:599 (+0) | |
| 0x70000b48a500: Gem::Installer#pre_install_checks in rubygems/installer.rb:834 (+19) | |
| 0x70000b48a7b0: Bundler::RubyGemsGemInstaller#pre_install_checks in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:18 (+1) | |
| 0x70000b48a9d0: Gem::Installer#install in rubygems/installer.rb:281 (+7) | |
| 0x70000b48ac10: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:143 (+172) | |
| 0x70000b48ae90: Bundler::RubygemsIntegration#preserve_paths in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:217 (+0) | |
| 0x70000b48b0a0: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:142 (+606) | |
| 0x70000b48b3a0: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x70000b48b5e0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x70000b48b860: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x70000b48bb20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x70000b48be50: Proc#call in core/proc.rb:20 (+247) | |
| 0x70000b48c050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x70000b48c250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x70000b48c4d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x70000b48c720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x70000b48c960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x70000b48cc60: Proc#call in core/proc.rb:20 (+247) | |
| (lldb) t 20 | |
| * thread #20, name = 'ruby.23', stop reason = breakpoint 1.1 | |
| frame #0: 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41 [opt] | |
| 38 Data* data = c_as<Data>(object_); | |
| 39 | |
| 40 if(data->freed_p()) { | |
| -> 41 rb_raise(rb_eArgError, "TypedData object has already been freed"); | |
| 42 } | |
| 43 | |
| 44 if(type_ == cRData) { | |
| (lldb) bt 15 | |
| * thread #20, name = 'ruby.23', stop reason = breakpoint 1.1 | |
| * frame #0: 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41 [opt] | |
| frame #1: 0x000000010bedfced openssl.bundle`ossl_digest_alloc + 45 | |
| frame #2: 0x00000001000712be rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) [inlined] rubinius::ZeroArguments::invoke(state=<unavailable>, env=<unavailable>) at native_method.cpp:234 [opt] | |
| frame #3: 0x00000001000712ad rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(state=<unavailable>, exec=0x000000010aaa30c8, mod=0x000000010aaa2890, args=<unavailable>) at native_method.cpp:706 [opt] | |
| frame #4: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000c095ea0, args=0x000000000000374e) at call_site.hpp:313 [opt] | |
| frame #5: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x000070000c095ea0, call_frame=0x000070000c090e10, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| frame #6: 0x00000001000c1d4f rbx`rubinius::interpreter::send_method(state=0x000070000c095ea0, call_frame=0x000070000c090e10, opcodes=0x000000010e1cf600) at send_method.cpp:8 [opt] | |
| frame #7: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000c095ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #8: 0x000000010003be8e rbx`rubinius::BlockEnvironment::execute_interpreter(state=<unavailable>, env=<unavailable>, args=<unavailable>, invocation=<unavailable>) at block_environment.cpp:438 [opt] | |
| frame #9: 0x000000010003cd5e rbx`rubinius::BlockEnvironment::call(rubinius::State*, rubinius::Arguments&, int) [inlined] rubinius::BlockEnvironment::invoke(env=0x000000010d35ecb8) at block_environment.cpp:78 [opt] | |
| frame #10: 0x000000010003cd15 rbx`rubinius::BlockEnvironment::call(this=0x000000010d35ecb8, state=0x000070000c095ea0, args=0x000070000c090fe8, flags=<unavailable>) at block_environment.cpp:451 [opt] | |
| frame #11: 0x00000001000c35eb rbx`rubinius::instructions::yield_stack(state=0x000070000c095ea0, call_frame=0x000070000c0910a0, count=1) at yield_stack.hpp:13 [opt] | |
| frame #12: 0x00000001000c3523 rbx`rubinius::interpreter::yield_stack(state=0x000070000c095ea0, call_frame=0x000070000c0910a0, opcodes=0x0000000100911a00) at yield_stack.cpp:8 [opt] | |
| frame #13: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000c095ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #14: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x000070000c095ea0, exec=0x0000000102c73ae0, mod=<unavailable>, args=0x000070000c0911e0) at machine_code.cpp:697 [opt] | |
| (lldb) f 5 | |
| frame #5: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x000070000c095ea0, call_frame=0x000070000c090e10, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| 12 | |
| 13 (void)stack_pop(); | |
| 14 | |
| -> 15 call_frame->return_value = call_site->execute(state, args); | |
| 16 | |
| 17 state->vm()->checkpoint(state); | |
| 18 | |
| (lldb) p call_frame->print_backtrace(state, 0, 0) | |
| 0x70000c090e10: __block__ in rubygems/package.rb:315 (+54) | |
| 0x70000c0910a0: Array#each in core/array.rb:72 (+70) | |
| 0x70000c091290: Gem::Package#digest in rubygems/package.rb:312 (+43) | |
| 0x70000c091460: Gem::Package#verify_entry in rubygems/package.rb:577 (+111) | |
| 0x70000c091670: __block__ in rubygems/package.rb:597 (+4) | |
| 0x70000c0918e0: Gem::Package::TarReader#each in rubygems/package/tar_reader.rb:65 (+141) | |
| 0x70000c091b90: Gem::Package#verify_files in rubygems/package.rb:596 (+6) | |
| 0x70000c091d70: __block__ in rubygems/package.rb:526 (+14) | |
| 0x70000c091fe0: Gem::Package::TarReader.new in rubygems/package/tar_reader.rb:29 (+28) | |
| 0x70000c092230: __block__ in rubygems/package.rb:523 (+18) | |
| 0x70000c0924a0: IO.open in core/io.rb:1400 (+126) | |
| 0x70000c0926d0: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x70000c092960: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x70000c092bc0: Gem::Package#verify in rubygems/package.rb:522 (+28) | |
| 0x70000c092e30: Gem::Package#spec in rubygems/package.rb:503 (+9) | |
| 0x70000c093040: Gem::Installer#spec in rubygems/installer.rb:264 (+11) | |
| 0x70000c093290: Gem::Installer#ensure_loadable_spec in rubygems/installer.rb:599 (+0) | |
| 0x70000c093500: Gem::Installer#pre_install_checks in rubygems/installer.rb:834 (+19) | |
| 0x70000c0937b0: Bundler::RubyGemsGemInstaller#pre_install_checks in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:18 (+1) | |
| 0x70000c0939d0: Gem::Installer#install in rubygems/installer.rb:281 (+7) | |
| 0x70000c093c10: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:143 (+172) | |
| 0x70000c093e90: Bundler::RubygemsIntegration#preserve_paths in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:217 (+0) | |
| 0x70000c0940a0: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:142 (+606) | |
| 0x70000c0943a0: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x70000c0945e0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x70000c094860: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x70000c094b20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x70000c094e50: Proc#call in core/proc.rb:20 (+247) | |
| 0x70000c095050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x70000c095250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x70000c0954d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x70000c095720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x70000c095960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x70000c095c60: Proc#call in core/proc.rb:20 (+247) | |
| (lldb) down | |
| frame #4: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000c095ea0, args=0x000000000000374e) at call_site.hpp:313 [opt] | |
| 310 } | |
| 311 | |
| 312 Object* execute(STATE, Arguments& args) { | |
| -> 313 return _execute_(state, this, args); | |
| 314 } | |
| 315 | |
| 316 void lookup(STATE, Arguments& args, Dispatch& dispatch, LookupData& lookup_data) { | |
| (lldb) | |
| frame #3: 0x00000001000712ad rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(state=<unavailable>, exec=0x000000010aaa30c8, mod=0x000000010aaa2890, args=<unavailable>) at native_method.cpp:706 [opt] | |
| 703 if(unlikely(ep.jumped_to())) { | |
| 704 value = NULL; | |
| 705 } else { | |
| -> 706 value = ArgumentHandler::invoke(state, nm, env, args); | |
| 707 } | |
| 708 RUBINIUS_METHOD_NATIVE_RETURN_HOOK(state, mod, args.name()); | |
| 709 } catch(const RubyException& exc) { | |
| (lldb) | |
| frame #2: 0x00000001000712be rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) [inlined] rubinius::ZeroArguments::invoke(state=<unavailable>, env=<unavailable>) at native_method.cpp:234 [opt] | |
| 231 Arguments& args) | |
| 232 { | |
| 233 VALUE receiver = env->current_native_frame()->receiver(); | |
| -> 234 return env->get_object(nm->func()(receiver)); | |
| 235 } | |
| 236 }; | |
| 237 | |
| (lldb) | |
| frame #1: 0x000000010bedfced openssl.bundle`ossl_digest_alloc + 45 | |
| openssl.bundle`ossl_digest_alloc: | |
| 0x10bedfced <+45>: movq %rbx, 0x10(%rax) | |
| 0x10bedfcf1 <+49>: movq %r14, %rax | |
| 0x10bedfcf4 <+52>: popq %rbx | |
| 0x10bedfcf5 <+53>: popq %r14 | |
| (lldb) | |
| frame #0: 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41 [opt] | |
| 38 Data* data = c_as<Data>(object_); | |
| 39 | |
| 40 if(data->freed_p()) { | |
| -> 41 rb_raise(rb_eArgError, "TypedData object has already been freed"); | |
| 42 } | |
| 43 | |
| 44 if(type_ == cRData) { | |
| (lldb) f 3 | |
| frame #3: 0x00000001000712ad rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(state=<unavailable>, exec=0x000000010aaa30c8, mod=0x000000010aaa2890, args=<unavailable>) at native_method.cpp:706 [opt] | |
| 703 if(unlikely(ep.jumped_to())) { | |
| 704 value = NULL; | |
| 705 } else { | |
| -> 706 value = ArgumentHandler::invoke(state, nm, env, args); | |
| 707 } | |
| 708 RUBINIUS_METHOD_NATIVE_RETURN_HOOK(state, mod, args.name()); | |
| 709 } catch(const RubyException& exc) { | |
| (lldb) down | |
| frame #2: 0x00000001000712be rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) [inlined] rubinius::ZeroArguments::invoke(state=<unavailable>, env=<unavailable>) at native_method.cpp:234 [opt] | |
| 231 Arguments& args) | |
| 232 { | |
| 233 VALUE receiver = env->current_native_frame()->receiver(); | |
| -> 234 return env->get_object(nm->func()(receiver)); | |
| 235 } | |
| 236 }; | |
| 237 | |
| (lldb) p *nm | |
| error: use of undeclared identifier 'nm' | |
| (lldb) p nm | |
| error: use of undeclared identifier 'nm' | |
| (lldb) down | |
| frame #1: 0x000000010bedfced openssl.bundle`ossl_digest_alloc + 45 | |
| openssl.bundle`ossl_digest_alloc: | |
| 0x10bedfced <+45>: movq %rbx, 0x10(%rax) | |
| 0x10bedfcf1 <+49>: movq %r14, %rax | |
| 0x10bedfcf4 <+52>: popq %rbx | |
| 0x10bedfcf5 <+53>: popq %r14 | |
| (lldb) thr info | |
| thread #20: tid = 0x25abe, 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41, name = 'ruby.23', stop reason = breakpoint 1.1 | |
| (lldb) down | |
| frame #0: 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41 [opt] | |
| 38 Data* data = c_as<Data>(object_); | |
| 39 | |
| 40 if(data->freed_p()) { | |
| -> 41 rb_raise(rb_eArgError, "TypedData object has already been freed"); | |
| 42 } | |
| 43 | |
| 44 if(type_ == cRData) { | |
| (lldb) | |
| error: Already at the bottom of the stack. | |
| (lldb) up | |
| frame #1: 0x000000010bedfced openssl.bundle`ossl_digest_alloc + 45 | |
| openssl.bundle`ossl_digest_alloc: | |
| 0x10bedfced <+45>: movq %rbx, 0x10(%rax) | |
| 0x10bedfcf1 <+49>: movq %r14, %rax | |
| 0x10bedfcf4 <+52>: popq %rbx | |
| 0x10bedfcf5 <+53>: popq %r14 | |
| (lldb) dis -f | |
| openssl.bundle`ossl_digest_alloc: | |
| 0x10bedfcc0 <+0>: pushq %rbp | |
| 0x10bedfcc1 <+1>: movq %rsp, %rbp | |
| 0x10bedfcc4 <+4>: pushq %r14 | |
| 0x10bedfcc6 <+6>: pushq %rbx | |
| 0x10bedfcc7 <+7>: leaq 0x178f2(%rip), %rdx ; ossl_digest_type | |
| 0x10bedfcce <+14>: xorl %esi, %esi | |
| 0x10bedfcd0 <+16>: callq 0x10beedc3a ; symbol stub for: rb_data_typed_object_alloc | |
| 0x10bedfcd5 <+21>: movq %rax, %r14 | |
| 0x10bedfcd8 <+24>: callq 0x10beecf74 ; symbol stub for: EVP_MD_CTX_create | |
| 0x10bedfcdd <+29>: movq %rax, %rbx | |
| 0x10bedfce0 <+32>: testq %rbx, %rbx | |
| 0x10bedfce3 <+35>: je 0x10bedfcf9 ; <+57> | |
| 0x10bedfce5 <+37>: movq %r14, %rdi | |
| 0x10bedfce8 <+40>: callq 0x10beed952 ; symbol stub for: capi_rtypeddata_struct | |
| 0x10bedfced <+45>: movq %rbx, 0x10(%rax) | |
| 0x10bedfcf1 <+49>: movq %r14, %rax | |
| 0x10bedfcf4 <+52>: popq %rbx | |
| 0x10bedfcf5 <+53>: popq %r14 | |
| 0x10bedfcf7 <+55>: popq %rbp | |
| 0x10bedfcf8 <+56>: retq | |
| 0x10bedfcf9 <+57>: movl $0x30, %edi | |
| 0x10bedfcfe <+62>: callq 0x10beed93a ; symbol stub for: capi_get_constant | |
| 0x10bedfd03 <+67>: movq %rax, %rcx | |
| 0x10bedfd06 <+70>: leaq 0x127ff(%rip), %rsi ; "EVP_MD_CTX_create() failed" | |
| 0x10bedfd0d <+77>: xorl %eax, %eax | |
| 0x10bedfd0f <+79>: movq %rcx, %rdi | |
| 0x10bedfd12 <+82>: callq 0x10beedb08 ; symbol stub for: ossl_raise | |
| 0x10bedfd17 <+87>: nopw (%rax,%rax) | |
| (lldb) down | |
| frame #0: 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41 [opt] | |
| 38 Data* data = c_as<Data>(object_); | |
| 39 | |
| 40 if(data->freed_p()) { | |
| -> 41 rb_raise(rb_eArgError, "TypedData object has already been freed"); | |
| 42 } | |
| 43 | |
| 44 if(type_ == cRData) { | |
| (lldb) p *this | |
| (rubinius::capi::Handle) $3 = { | |
| object_ = 0x000000010d35fa60 | |
| type_ = cRData | |
| references_ = 1 | |
| checksum_ = 65535 | |
| flush_ = 0x0000000000000000 | |
| update_ = 0x0000000000000000 | |
| as_ = { | |
| rarray = 0x0000000110f02e60 | |
| rstring = 0x0000000110f02e60 | |
| rdata = 0x0000000110f02e60 | |
| rtypeddata = 0x0000000110f02e60 | |
| rfloat = 0x0000000110f02e60 | |
| rio = 0x0000000110f02e60 | |
| rfile = 0x0000000110f02e60 | |
| next_index_ = 4579143264 | |
| cache_data = 4579143264 | |
| } | |
| } | |
| (lldb) p data->freed_p | |
| error: reference to non-static member function must be called; did you mean to call it with no arguments? | |
| (lldb) p data->freed_p() | |
| error: Couldn't lookup symbols: | |
| __ZNK8rubinius4Data7freed_pEv | |
| (lldb) up | |
| frame #1: 0x000000010bedfced openssl.bundle`ossl_digest_alloc + 45 | |
| openssl.bundle`ossl_digest_alloc: | |
| 0x10bedfced <+45>: movq %rbx, 0x10(%rax) | |
| 0x10bedfcf1 <+49>: movq %r14, %rax | |
| 0x10bedfcf4 <+52>: popq %rbx | |
| 0x10bedfcf5 <+53>: popq %r14 | |
| (lldb) up | |
| frame #2: 0x00000001000712be rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) [inlined] rubinius::ZeroArguments::invoke(state=<unavailable>, env=<unavailable>) at native_method.cpp:234 [opt] | |
| 231 Arguments& args) | |
| 232 { | |
| 233 VALUE receiver = env->current_native_frame()->receiver(); | |
| -> 234 return env->get_object(nm->func()(receiver)); | |
| 235 } | |
| 236 }; | |
| 237 | |
| (lldb) down | |
| frame #1: 0x000000010bedfced openssl.bundle`ossl_digest_alloc + 45 | |
| openssl.bundle`ossl_digest_alloc: | |
| 0x10bedfced <+45>: movq %rbx, 0x10(%rax) | |
| 0x10bedfcf1 <+49>: movq %r14, %rax | |
| 0x10bedfcf4 <+52>: popq %rbx | |
| 0x10bedfcf5 <+53>: popq %r14 | |
| (lldb) up | |
| frame #2: 0x00000001000712be rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) [inlined] rubinius::ZeroArguments::invoke(state=<unavailable>, env=<unavailable>) at native_method.cpp:234 [opt] | |
| 231 Arguments& args) | |
| 232 { | |
| 233 VALUE receiver = env->current_native_frame()->receiver(); | |
| -> 234 return env->get_object(nm->func()(receiver)); | |
| 235 } | |
| 236 }; | |
| 237 | |
| (lldb) up | |
| frame #3: 0x00000001000712ad rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(state=<unavailable>, exec=0x000000010aaa30c8, mod=0x000000010aaa2890, args=<unavailable>) at native_method.cpp:706 [opt] | |
| 703 if(unlikely(ep.jumped_to())) { | |
| 704 value = NULL; | |
| 705 } else { | |
| -> 706 value = ArgumentHandler::invoke(state, nm, env, args); | |
| 707 } | |
| 708 RUBINIUS_METHOD_NATIVE_RETURN_HOOK(state, mod, args.name()); | |
| 709 } catch(const RubyException& exc) { | |
| (lldb) p up | |
| error: use of undeclared identifier 'up' | |
| (lldb) up | |
| frame #4: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000c095ea0, args=0x000000000000374e) at call_site.hpp:313 [opt] | |
| 310 } | |
| 311 | |
| 312 Object* execute(STATE, Arguments& args) { | |
| -> 313 return _execute_(state, this, args); | |
| 314 } | |
| 315 | |
| 316 void lookup(STATE, Arguments& args, Dispatch& dispatch, LookupData& lookup_data) { | |
| (lldb) p args | |
| error: Couldn't apply expression side effects : Couldn't dematerialize a result variable: couldn't read its memory | |
| (lldb) p state->vm_->call_frame_->print_backtrace(state, 0, 0) | |
| 0x70000c090b10: capi:allocate at machine/capi/module.cpp | |
| 0x70000c090e10: __block__ in rubygems/package.rb:315 (+54) | |
| 0x70000c0910a0: Array#each in core/array.rb:72 (+70) | |
| 0x70000c091290: Gem::Package#digest in rubygems/package.rb:312 (+43) | |
| 0x70000c091460: Gem::Package#verify_entry in rubygems/package.rb:577 (+111) | |
| 0x70000c091670: __block__ in rubygems/package.rb:597 (+4) | |
| 0x70000c0918e0: Gem::Package::TarReader#each in rubygems/package/tar_reader.rb:65 (+141) | |
| 0x70000c091b90: Gem::Package#verify_files in rubygems/package.rb:596 (+6) | |
| 0x70000c091d70: __block__ in rubygems/package.rb:526 (+14) | |
| 0x70000c091fe0: Gem::Package::TarReader.new in rubygems/package/tar_reader.rb:29 (+28) | |
| 0x70000c092230: __block__ in rubygems/package.rb:523 (+18) | |
| 0x70000c0924a0: IO.open in core/io.rb:1400 (+126) | |
| 0x70000c0926d0: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x70000c092960: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x70000c092bc0: Gem::Package#verify in rubygems/package.rb:522 (+28) | |
| 0x70000c092e30: Gem::Package#spec in rubygems/package.rb:503 (+9) | |
| 0x70000c093040: Gem::Installer#spec in rubygems/installer.rb:264 (+11) | |
| 0x70000c093290: Gem::Installer#ensure_loadable_spec in rubygems/installer.rb:599 (+0) | |
| 0x70000c093500: Gem::Installer#pre_install_checks in rubygems/installer.rb:834 (+19) | |
| 0x70000c0937b0: Bundler::RubyGemsGemInstaller#pre_install_checks in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:18 (+1) | |
| 0x70000c0939d0: Gem::Installer#install in rubygems/installer.rb:281 (+7) | |
| 0x70000c093c10: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:143 (+172) | |
| 0x70000c093e90: Bundler::RubygemsIntegration#preserve_paths in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:217 (+0) | |
| 0x70000c0940a0: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:142 (+606) | |
| 0x70000c0943a0: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x70000c0945e0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x70000c094860: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x70000c094b20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x70000c094e50: Proc#call in core/proc.rb:20 (+247) | |
| 0x70000c095050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x70000c095250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x70000c0954d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x70000c095720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x70000c095960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x70000c095c60: Proc#call in core/proc.rb:20 (+247) | |
| (lldb) up | |
| frame #5: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x000070000c095ea0, call_frame=0x000070000c090e10, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| 12 | |
| 13 (void)stack_pop(); | |
| 14 | |
| -> 15 call_frame->return_value = call_site->execute(state, args); | |
| 16 | |
| 17 state->vm()->checkpoint(state); | |
| 18 | |
| (lldb) down | |
| frame #4: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000c095ea0, args=0x000000000000374e) at call_site.hpp:313 [opt] | |
| 310 } | |
| 311 | |
| 312 Object* execute(STATE, Arguments& args) { | |
| -> 313 return _execute_(state, this, args); | |
| 314 } | |
| 315 | |
| 316 void lookup(STATE, Arguments& args, Dispatch& dispatch, LookupData& lookup_data) { | |
| (lldb) | |
| frame #3: 0x00000001000712ad rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(state=<unavailable>, exec=0x000000010aaa30c8, mod=0x000000010aaa2890, args=<unavailable>) at native_method.cpp:706 [opt] | |
| 703 if(unlikely(ep.jumped_to())) { | |
| 704 value = NULL; | |
| 705 } else { | |
| -> 706 value = ArgumentHandler::invoke(state, nm, env, args); | |
| 707 } | |
| 708 RUBINIUS_METHOD_NATIVE_RETURN_HOOK(state, mod, args.name()); | |
| 709 } catch(const RubyException& exc) { | |
| (lldb) | |
| frame #2: 0x00000001000712be rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) [inlined] rubinius::ZeroArguments::invoke(state=<unavailable>, env=<unavailable>) at native_method.cpp:234 [opt] | |
| 231 Arguments& args) | |
| 232 { | |
| 233 VALUE receiver = env->current_native_frame()->receiver(); | |
| -> 234 return env->get_object(nm->func()(receiver)); | |
| 235 } | |
| 236 }; | |
| 237 | |
| (lldb) | |
| frame #1: 0x000000010bedfced openssl.bundle`ossl_digest_alloc + 45 | |
| openssl.bundle`ossl_digest_alloc: | |
| 0x10bedfced <+45>: movq %rbx, 0x10(%rax) | |
| 0x10bedfcf1 <+49>: movq %r14, %rax | |
| 0x10bedfcf4 <+52>: popq %rbx | |
| 0x10bedfcf5 <+53>: popq %r14 | |
| (lldb) | |
| frame #0: 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41 [opt] | |
| 38 Data* data = c_as<Data>(object_); | |
| 39 | |
| 40 if(data->freed_p()) { | |
| -> 41 rb_raise(rb_eArgError, "TypedData object has already been freed"); | |
| 42 } | |
| 43 | |
| 44 if(type_ == cRData) { |
This file contains hidden or 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
| (lldb) thr list | |
| Process 6599 stopped | |
| thread #1: tid = 0x2597b, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.main', queue = 'com.apple.main-thread' | |
| thread #2: tid = 0x259ab, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.main' | |
| thread #3: tid = 0x259aa, 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10, name = 'rbx.finalizer' | |
| thread #4: tid = 0x259b3, 0x00007fff6dfb1ec2 libsystem_kernel.dylib`kevent + 10, name = 'rbx.console.listener' | |
| thread #5: tid = 0x259c9, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.5' | |
| thread #6: tid = 0x25abd, 0x00007fff6e1190f0 libunwind.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getInfoFromCompactEncodingSection(unsigned long long, unsigned long long, unsigned long long) + 544, name = 'ruby.22' | |
| thread #7: tid = 0x25aaf, 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10, name = 'ruby.8' | |
| thread #8: tid = 0x25ab0, 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10, name = 'ruby.9' | |
| thread #9: tid = 0x25ab1, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.10' | |
| thread #10: tid = 0x25ab3, 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10, name = 'Parallel Installer Worker #5' | |
| thread #11: tid = 0x25ab4, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.13' | |
| thread #12: tid = 0x25ab5, 0x00007fff6e0e6e14 libsystem_platform.dylib`_platform_memset_pattern16$VARIANT$Haswell + 4, name = 'ruby.14' | |
| thread #13: tid = 0x25ab6, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.15' | |
| thread #14: tid = 0x25ab7, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.16' | |
| thread #15: tid = 0x25ab8, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.17' | |
| thread #16: tid = 0x25ab9, 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10, name = 'ruby.18' | |
| thread #17: tid = 0x25aba, 0x000000010003ebc5 rbx`rubinius::CallSite::Cache::mono_execute(state=0x0000000110da4a60, call_site=0x0000000101a12090, args=0x000070000b083260) at call_site.hpp:199, name = 'ruby.19' | |
| thread #18: tid = 0x25abb, 0x00000001000246b6 rbx`rubinius::capi::Handle::as_rdata(this=0x0000000100b91790, env=<unavailable>) at data.cpp:18, name = 'ruby.20', stop reason = breakpoint 2.1 | |
| thread #19: tid = 0x25abc, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.21' | |
| * thread #20: tid = 0x25abe, 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41, name = 'ruby.23', stop reason = breakpoint 1.1 | |
| thread #21: tid = 0x25ac3, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.28' | |
| thread #22: tid = 0x25ac7, 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10, name = 'ruby.32' | |
| thread #23: tid = 0x25acd, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.38' | |
| thread #24: tid = 0x25ace, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.39' | |
| thread #25: tid = 0x25acf, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'Parallel Installer Worker #33' | |
| thread #26: tid = 0x25ad0, 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'ruby.41' | |
| thread #27: tid = 0x25ad1, 0x0000000100067a41 rbx`rubinius::LookupTable::store(this=0x0000000109a3bd50, state=0x0000700010cceea0, key=0x000000000000a586, val=0xffffffffffffffff) at lookup_table.cpp:112, name = 'Parallel Installer Worker #35' | |
| (lldb) t 27 | |
| * thread #27, name = 'Parallel Installer Worker #35' | |
| frame #0: 0x0000000100067a41 rbx`rubinius::LookupTable::store(this=0x0000000109a3bd50, state=0x0000700010cceea0, key=0x000000000000a586, val=0xffffffffffffffff) at lookup_table.cpp:112 [opt] | |
| 109 num_entries = entries()->to_native(); | |
| 110 num_bins = bins()->to_native(); | |
| 111 | |
| -> 112 if(max_density_p(num_entries, num_bins)) { | |
| 113 redistribute(state, num_bins <<= 1); | |
| 114 } | |
| 115 | |
| (lldb) bt 15 | |
| * thread #27, name = 'Parallel Installer Worker #35' | |
| * frame #0: 0x0000000100067a41 rbx`rubinius::LookupTable::store(this=0x0000000109a3bd50, state=0x0000700010cceea0, key=0x000000000000a586, val=0xffffffffffffffff) at lookup_table.cpp:112 [opt] | |
| frame #1: 0x000000010007c76e rbx`rubinius::Object::set_table_ivar(this=0x0000000109a3ae98, state=0x0000700010cceea0, sym=0x000000000000a586, val=0xffffffffffffffff) at object.cpp:624 [opt] | |
| frame #2: 0x000000010007ca6a rbx`rubinius::Object::set_ivar(this=0x0000000109a3ae98, state=0x0000700010cceea0, sym=0x000000000000a586, val=0xffffffffffffffff) at object.cpp:664 [opt] | |
| frame #3: 0x00000001000c2631 rbx`rubinius::instructions::set_ivar(state=0x0000700010cceea0, call_frame=0x0000700010ccbe70, literal=42374) at set_ivar.hpp:12 [opt] | |
| frame #4: 0x00000001000c25c3 rbx`rubinius::interpreter::set_ivar(state=0x0000700010cceea0, call_frame=0x0000700010ccbe70, opcodes=0x0000000101a14e00) at set_ivar.cpp:8 [opt] | |
| frame #5: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700010cceea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #6: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x0000700010cceea0, exec=0x00000001098c0ff8, mod=<unavailable>, args=0x0000700010ccbfa0) at machine_code.cpp:697 [opt] | |
| frame #7: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700010cceea0, args=0x00000000000039f6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x0000700010cceea0, call_frame=0x0000700010ccc050, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| frame #9: 0x00000001000c1d4f rbx`rubinius::interpreter::send_method(state=0x0000700010cceea0, call_frame=0x0000700010ccc050, opcodes=0x0000000101a0de00) at send_method.cpp:8 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700010cceea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x0000700010cceea0, exec=0x00000001098bf128, mod=<unavailable>, args=0x0000700010ccc170) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700010cceea0, args=0x00000000000039f6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x0000700010cceea0, call_frame=0x0000700010ccc220, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| frame #14: 0x00000001000c1d4f rbx`rubinius::interpreter::send_method(state=0x0000700010cceea0, call_frame=0x0000700010ccc220, opcodes=0x000000010095b400) at send_method.cpp:8 [opt] | |
| (lldb) p state->vm_->call_frame_->print_backtrace(state, 0, 0) | |
| 0x700010ccbe70: IO::FileDescriptor#close in core/io.rb:369 (+140) | |
| 0x700010ccc050: IO#close in core/io.rb:3460 (+47) | |
| 0x700010ccc220: IO.open in core/io.rb:1403 (+221) | |
| 0x700010ccc450: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x700010ccc6e0: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x700010ccc940: Gem::Package#verify in rubygems/package.rb:522 (+28) | |
| 0x700010cccbb0: Gem::Package#spec in rubygems/package.rb:503 (+9) | |
| 0x700010cccdd0: Bundler::RubygemsIntegration#spec_from_gem in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:303 (+61) | |
| 0x700010ccd060: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:123 (+409) | |
| 0x700010ccd370: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x700010ccd5c0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x700010ccd850: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x700010ccdb20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x700010ccde50: Proc#call in core/proc.rb:20 (+247) | |
| 0x700010cce050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x700010cce250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x700010cce4d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x700010cce720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x700010cce960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x700010ccec60: Proc#call in core/proc.rb:20 (+247) | |
| (lldb) thr backtrace -c 15 all | |
| thread #1, name = 'ruby.main', queue = 'com.apple.main-thread' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x000000010013e53f rbx`rubinius::SignalThread::run(rubinius::State*) [inlined] rubinius::utilities::thread::Condition::wait(rubinius::utilities::thread::Mutex&) at thread.hpp:453 [opt] | |
| frame #3: 0x000000010013e533 rbx`rubinius::SignalThread::run(this=0x0000000104002600, state=0x00007ffeefbfec38) at signal.cpp:250 [opt] | |
| frame #4: 0x000000010013e12b rbx`rubinius::SignalThread::start(this=0x0000000104002600, state=0x00007ffeefbfec38) at signal.cpp:143 [opt] | |
| frame #5: 0x0000000100138bea rbx`rubinius::SharedState::start_signals(this=0x0000000100801000, state=0x00007ffeefbfec38) at shared_state.cpp:228 [opt] | |
| frame #6: 0x00000001000adbd8 rbx`rubinius::Environment::boot(this=0x00007ffeefbfed70) at environment.cpp:734 [opt] | |
| frame #7: 0x00000001000a8dd8 rbx`main(argc=<unavailable>, argv=<unavailable>) at cli.cpp:49 [opt] | |
| frame #8: 0x00007fff6de61115 libdyld.dylib`start + 1 | |
| frame #9: 0x00007fff6de61115 libdyld.dylib`start + 1 | |
| thread #2, name = 'ruby.main' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x0000000100097f61 rbx`rubinius::Thread::join(rubinius::State*, rubinius::Object*) [inlined] rubinius::utilities::thread::Condition::wait(this=<unavailable>, mutex=<unavailable>) at thread.hpp:453 [opt] | |
| frame #3: 0x0000000100097f4e rbx`rubinius::Thread::join(this=<unavailable>, state=0x000070000784cea0, timeout=<unavailable>) at thread.cpp:523 [opt] | |
| frame #4: 0x00000001000dac56 rbx`::invoke_thread_join(state=0x000070000784cea0, args=<unavailable>, arg_count=<unavailable>) at invoke_primitives.hpp:11538 [opt] | |
| frame #5: 0x00000001000bff72 rbx`rubinius::instructions::invoke_primitive(state=<unavailable>, call_frame=0x0000700007847140, literal=<unavailable>, count=2) at invoke_primitive.hpp:8 [opt] | |
| frame #6: 0x00000001000bff28 rbx`rubinius::interpreter::invoke_primitive(state=0x000070000784cea0, call_frame=0x0000700007847140, opcodes=0x0000000111171d90) at invoke_primitive.cpp:9 [opt] | |
| frame #7: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000784cea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #8: 0x00000001000e8624 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::GenericArguments>(state=0x000070000784cea0, exec=0x000000010b159518, mod=<unavailable>, args=0x0000700007847390) at machine_code.cpp:697 [opt] | |
| frame #9: 0x000000010007c5f3 rbx`rubinius::Object::send(this=<unavailable>, state=0x000070000784cea0, exec=<unavailable>, mod=<unavailable>, args=0x0000700007847390, min_visibility=0x00000000000004ce) at object.cpp:586 [opt] | |
| frame #10: 0x000000010010f2a1 rbx`rubinius::Primitives::object_send(state=0x000070000784cea0, exec=0x0000000102e7e830, mod=0x00000001028000f8, args=0x0000700007847390) at method_primitives.hpp:9974 [opt] | |
| frame #11: 0x000000010003e81d rbx`rubinius::CallSite::dispatch_and_cache(state=0x000070000784cea0, call_site=0x0000000100a24d98, args=0x0000700007847390) at call_site.hpp:457 [opt] | |
| frame #12: 0x00000001000c20ff rbx`rubinius::instructions::send_stack_with_splat(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000784cea0, args=0x0000000000003d46) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c20f5 rbx`rubinius::instructions::send_stack_with_splat(state=0x000070000784cea0, call_frame=0x0000700007847450, literal=4305603992, count=<unavailable>) at send_stack_with_splat.hpp:28 [opt] | |
| frame #14: 0x00000001000c2004 rbx`rubinius::interpreter::send_stack_with_splat(state=0x000070000784cea0, call_frame=0x0000700007847450, opcodes=0x0000000100a24600) at send_stack_with_splat.cpp:9 [opt] | |
| thread #3, name = 'rbx.finalizer' | |
| frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| frame #1: 0x00007fff6e0ecbfe libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83 | |
| frame #2: 0x00007fff6e0ea551 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253 | |
| frame #3: 0x000000010051de3f libc++.1.dylib`std::__1::mutex::lock() + 9 | |
| frame #4: 0x00000001000f1db6 rbx`rubinius::memory::FinalizerThread::run(rubinius::State*) [inlined] std::__1::unique_lock<std::__1::mutex>::unique_lock(__m=0x0000000101005c08) at __mutex_base:135 [opt] | |
| frame #5: 0x00000001000f1da9 rbx`rubinius::memory::FinalizerThread::run(rubinius::State*) [inlined] std::__1::unique_lock<std::__1::mutex>::unique_lock(__m=0x0000000101005c08) at __mutex_base:135 [opt] | |
| frame #6: 0x00000001000f1da9 rbx`rubinius::memory::FinalizerThread::run(this=0x0000000101005bc0, state=0x0000700007449ec8) at finalizer.cpp:204 [opt] | |
| frame #7: 0x00000001000ea126 rbx`rubinius::MachineThread::run(ptr=0x0000000101005bc0) at machine_threads.cpp:43 [opt] | |
| frame #8: 0x00007fff6e0ec6c1 libsystem_pthread.dylib`_pthread_body + 340 | |
| frame #9: 0x00007fff6e0ec56d libsystem_pthread.dylib`_pthread_start + 377 | |
| frame #10: 0x00007fff6e0ebc5d libsystem_pthread.dylib`thread_start + 13 | |
| thread #4, name = 'rbx.console.listener' | |
| frame #0: 0x00007fff6dfb1ec2 libsystem_kernel.dylib`kevent + 10 | |
| frame #1: 0x0000000100060d70 rbx`rubinius::FSEvent::wait_for_event(this=0x0000000102f82300, state=0x000070000785fec8) at fsevent.cpp:65 [opt] | |
| frame #2: 0x00000001000a384c rbx`rubinius::console::Listener::run(this=0x0000000101494b40, state=0x000070000785fec8) at console.cpp:389 [opt] | |
| frame #3: 0x00000001000ea126 rbx`rubinius::MachineThread::run(ptr=0x0000000101494b40) at machine_threads.cpp:43 [opt] | |
| frame #4: 0x00007fff6e0ec6c1 libsystem_pthread.dylib`_pthread_body + 340 | |
| frame #5: 0x00007fff6e0ec56d libsystem_pthread.dylib`_pthread_start + 377 | |
| frame #6: 0x00007fff6e0ebc5d libsystem_pthread.dylib`thread_start + 13 | |
| thread #5, name = 'ruby.5' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x000000010003f425 rbx`rubinius::Channel::receive_timeout(rubinius::State*, rubinius::Object*) [inlined] rubinius::utilities::thread::Condition::wait(this=<unavailable>, mutex=<unavailable>) at thread.hpp:453 [opt] | |
| frame #3: 0x000000010003f417 rbx`rubinius::Channel::receive_timeout(this=<unavailable>, state=0x0000700007c62ea0, duration=<unavailable>) at channel.cpp:158 [opt] | |
| frame #4: 0x0000000100100676 rbx`rubinius::Primitives::channel_receive(state=0x0000700007c62ea0, exec=0x000000010b88adb8, mod=0x000000010280d150, args=0x0000700007c62600) at method_primitives.hpp:2440 [opt] | |
| frame #5: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700007c62ea0, args=0x00000000000045a6) at call_site.hpp:313 [opt] | |
| frame #6: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x0000700007c62ea0, call_frame=0x0000700007c626b0, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| frame #7: 0x00000001000c1d4f rbx`rubinius::interpreter::send_method(state=0x0000700007c62ea0, call_frame=0x0000700007c626b0, opcodes=0x0000000101d71400) at send_method.cpp:8 [opt] | |
| frame #8: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700007c62ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #9: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x0000700007c62ea0, exec=0x000000010b888a00, mod=<unavailable>, args=0x0000700007c628b0) at machine_code.cpp:697 [opt] | |
| frame #10: 0x000000010003e52b rbx`rubinius::CallSite::dispatch_once(state=0x0000700007c62ea0, call_site=0x000000010bd975d0, args=0x0000700007c628b0) at call_site.hpp:478 [opt] | |
| frame #11: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700007c62ea0, args=0x000000000001aa0e) at call_site.hpp:313 [opt] | |
| frame #12: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x0000700007c62ea0, call_frame=0x0000700007c62960, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #13: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x0000700007c62ea0, call_frame=0x0000700007c62960, opcodes=0x000000010bd975a0) at send_vcall.cpp:8 [opt] | |
| frame #14: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700007c62ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| thread #6, name = 'ruby.22' | |
| frame #0: 0x00007fff6e1190f0 libunwind.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getInfoFromCompactEncodingSection(unsigned long long, unsigned long long, unsigned long long) + 544 | |
| frame #1: 0x00007fff6e118bab libunwind.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::setInfoBasedOnIPRegister(bool) + 117 | |
| frame #2: 0x00007fff6e11924b libunwind.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::step() + 123 | |
| frame #3: 0x00007fff6e118a0e libunwind.dylib`_Unwind_RaiseException + 162 | |
| frame #4: 0x00007fff6bf0425c libc++abi.dylib`__cxa_throw + 104 | |
| frame #5: 0x000000010052bb4d libc++.1.dylib`std::__1::__throw_system_error(int, char const*) + 77 | |
| frame #6: 0x000000010051de53 libc++.1.dylib`std::__1::mutex::lock() + 29 | |
| frame #7: 0x000000010004a8a7 rbx`rubinius::CompiledCode::internalize(rubinius::State*) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=<unavailable>) at __mutex_base:108 [opt] | |
| frame #8: 0x000000010004a89f rbx`rubinius::CompiledCode::internalize(rubinius::State*) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=<unavailable>) at __mutex_base:108 [opt] | |
| frame #9: 0x000000010004a89f rbx`rubinius::CompiledCode::internalize(this=0x000000010d360580, state=0x000070000bc92ea0) at compiled_code.cpp:134 [opt] | |
| frame #10: 0x000000010003d054 rbx`rubinius::BlockEnvironment::under_call_frame(state=0x000070000bc92ea0, ccode=0x000000010d360580, caller=<unavailable>) at block_environment.cpp:509 [opt] | |
| frame #11: 0x00000001000bf81e rbx`rubinius::instructions::create_block(state=0x000070000bc92ea0, call_frame=0x000070000bc8e0b0, literal=<unavailable>) at create_block.hpp:17 [opt] | |
| frame #12: 0x00000001000bf792 rbx`rubinius::interpreter::create_block(state=0x000070000bc92ea0, call_frame=0x000070000bc8e0b0, opcodes=0x000000011200f890) at create_block.cpp:14 [opt] | |
| frame #13: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000bc92ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #14: 0x000000010003be8e rbx`rubinius::BlockEnvironment::execute_interpreter(state=<unavailable>, env=<unavailable>, args=<unavailable>, invocation=<unavailable>) at block_environment.cpp:438 [opt] | |
| thread #7, name = 'ruby.8' | |
| frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| frame #1: 0x00007fff6e0ecbfe libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83 | |
| frame #2: 0x00007fff6e0ea551 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253 | |
| frame #3: 0x000000010051de3f libc++.1.dylib`std::__1::mutex::lock() + 9 | |
| frame #4: 0x00000001000f2057 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #5: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #6: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(this=0x0000000101005bc0, state=0x0000700008468ea0, obj=0x00000001093e7b80, func=(rbx`rubinius::Pointer::finalize(rubinius::State*, rubinius::Pointer*) at ffi_pointer.cpp:139))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:277 [opt] | |
| frame #7: 0x000000010005970a rbx`rubinius::Pointer::set_autorelease(rubinius::State*, rubinius::Object*) at memory.hpp:572 [opt] | |
| frame #8: 0x00000001000596eb rbx`rubinius::Pointer::set_autorelease(this=0x00000001093e7b80, state=<unavailable>, val=0x0000000000000012) at ffi_pointer.cpp:118 [opt] | |
| frame #9: 0x0000000100110af2 rbx`rubinius::Primitives::pointer_set_autorelease(state=0x0000700008468ea0, exec=0x00000001098b2fa0, mod=0x000000010280b160, args=0x0000700008462a50) at method_primitives.hpp:10819 [opt] | |
| frame #10: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700008468ea0, args=0x0000000000007806) at call_site.hpp:313 [opt] | |
| frame #11: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000700008468ea0, call_frame=0x0000700008462b00, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #12: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000700008468ea0, call_frame=0x0000700008462b00, opcodes=0x0000000101a0c400) at send_stack.cpp:9 [opt] | |
| frame #13: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700008468ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #14: 0x00000001000e8624 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::GenericArguments>(state=0x0000700008468ea0, exec=0x00000001098b02a0, mod=<unavailable>, args=0x0000700008462c90) at machine_code.cpp:697 [opt] | |
| thread #8, name = 'ruby.9' | |
| frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| frame #1: 0x00007fff6e0ecbfe libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83 | |
| frame #2: 0x00007fff6e0ea551 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253 | |
| frame #3: 0x000000010051de3f libc++.1.dylib`std::__1::mutex::lock() + 9 | |
| frame #4: 0x00000001000f21a7 rbx`rubinius::memory::FinalizerThread::extension_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #5: 0x00000001000f21a2 rbx`rubinius::memory::FinalizerThread::extension_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #6: 0x00000001000f21a2 rbx`rubinius::memory::FinalizerThread::extension_finalizer(this=0x0000000101005bc0, state=0x000000010bb4c600, obj=0x00000001093be8b0, func=(rbx`rubinius::Data::finalize(rubinius::State*, rubinius::Data*) at data.cpp:113))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:286 [opt] | |
| frame #7: 0x000000010004d259 rbx`rubinius::Data::create_typed(rubinius::State*, void*, rubinius::rb_data_type_struct_shadow const*) at memory.hpp:578 [opt] | |
| frame #8: 0x000000010004d237 rbx`rubinius::Data::create_typed(state=0x000000010bb4c600, data_ptr=0x0000000000000000, type=0x000000010bef75c0) at data.cpp:82 [opt] | |
| frame #9: 0x0000000100024ab5 rbx`::rb_data_typed_object_alloc(klass=<unavailable>, ptr=0x0000000000000000, type=0x000000010bef75c0) at data.cpp:103 [opt] | |
| frame #10: 0x000000010bedfcd5 openssl.bundle`ossl_digest_alloc + 21 | |
| frame #11: 0x00000001000712be rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) [inlined] rubinius::ZeroArguments::invoke(state=<unavailable>, env=<unavailable>) at native_method.cpp:234 [opt] | |
| frame #12: 0x00000001000712ad rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(state=<unavailable>, exec=0x000000010aaa30c8, mod=0x000000010aaa2890, args=<unavailable>) at native_method.cpp:706 [opt] | |
| frame #13: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000886bea0, args=0x000000000000374e) at call_site.hpp:313 [opt] | |
| frame #14: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x000070000886bea0, call_frame=0x0000700008866fe0, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| thread #9, name = 'ruby.10' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x0000700008c6eea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x0000700008c6eea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x0000700008c6eea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x0000700008c6eea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x0000700008c6b380) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700008c6eea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000700008c6eea0, call_frame=0x0000700008c6b430, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000700008c6eea0, call_frame=0x0000700008c6b430, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700008c6eea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x0000700008c6eea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x0000700008c6b530) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700008c6eea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x0000700008c6eea0, call_frame=0x0000700008c6b5e0, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x0000700008c6eea0, call_frame=0x0000700008c6b5e0, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| thread #10, name = 'Parallel Installer Worker #5' | |
| frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| frame #1: 0x00007fff6e0ecbfe libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83 | |
| frame #2: 0x00007fff6e0ea551 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253 | |
| frame #3: 0x000000010051de3f libc++.1.dylib`std::__1::mutex::lock() + 9 | |
| frame #4: 0x00000001000f2057 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #5: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #6: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(this=0x0000000101005bc0, state=0x0000000103cbbd20, obj=0x00000001093e7618, func=(rbx`rubinius::Pointer::finalize(rubinius::State*, rubinius::Pointer*) at ffi_pointer.cpp:139))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:277 [opt] | |
| frame #7: 0x000000010005970a rbx`rubinius::Pointer::set_autorelease(rubinius::State*, rubinius::Object*) at memory.hpp:572 [opt] | |
| frame #8: 0x00000001000596eb rbx`rubinius::Pointer::set_autorelease(this=0x00000001093e7618, state=<unavailable>, val=0x0000000000000012) at ffi_pointer.cpp:118 [opt] | |
| frame #9: 0x0000000100110af2 rbx`rubinius::Primitives::pointer_set_autorelease(state=0x0000000103cbbd20, exec=0x00000001098b2fa0, mod=0x000000010280b160, args=0x000070000946e020) at method_primitives.hpp:10819 [opt] | |
| frame #10: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000000103cbbd20, args=0x0000000000007806) at call_site.hpp:313 [opt] | |
| frame #11: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000000103cbbd20, call_frame=0x000070000946e0d0, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #12: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000000103cbbd20, call_frame=0x000070000946e0d0, opcodes=0x0000000101a0c400) at send_stack.cpp:9 [opt] | |
| frame #13: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000000103cbbd20, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #14: 0x00000001000e8624 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::GenericArguments>(state=0x0000000103cbbd20, exec=0x00000001098b02a0, mod=<unavailable>, args=0x000070000946e260) at machine_code.cpp:697 [opt] | |
| thread #11, name = 'ruby.13' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x0000700009877ea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x0000700009877ea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x0000700009877ea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x0000700009877ea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x0000700009874380) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700009877ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000700009877ea0, call_frame=0x0000700009874430, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000700009877ea0, call_frame=0x0000700009874430, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700009877ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x0000700009877ea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x0000700009874530) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700009877ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x0000700009877ea0, call_frame=0x00007000098745e0, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x0000700009877ea0, call_frame=0x00007000098745e0, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| thread #12, name = 'ruby.14' | |
| frame #0: 0x00007fff6e0e6e14 libsystem_platform.dylib`_platform_memset_pattern16$VARIANT$Haswell + 4 | |
| frame #1: 0x00000001000e9124 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::ThreeArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) at call_frame.hpp:199 [opt] | |
| frame #2: 0x00000001000e90fd rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::ThreeArguments>(state=0x0000700009c7aea0, exec=0x0000000102df2cb8, mod=<unavailable>, args=0x0000700009c75dd0) at machine_code.cpp:675 [opt] | |
| frame #3: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700009c7aea0, args=0x00000000000037de) at call_site.hpp:313 [opt] | |
| frame #4: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000700009c7aea0, call_frame=0x0000700009c75e80, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #5: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000700009c7aea0, call_frame=0x0000700009c75e80, opcodes=0x0000000101603cb0) at send_stack.cpp:9 [opt] | |
| frame #6: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700009c7aea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #7: 0x00000001000e9198 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::ThreeArguments>(state=0x0000700009c7aea0, exec=0x0000000102df22d8, mod=<unavailable>, args=0x0000700009c75fd0) at machine_code.cpp:697 [opt] | |
| frame #8: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700009c7aea0, args=0x00000000000037de) at call_site.hpp:313 [opt] | |
| frame #9: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000700009c7aea0, call_frame=0x0000700009c76080, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #10: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000700009c7aea0, call_frame=0x0000700009c76080, opcodes=0x0000000101603460) at send_stack.cpp:9 [opt] | |
| frame #11: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700009c7aea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #12: 0x00000001000e8ce8 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::OneArgument>(state=0x0000700009c7aea0, exec=0x0000000102df18f8, mod=<unavailable>, args=0x0000700009c761c0) at machine_code.cpp:697 [opt] | |
| frame #13: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700009c7aea0, args=0x00000000000037ce) at call_site.hpp:313 [opt] | |
| frame #14: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000700009c7aea0, call_frame=0x0000700009c76270, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| thread #13, name = 'ruby.15' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x000070000a07dea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x000070000a07dea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x000070000a07dea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x000070000a07dea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x000070000a07a3c0) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000a07dea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x000070000a07dea0, call_frame=0x000070000a07a470, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x000070000a07dea0, call_frame=0x000070000a07a470, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000a07dea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x000070000a07dea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x000070000a07a570) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000a07dea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x000070000a07dea0, call_frame=0x000070000a07a620, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x000070000a07dea0, call_frame=0x000070000a07a620, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| thread #14, name = 'ruby.16' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x000070000a480ea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x000070000a480ea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x000070000a480ea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x000070000a480ea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x000070000a47d3c0) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000a480ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x000070000a480ea0, call_frame=0x000070000a47d470, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x000070000a480ea0, call_frame=0x000070000a47d470, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000a480ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x000070000a480ea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x000070000a47d570) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000a480ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x000070000a480ea0, call_frame=0x000070000a47d620, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x000070000a480ea0, call_frame=0x000070000a47d620, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| thread #15, name = 'ruby.17' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x000070000a883ea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x000070000a883ea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x000070000a883ea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x000070000a883ea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x000070000a8803c0) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000a883ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x000070000a883ea0, call_frame=0x000070000a880470, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x000070000a883ea0, call_frame=0x000070000a880470, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000a883ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x000070000a883ea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x000070000a880570) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000a883ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x000070000a883ea0, call_frame=0x000070000a880620, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x000070000a883ea0, call_frame=0x000070000a880620, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| thread #16, name = 'ruby.18' | |
| frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| frame #1: 0x00007fff6e0ecbfe libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83 | |
| frame #2: 0x00007fff6e0ea551 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253 | |
| frame #3: 0x000000010051de3f libc++.1.dylib`std::__1::mutex::lock() + 9 | |
| frame #4: 0x00000001000f2057 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #5: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #6: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(this=0x0000000101005bc0, state=0x0000000110d103d0, obj=0x00000001093dd8e0, func=(rbx`rubinius::Pointer::finalize(rubinius::State*, rubinius::Pointer*) at ffi_pointer.cpp:139))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:277 [opt] | |
| frame #7: 0x000000010005970a rbx`rubinius::Pointer::set_autorelease(rubinius::State*, rubinius::Object*) at memory.hpp:572 [opt] | |
| frame #8: 0x00000001000596eb rbx`rubinius::Pointer::set_autorelease(this=0x00000001093dd8e0, state=<unavailable>, val=0x0000000000000012) at ffi_pointer.cpp:118 [opt] | |
| frame #9: 0x0000000100110af2 rbx`rubinius::Primitives::pointer_set_autorelease(state=0x0000000110d103d0, exec=0x00000001098b2fa0, mod=0x000000010280b160, args=0x000070000ac80060) at method_primitives.hpp:10819 [opt] | |
| frame #10: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000000110d103d0, args=0x0000000000007806) at call_site.hpp:313 [opt] | |
| frame #11: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000000110d103d0, call_frame=0x000070000ac80110, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #12: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000000110d103d0, call_frame=0x000070000ac80110, opcodes=0x0000000101a0c400) at send_stack.cpp:9 [opt] | |
| frame #13: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000000110d103d0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #14: 0x00000001000e8624 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::GenericArguments>(state=0x0000000110d103d0, exec=0x00000001098b02a0, mod=<unavailable>, args=0x000070000ac802a0) at machine_code.cpp:697 [opt] | |
| thread #17, name = 'ruby.19' | |
| frame #0: 0x000000010003ebc5 rbx`rubinius::CallSite::Cache::mono_execute(state=0x0000000110da4a60, call_site=0x0000000101a12090, args=0x000070000b083260) at call_site.hpp:199 [opt] | |
| frame #1: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000000110da4a60, args=0x0000000000000526) at call_site.hpp:313 [opt] | |
| frame #2: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000000110da4a60, call_frame=0x000070000b083310, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #3: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000000110da4a60, call_frame=0x000070000b083310, opcodes=0x0000000101a11400) at send_stack.cpp:9 [opt] | |
| frame #4: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000000110da4a60, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #5: 0x00000001000e8624 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::GenericArguments>(state=0x0000000110da4a60, exec=0x00000001098b7510, mod=<unavailable>, args=0x000070000b083460) at machine_code.cpp:697 [opt] | |
| frame #6: 0x00000001000c2208 rbx`rubinius::instructions::send_super_stack_with_block(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000000110da4a60, args=0x0000000000003ae6) at call_site.hpp:313 [opt] | |
| frame #7: 0x00000001000c21ff rbx`rubinius::instructions::send_super_stack_with_block(state=0x0000000110da4a60, call_frame=0x000070000b083510, literal=<unavailable>, count=<unavailable>) at send_super_stack_with_block.hpp:17 [opt] | |
| frame #8: 0x00000001000c2172 rbx`rubinius::interpreter::send_super_stack_with_block(state=0x0000000110da4a60, call_frame=0x000070000b083510, opcodes=0x0000000101a0fe00) at send_super_stack_with_block.cpp:9 [opt] | |
| frame #9: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000000110da4a60, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #10: 0x00000001000e8624 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::GenericArguments>(state=0x0000000110da4a60, exec=0x00000001098b4458, mod=<unavailable>, args=0x000070000b083650) at machine_code.cpp:697 [opt] | |
| frame #11: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000000110da4a60, args=0x0000000000003ae6) at call_site.hpp:313 [opt] | |
| frame #12: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000000110da4a60, call_frame=0x000070000b083700, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #13: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000000110da4a60, call_frame=0x000070000b083700, opcodes=0x00000001019fba00) at send_stack.cpp:9 [opt] | |
| frame #14: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000000110da4a60, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| thread #18, name = 'ruby.20', stop reason = breakpoint 2.1 | |
| frame #0: 0x00000001000246b6 rbx`rubinius::capi::Handle::as_rdata(this=0x0000000100b91790, env=<unavailable>) at data.cpp:18 [opt] | |
| frame #1: 0x00000001017eb8db zlib.bundle`rb_gzreader_initialize + 59 | |
| frame #2: 0x0000000100073fcf rbx`rubinius::GenericArguments::invoke(state=<unavailable>, nm=<unavailable>, env=<unavailable>, args=0x000070000b487b60) at native_method.cpp:310 [opt] | |
| frame #3: 0x0000000100072a24 rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments>(state=0x000000011233a840, exec=0x000000010b91aae0, mod=0x000000010b90ea00, args=<unavailable>) at native_method.cpp:706 [opt] | |
| frame #4: 0x000000010003e81d rbx`rubinius::CallSite::dispatch_and_cache(state=0x000000011233a840, call_site=0x00000001010e3ad8, args=0x000070000b487b60) at call_site.hpp:457 [opt] | |
| frame #5: 0x00000001000c20ff rbx`rubinius::instructions::send_stack_with_splat(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000000011233a840, args=0x00000000000037ae) at call_site.hpp:313 [opt] | |
| frame #6: 0x00000001000c20f5 rbx`rubinius::instructions::send_stack_with_splat(state=0x000000011233a840, call_frame=0x000070000b487c20, literal=4312677080, count=<unavailable>) at send_stack_with_splat.hpp:28 [opt] | |
| frame #7: 0x00000001000c2004 rbx`rubinius::interpreter::send_stack_with_splat(state=0x000000011233a840, call_frame=0x000070000b487c20, opcodes=0x00000001010e39c0) at send_stack_with_splat.cpp:9 [opt] | |
| frame #8: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000000011233a840, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #9: 0x00000001000e8af2 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::SplatOnlyArgument>(state=0x000000011233a840, exec=<unavailable>, mod=<unavailable>, args=0x000070000b487d98) at machine_code.cpp:697 [opt] | |
| frame #10: 0x000000010001ebd4 rbx`rubinius::capi::capi_funcall_backend_native(env=0x000000011233a840, file=<unavailable>, line=<unavailable>, recv=0x000000010b90ea00, method=0x0000000000003756, arg_count=1, args=<unavailable>, block=<unavailable>, allow_private=true) at capi.cpp:144 [opt] | |
| frame #11: 0x0000000100020f4d rbx`::rb_funcall2(receiver=<unavailable>, method_name=14166, arg_count=1, v_args=0x000070000b487e90) at capi.cpp:488 [opt] | |
| frame #12: 0x00000001017ea88b zlib.bundle`rb_gzfile_s_wrap + 11 | |
| frame #13: 0x0000000100073fcf rbx`rubinius::GenericArguments::invoke(state=<unavailable>, nm=<unavailable>, env=<unavailable>, args=0x000070000b4881a0) at native_method.cpp:310 [opt] | |
| frame #14: 0x0000000100072a24 rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments>(state=0x000070000b48cea0, exec=0x000000010b910f18, mod=0x000000010b904fd8, args=<unavailable>) at native_method.cpp:706 [opt] | |
| thread #19, name = 'ruby.21' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x000070000b88fea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x000070000b88fea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x000070000b88fea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x000070000b88fea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x000070000b88c3c0) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000b88fea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x000070000b88fea0, call_frame=0x000070000b88c470, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x000070000b88fea0, call_frame=0x000070000b88c470, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000b88fea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x000070000b88fea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x000070000b88c570) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000b88fea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x000070000b88fea0, call_frame=0x000070000b88c620, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x000070000b88fea0, call_frame=0x000070000b88c620, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| thread #20, name = 'ruby.23', stop reason = breakpoint 1.1 | |
| frame #0: 0x0000000100024746 rbx`rubinius::capi::Handle::as_rtypeddata(this=0x0000000100b916a0, env=<unavailable>) at data.cpp:41 [opt] | |
| frame #1: 0x000000010bedfced openssl.bundle`ossl_digest_alloc + 45 | |
| frame #2: 0x00000001000712be rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) [inlined] rubinius::ZeroArguments::invoke(state=<unavailable>, env=<unavailable>) at native_method.cpp:234 [opt] | |
| frame #3: 0x00000001000712ad rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(state=<unavailable>, exec=0x000000010aaa30c8, mod=0x000000010aaa2890, args=<unavailable>) at native_method.cpp:706 [opt] | |
| frame #4: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000c095ea0, args=0x000000000000374e) at call_site.hpp:313 [opt] | |
| frame #5: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x000070000c095ea0, call_frame=0x000070000c090e10, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| frame #6: 0x00000001000c1d4f rbx`rubinius::interpreter::send_method(state=0x000070000c095ea0, call_frame=0x000070000c090e10, opcodes=0x000000010e1cf600) at send_method.cpp:8 [opt] | |
| frame #7: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000c095ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #8: 0x000000010003be8e rbx`rubinius::BlockEnvironment::execute_interpreter(state=<unavailable>, env=<unavailable>, args=<unavailable>, invocation=<unavailable>) at block_environment.cpp:438 [opt] | |
| frame #9: 0x000000010003cd5e rbx`rubinius::BlockEnvironment::call(rubinius::State*, rubinius::Arguments&, int) [inlined] rubinius::BlockEnvironment::invoke(env=0x000000010d35ecb8) at block_environment.cpp:78 [opt] | |
| frame #10: 0x000000010003cd15 rbx`rubinius::BlockEnvironment::call(this=0x000000010d35ecb8, state=0x000070000c095ea0, args=0x000070000c090fe8, flags=<unavailable>) at block_environment.cpp:451 [opt] | |
| frame #11: 0x00000001000c35eb rbx`rubinius::instructions::yield_stack(state=0x000070000c095ea0, call_frame=0x000070000c0910a0, count=1) at yield_stack.hpp:13 [opt] | |
| frame #12: 0x00000001000c3523 rbx`rubinius::interpreter::yield_stack(state=0x000070000c095ea0, call_frame=0x000070000c0910a0, opcodes=0x0000000100911a00) at yield_stack.cpp:8 [opt] | |
| frame #13: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000c095ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #14: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x000070000c095ea0, exec=0x0000000102c73ae0, mod=<unavailable>, args=0x000070000c0911e0) at machine_code.cpp:697 [opt] | |
| thread #21, name = 'ruby.28' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001004e86d0 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18 | |
| frame #3: 0x0000000100095bbb rbx`rubinius::ThreadNexus::yield(rubinius::State*, rubinius::VM*) [inlined] void std::__1::condition_variable::wait<rubinius::ThreadNexus::yield(rubinius::State*, rubinius::VM*)::'lambda'()>(this=<unavailable>)::'lambda'()) at __mutex_base:375 [opt] | |
| frame #4: 0x0000000100095ba1 rbx`rubinius::ThreadNexus::yield(this=0x0000000100603800, state=<unavailable>, vm=<unavailable>) at thread_nexus.hpp:97 [opt] | |
| frame #5: 0x0000000100142a01 rbx`rubinius::ThreadNexus::try_lock_wait(this=0x0000000100603800, state=0x00000001123389b0, vm=0x0000000101dd1000) at thread_nexus.cpp:254 [opt] | |
| frame #6: 0x0000000100141922 rbx`rubinius::ThreadNexus::managed_phase(rubinius::State*, rubinius::VM*) [inlined] rubinius::ThreadNexus::lock(this=<unavailable>, state=<unavailable>, vm=<unavailable>) at thread_nexus.hpp:151 [opt] | |
| frame #7: 0x000000010014191d rbx`rubinius::ThreadNexus::managed_phase(rubinius::State*, rubinius::VM*) [inlined] rubinius::ThreadNexus::lock(this=0x0000000100603800, state=0x00000001123389b0, vm=0x0000000101dd1000)>) at thread_nexus.hpp:145 [opt] | |
| frame #8: 0x000000010014191d rbx`rubinius::ThreadNexus::managed_phase(this=0x0000000100603800, state=0x00000001123389b0, vm=0x0000000101dd1000) at thread_nexus.cpp:22 [opt] | |
| frame #9: 0x00000001000f2215 rbx`rubinius::memory::FinalizerThread::extension_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] rubinius::VM::managed_phase(this=<unavailable>, state=<unavailable>) at vm.hpp:486 [opt] | |
| frame #10: 0x00000001000f2206 rbx`rubinius::memory::FinalizerThread::extension_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] rubinius::UnmanagedPhase::~UnmanagedPhase() at thread_phase.hpp:58 [opt] | |
| frame #11: 0x00000001000f2203 rbx`rubinius::memory::FinalizerThread::extension_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] rubinius::UnmanagedPhase::~UnmanagedPhase() at thread_phase.hpp:57 [opt] | |
| frame #12: 0x00000001000f2203 rbx`rubinius::memory::FinalizerThread::extension_finalizer(this=0x0000000101005bc0, state=0x00000001123389b0, obj=0x000000010d33dda8, func=(rbx`rubinius::Data::finalize(rubinius::State*, rubinius::Data*) at data.cpp:113))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:289 [opt] | |
| frame #13: 0x000000010004d259 rbx`rubinius::Data::create_typed(rubinius::State*, void*, rubinius::rb_data_type_struct_shadow const*) at memory.hpp:578 [opt] | |
| frame #14: 0x000000010004d237 rbx`rubinius::Data::create_typed(state=0x00000001123389b0, data_ptr=0x0000000000000000, type=0x000000010bef75c0) at data.cpp:82 [opt] | |
| thread #22, name = 'ruby.32' | |
| frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| frame #1: 0x00007fff6e0ecbfe libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83 | |
| frame #2: 0x00007fff6e0ea551 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253 | |
| frame #3: 0x000000010051de3f libc++.1.dylib`std::__1::mutex::lock() + 9 | |
| frame #4: 0x00000001000f2057 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #5: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #6: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(this=0x0000000101005bc0, state=0x0000000112338c70, obj=0x00000001093e91f8, func=(rbx`rubinius::Pointer::finalize(rubinius::State*, rubinius::Pointer*) at ffi_pointer.cpp:139))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:277 [opt] | |
| frame #7: 0x000000010005970a rbx`rubinius::Pointer::set_autorelease(rubinius::State*, rubinius::Object*) at memory.hpp:572 [opt] | |
| frame #8: 0x00000001000596eb rbx`rubinius::Pointer::set_autorelease(this=0x00000001093e91f8, state=<unavailable>, val=0x0000000000000012) at ffi_pointer.cpp:118 [opt] | |
| frame #9: 0x0000000100110af2 rbx`rubinius::Primitives::pointer_set_autorelease(state=0x0000000112338c70, exec=0x00000001098b2fa0, mod=0x000000010280b160, args=0x000070000e4aa020) at method_primitives.hpp:10819 [opt] | |
| frame #10: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000000112338c70, args=0x0000000000007806) at call_site.hpp:313 [opt] | |
| frame #11: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000000112338c70, call_frame=0x000070000e4aa0d0, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #12: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000000112338c70, call_frame=0x000070000e4aa0d0, opcodes=0x0000000101a0c400) at send_stack.cpp:9 [opt] | |
| frame #13: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000000112338c70, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #14: 0x00000001000e8624 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::GenericArguments>(state=0x0000000112338c70, exec=0x00000001098b02a0, mod=<unavailable>, args=0x000070000e4aa260) at machine_code.cpp:697 [opt] | |
| thread #23, name = 'ruby.38' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x000070000fcc2ea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x000070000fcc2ea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x000070000fcc2ea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x000070000fcc2ea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x000070000fcbf380) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000fcc2ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x000070000fcc2ea0, call_frame=0x000070000fcbf430, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x000070000fcc2ea0, call_frame=0x000070000fcbf430, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000fcc2ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x000070000fcc2ea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x000070000fcbf530) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000fcc2ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x000070000fcc2ea0, call_frame=0x000070000fcbf5e0, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x000070000fcc2ea0, call_frame=0x000070000fcbf5e0, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| thread #24, name = 'ruby.39' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x00007000100c5ea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x00007000100c5ea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x00007000100c5ea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x00007000100c5ea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x00007000100c2380) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x00007000100c5ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x00007000100c5ea0, call_frame=0x00007000100c2430, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x00007000100c5ea0, call_frame=0x00007000100c2430, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x00007000100c5ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x00007000100c5ea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x00007000100c2530) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x00007000100c5ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x00007000100c5ea0, call_frame=0x00007000100c25e0, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x00007000100c5ea0, call_frame=0x00007000100c25e0, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| thread #25, name = 'Parallel Installer Worker #33' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001004e86d0 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18 | |
| frame #3: 0x0000000100095bbb rbx`rubinius::ThreadNexus::yield(rubinius::State*, rubinius::VM*) [inlined] void std::__1::condition_variable::wait<rubinius::ThreadNexus::yield(rubinius::State*, rubinius::VM*)::'lambda'()>(this=<unavailable>)::'lambda'()) at __mutex_base:375 [opt] | |
| frame #4: 0x0000000100095ba1 rbx`rubinius::ThreadNexus::yield(this=0x0000000100603800, state=<unavailable>, vm=<unavailable>) at thread_nexus.hpp:97 [opt] | |
| frame #5: 0x0000000100142a01 rbx`rubinius::ThreadNexus::try_lock_wait(this=0x0000000100603800, state=0x00000001122a7c20, vm=0x000000010f82c600) at thread_nexus.cpp:254 [opt] | |
| frame #6: 0x0000000100141922 rbx`rubinius::ThreadNexus::managed_phase(rubinius::State*, rubinius::VM*) [inlined] rubinius::ThreadNexus::lock(this=<unavailable>, state=<unavailable>, vm=<unavailable>) at thread_nexus.hpp:151 [opt] | |
| frame #7: 0x000000010014191d rbx`rubinius::ThreadNexus::managed_phase(rubinius::State*, rubinius::VM*) [inlined] rubinius::ThreadNexus::lock(this=0x0000000100603800, state=0x00000001122a7c20, vm=0x000000010f82c600)>) at thread_nexus.hpp:145 [opt] | |
| frame #8: 0x000000010014191d rbx`rubinius::ThreadNexus::managed_phase(this=0x0000000100603800, state=0x00000001122a7c20, vm=0x000000010f82c600) at thread_nexus.cpp:22 [opt] | |
| frame #9: 0x00000001000f20c5 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] rubinius::VM::managed_phase(this=<unavailable>, state=<unavailable>) at vm.hpp:486 [opt] | |
| frame #10: 0x00000001000f20b6 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] rubinius::UnmanagedPhase::~UnmanagedPhase() at thread_phase.hpp:58 [opt] | |
| frame #11: 0x00000001000f20b3 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] rubinius::UnmanagedPhase::~UnmanagedPhase() at thread_phase.hpp:57 [opt] | |
| frame #12: 0x00000001000f20b3 rbx`rubinius::memory::FinalizerThread::native_finalizer(this=0x0000000101005bc0, state=0x00000001122a7c20, obj=0x000000010d361ef0, func=(rbx`rubinius::Pointer::finalize(rubinius::State*, rubinius::Pointer*) at ffi_pointer.cpp:139))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:280 [opt] | |
| frame #13: 0x000000010005970a rbx`rubinius::Pointer::set_autorelease(rubinius::State*, rubinius::Object*) at memory.hpp:572 [opt] | |
| frame #14: 0x00000001000596eb rbx`rubinius::Pointer::set_autorelease(this=0x000000010d361ef0, state=<unavailable>, val=0x0000000000000012) at ffi_pointer.cpp:118 [opt] | |
| thread #26, name = 'ruby.41' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x00007000108cbea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x00007000108cbea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x00007000108cbea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x00007000108cbea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x00007000108c8380) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x00007000108cbea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x00007000108cbea0, call_frame=0x00007000108c8430, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x00007000108cbea0, call_frame=0x00007000108c8430, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x00007000108cbea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x00007000108cbea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x00007000108c8530) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x00007000108cbea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x00007000108cbea0, call_frame=0x00007000108c85e0, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x00007000108cbea0, call_frame=0x00007000108c85e0, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| * thread #27, name = 'Parallel Installer Worker #35' | |
| * frame #0: 0x0000000100067a41 rbx`rubinius::LookupTable::store(this=0x0000000109a3bd50, state=0x0000700010cceea0, key=0x000000000000a586, val=0xffffffffffffffff) at lookup_table.cpp:112 [opt] | |
| frame #1: 0x000000010007c76e rbx`rubinius::Object::set_table_ivar(this=0x0000000109a3ae98, state=0x0000700010cceea0, sym=0x000000000000a586, val=0xffffffffffffffff) at object.cpp:624 [opt] | |
| frame #2: 0x000000010007ca6a rbx`rubinius::Object::set_ivar(this=0x0000000109a3ae98, state=0x0000700010cceea0, sym=0x000000000000a586, val=0xffffffffffffffff) at object.cpp:664 [opt] | |
| frame #3: 0x00000001000c2631 rbx`rubinius::instructions::set_ivar(state=0x0000700010cceea0, call_frame=0x0000700010ccbe70, literal=42374) at set_ivar.hpp:12 [opt] | |
| frame #4: 0x00000001000c25c3 rbx`rubinius::interpreter::set_ivar(state=0x0000700010cceea0, call_frame=0x0000700010ccbe70, opcodes=0x0000000101a14e00) at set_ivar.cpp:8 [opt] | |
| frame #5: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700010cceea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #6: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x0000700010cceea0, exec=0x00000001098c0ff8, mod=<unavailable>, args=0x0000700010ccbfa0) at machine_code.cpp:697 [opt] | |
| frame #7: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700010cceea0, args=0x00000000000039f6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x0000700010cceea0, call_frame=0x0000700010ccc050, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| frame #9: 0x00000001000c1d4f rbx`rubinius::interpreter::send_method(state=0x0000700010cceea0, call_frame=0x0000700010ccc050, opcodes=0x0000000101a0de00) at send_method.cpp:8 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700010cceea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x0000700010cceea0, exec=0x00000001098bf128, mod=<unavailable>, args=0x0000700010ccc170) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700010cceea0, args=0x00000000000039f6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x0000700010cceea0, call_frame=0x0000700010ccc220, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| frame #14: 0x00000001000c1d4f rbx`rubinius::interpreter::send_method(state=0x0000700010cceea0, call_frame=0x0000700010ccc220, opcodes=0x000000010095b400) at send_method.cpp:8 [opt] | |
| (lldb) |
This file contains hidden or 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
| (lldb) t 18 | |
| * thread #18, name = 'ruby.20', stop reason = breakpoint 2.1 | |
| frame #0: 0x00000001000246b6 rbx`rubinius::capi::Handle::as_rdata(this=0x0000000100b91790, env=<unavailable>) at data.cpp:18 [opt] | |
| 15 Data* data = c_as<Data>(object_); | |
| 16 | |
| 17 if(data->freed_p()) { | |
| -> 18 rb_raise(rb_eArgError, "Data object has already been freed"); | |
| 19 } | |
| 20 | |
| 21 if(type_ == cRData) { | |
| (lldb) bt 15 | |
| * thread #18, name = 'ruby.20', stop reason = breakpoint 2.1 | |
| * frame #0: 0x00000001000246b6 rbx`rubinius::capi::Handle::as_rdata(this=0x0000000100b91790, env=<unavailable>) at data.cpp:18 [opt] | |
| frame #1: 0x00000001017eb8db zlib.bundle`rb_gzreader_initialize + 59 | |
| frame #2: 0x0000000100073fcf rbx`rubinius::GenericArguments::invoke(state=<unavailable>, nm=<unavailable>, env=<unavailable>, args=0x000070000b487b60) at native_method.cpp:310 [opt] | |
| frame #3: 0x0000000100072a24 rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments>(state=0x000000011233a840, exec=0x000000010b91aae0, mod=0x000000010b90ea00, args=<unavailable>) at native_method.cpp:706 [opt] | |
| frame #4: 0x000000010003e81d rbx`rubinius::CallSite::dispatch_and_cache(state=0x000000011233a840, call_site=0x00000001010e3ad8, args=0x000070000b487b60) at call_site.hpp:457 [opt] | |
| frame #5: 0x00000001000c20ff rbx`rubinius::instructions::send_stack_with_splat(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000000011233a840, args=0x00000000000037ae) at call_site.hpp:313 [opt] | |
| frame #6: 0x00000001000c20f5 rbx`rubinius::instructions::send_stack_with_splat(state=0x000000011233a840, call_frame=0x000070000b487c20, literal=4312677080, count=<unavailable>) at send_stack_with_splat.hpp:28 [opt] | |
| frame #7: 0x00000001000c2004 rbx`rubinius::interpreter::send_stack_with_splat(state=0x000000011233a840, call_frame=0x000070000b487c20, opcodes=0x00000001010e39c0) at send_stack_with_splat.cpp:9 [opt] | |
| frame #8: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000000011233a840, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #9: 0x00000001000e8af2 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::SplatOnlyArgument>(state=0x000000011233a840, exec=<unavailable>, mod=<unavailable>, args=0x000070000b487d98) at machine_code.cpp:697 [opt] | |
| frame #10: 0x000000010001ebd4 rbx`rubinius::capi::capi_funcall_backend_native(env=0x000000011233a840, file=<unavailable>, line=<unavailable>, recv=0x000000010b90ea00, method=0x0000000000003756, arg_count=1, args=<unavailable>, block=<unavailable>, allow_private=true) at capi.cpp:144 [opt] | |
| frame #11: 0x0000000100020f4d rbx`::rb_funcall2(receiver=<unavailable>, method_name=14166, arg_count=1, v_args=0x000070000b487e90) at capi.cpp:488 [opt] | |
| frame #12: 0x00000001017ea88b zlib.bundle`rb_gzfile_s_wrap + 11 | |
| frame #13: 0x0000000100073fcf rbx`rubinius::GenericArguments::invoke(state=<unavailable>, nm=<unavailable>, env=<unavailable>, args=0x000070000b4881a0) at native_method.cpp:310 [opt] | |
| frame #14: 0x0000000100072a24 rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments>(state=0x000070000b48cea0, exec=0x000000010b910f18, mod=0x000000010b904fd8, args=<unavailable>) at native_method.cpp:706 [opt] | |
| (lldb) f 3 | |
| frame #3: 0x0000000100072a24 rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::GenericArguments>(state=0x000000011233a840, exec=0x000000010b91aae0, mod=0x000000010b90ea00, args=<unavailable>) at native_method.cpp:706 [opt] | |
| 703 if(unlikely(ep.jumped_to())) { | |
| 704 value = NULL; | |
| 705 } else { | |
| -> 706 value = ArgumentHandler::invoke(state, nm, env, args); | |
| 707 } | |
| 708 RUBINIUS_METHOD_NATIVE_RETURN_HOOK(state, mod, args.name()); | |
| 709 } catch(const RubyException& exc) { | |
| (lldb) p state | |
| (rubinius::State *) $5 = 0x000000011233a840 | |
| (lldb) p state->vm_->call_frame_->print_backtrace(state, 0, 0) | |
| 0x70000b487890: capi:initialize at zlib.c | |
| 0x70000b487c20: Class#new in core/alpha.rb:93 (+15) | |
| 0x70000b487f50: capi:wrap at zlib.c | |
| 0x70000b488250: Gem::Package#verify_gz in rubygems/package.rb:614 (+21) | |
| 0x70000b488440: Gem::Package#verify_entry in rubygems/package.rb:584 (+182) | |
| 0x70000b488650: __block__ in rubygems/package.rb:597 (+4) | |
| 0x70000b4888c0: Gem::Package::TarReader#each in rubygems/package/tar_reader.rb:65 (+141) | |
| 0x70000b488b70: Gem::Package#verify_files in rubygems/package.rb:596 (+6) | |
| 0x70000b488d50: __block__ in rubygems/package.rb:526 (+14) | |
| 0x70000b488fc0: Gem::Package::TarReader.new in rubygems/package/tar_reader.rb:29 (+28) | |
| 0x70000b489210: __block__ in rubygems/package.rb:523 (+18) | |
| 0x70000b489480: IO.open in core/io.rb:1400 (+126) | |
| 0x70000b4896b0: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x70000b489940: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x70000b489ba0: Gem::Package#verify in rubygems/package.rb:522 (+28) | |
| 0x70000b489e10: Gem::Package#spec in rubygems/package.rb:503 (+9) | |
| 0x70000b48a030: Gem::Installer#spec in rubygems/installer.rb:264 (+11) | |
| 0x70000b48a290: Gem::Installer#ensure_loadable_spec in rubygems/installer.rb:599 (+0) | |
| 0x70000b48a500: Gem::Installer#pre_install_checks in rubygems/installer.rb:834 (+19) | |
| 0x70000b48a7b0: Bundler::RubyGemsGemInstaller#pre_install_checks in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:18 (+1) | |
| 0x70000b48a9d0: Gem::Installer#install in rubygems/installer.rb:281 (+7) | |
| 0x70000b48ac10: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:143 (+172) | |
| 0x70000b48ae90: Bundler::RubygemsIntegration#preserve_paths in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:217 (+0) | |
| 0x70000b48b0a0: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:142 (+606) | |
| 0x70000b48b3a0: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x70000b48b5e0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x70000b48b860: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x70000b48bb20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x70000b48be50: Proc#call in core/proc.rb:20 (+247) | |
| 0x70000b48c050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x70000b48c250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x70000b48c4d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x70000b48c720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x70000b48c960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x70000b48cc60: Proc#call in core/proc.rb:20 (+247) |
This file contains hidden or 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
| (lldb) t 6 | |
| * thread #6, name = 'ruby.22' | |
| frame #0: 0x00007fff6e1190f0 libunwind.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getInfoFromCompactEncodingSection(unsigned long long, unsigned long long, unsigned long long) + 544 | |
| libunwind.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getInfoFromCompactEncodingSection: | |
| -> 0x7fff6e1190f0 <+544>: movl (%r12), %r8d | |
| 0x7fff6e1190f4 <+548>: testl $0x40000000, %r8d ; imm = 0x40000000 | |
| 0x7fff6e1190fb <+555>: jne 0x7fff6e119128 ; <+600> | |
| 0x7fff6e1190fd <+557>: xorl %eax, %eax | |
| (lldb) bt 15 | |
| * thread #6, name = 'ruby.22' | |
| * frame #0: 0x00007fff6e1190f0 libunwind.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::getInfoFromCompactEncodingSection(unsigned long long, unsigned long long, unsigned long long) + 544 | |
| frame #1: 0x00007fff6e118bab libunwind.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::setInfoBasedOnIPRegister(bool) + 117 | |
| frame #2: 0x00007fff6e11924b libunwind.dylib`libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::step() + 123 | |
| frame #3: 0x00007fff6e118a0e libunwind.dylib`_Unwind_RaiseException + 162 | |
| frame #4: 0x00007fff6bf0425c libc++abi.dylib`__cxa_throw + 104 | |
| frame #5: 0x000000010052bb4d libc++.1.dylib`std::__1::__throw_system_error(int, char const*) + 77 | |
| frame #6: 0x000000010051de53 libc++.1.dylib`std::__1::mutex::lock() + 29 | |
| frame #7: 0x000000010004a8a7 rbx`rubinius::CompiledCode::internalize(rubinius::State*) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=<unavailable>) at __mutex_base:108 [opt] | |
| frame #8: 0x000000010004a89f rbx`rubinius::CompiledCode::internalize(rubinius::State*) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=<unavailable>) at __mutex_base:108 [opt] | |
| frame #9: 0x000000010004a89f rbx`rubinius::CompiledCode::internalize(this=0x000000010d360580, state=0x000070000bc92ea0) at compiled_code.cpp:134 [opt] | |
| frame #10: 0x000000010003d054 rbx`rubinius::BlockEnvironment::under_call_frame(state=0x000070000bc92ea0, ccode=0x000000010d360580, caller=<unavailable>) at block_environment.cpp:509 [opt] | |
| frame #11: 0x00000001000bf81e rbx`rubinius::instructions::create_block(state=0x000070000bc92ea0, call_frame=0x000070000bc8e0b0, literal=<unavailable>) at create_block.hpp:17 [opt] | |
| frame #12: 0x00000001000bf792 rbx`rubinius::interpreter::create_block(state=0x000070000bc92ea0, call_frame=0x000070000bc8e0b0, opcodes=0x000000011200f890) at create_block.cpp:14 [opt] | |
| frame #13: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x000070000bc92ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #14: 0x000000010003be8e rbx`rubinius::BlockEnvironment::execute_interpreter(state=<unavailable>, env=<unavailable>, args=<unavailable>, invocation=<unavailable>) at block_environment.cpp:438 [opt] | |
| (lldb) f 9 | |
| frame #9: 0x000000010004a89f rbx`rubinius::CompiledCode::internalize(this=0x000000010d360580, state=0x000070000bc92ea0) at compiled_code.cpp:134 [opt] | |
| 131 timer::StopWatch<timer::microseconds> timer( | |
| 132 state->vm()->metrics().machine.bytecode_internalizer_us); | |
| 133 | |
| -> 134 std::lock_guard<std::mutex> guard(_lock_); | |
| 135 | |
| 136 if(machine_code()) { | |
| 137 return machine_code(); | |
| (lldb) p state->vm_->call_frame_->print_backtrace(state, 0, 0) | |
| 0x70000bc8e0b0: __block__ in digest/sha2.rb:19 (+19) | |
| 0x70000bc8e380: Object#__script__ in /source/rubinius/rubinius/codedb/source/digest/sha2.rb:15 (+42) | |
| 0x70000bc8e600: Rubinius::CodeLoader::Source#run_script in core/code_loader.rb:132 (+20) | |
| 0x70000bc8e7c0: Rubinius::CodeLoader::Source#load in core/code_loader.rb:119 (+80) | |
| 0x70000bc8e990: Rubinius::CodeLoader::Feature#load in core/code_loader.rb:159 (+20) | |
| 0x70000bc8eb40: Rubinius::CodeLoader#require in core/code_loader.rb:294 (+72) | |
| 0x70000bc8ed10: Kernel#gem_original_require in core/kernel.rb:852 (+38) | |
| 0x70000bc8ef60: Kernel#require in rubygems/core_ext/kernel_require.rb:59 (+175) | |
| 0x70000bc8f1d0: Digest.const_missing in rubysl/digest/digest.rb:16 (+86) | |
| 0x70000bc8f3d0: __block__ in rubysl/digest/digest.rb:99 (+9) | |
| 0x70000bc8f620: Mutex#synchronize in core/mutex.rb:64 (+12) | |
| 0x70000bc8f7d0: Object#Digest in rubysl/digest/digest.rb:97 (+28) | |
| 0x70000bc8f9b0: Bundler::SharedHelpers#digest in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/shared_helpers.rb:223 (+17) | |
| 0x70000bc8fbe0: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:51 (+6) | |
| 0x70000bc8fe50: IO.open in core/io.rb:1400 (+126) | |
| 0x70000bc90080: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x70000bc90290: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x70000bc904e0: Bundler::RubyGemsGemInstaller#validate_bundler_checksum in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:50 (+81) | |
| 0x70000bc907b0: Bundler::RubyGemsGemInstaller#pre_install_checks in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:18 (+22) | |
| 0x70000bc909d0: Gem::Installer#install in rubygems/installer.rb:281 (+7) | |
| 0x70000bc90c10: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:143 (+172) | |
| 0x70000bc90e90: Bundler::RubygemsIntegration#preserve_paths in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:217 (+0) | |
| 0x70000bc910a0: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:142 (+606) | |
| 0x70000bc913a0: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x70000bc915e0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x70000bc91860: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x70000bc91b20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x70000bc91e50: Proc#call in core/proc.rb:20 (+247) | |
| 0x70000bc92050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x70000bc92250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x70000bc924d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x70000bc92720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x70000bc92960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x70000bc92c60: Proc#call in core/proc.rb:20 (+247) |
This file contains hidden or 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
| (lldb) t 8 | |
| * thread #8, name = 'ruby.9' | |
| frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| libsystem_kernel.dylib`__psynch_mutexwait: | |
| -> 0x7fff6dfb0d1e <+10>: jae 0x7fff6dfb0d28 ; <+20> | |
| 0x7fff6dfb0d20 <+12>: movq %rax, %rdi | |
| 0x7fff6dfb0d23 <+15>: jmp 0x7fff6dfa80b8 ; cerror_nocancel | |
| 0x7fff6dfb0d28 <+20>: retq | |
| (lldb) bt 15 | |
| * thread #8, name = 'ruby.9' | |
| * frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| frame #1: 0x00007fff6e0ecbfe libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83 | |
| frame #2: 0x00007fff6e0ea551 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253 | |
| frame #3: 0x000000010051de3f libc++.1.dylib`std::__1::mutex::lock() + 9 | |
| frame #4: 0x00000001000f21a7 rbx`rubinius::memory::FinalizerThread::extension_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #5: 0x00000001000f21a2 rbx`rubinius::memory::FinalizerThread::extension_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #6: 0x00000001000f21a2 rbx`rubinius::memory::FinalizerThread::extension_finalizer(this=0x0000000101005bc0, state=0x000000010bb4c600, obj=0x00000001093be8b0, func=(rbx`rubinius::Data::finalize(rubinius::State*, rubinius::Data*) at data.cpp:113))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:286 [opt] | |
| frame #7: 0x000000010004d259 rbx`rubinius::Data::create_typed(rubinius::State*, void*, rubinius::rb_data_type_struct_shadow const*) at memory.hpp:578 [opt] | |
| frame #8: 0x000000010004d237 rbx`rubinius::Data::create_typed(state=0x000000010bb4c600, data_ptr=0x0000000000000000, type=0x000000010bef75c0) at data.cpp:82 [opt] | |
| frame #9: 0x0000000100024ab5 rbx`::rb_data_typed_object_alloc(klass=<unavailable>, ptr=0x0000000000000000, type=0x000000010bef75c0) at data.cpp:103 [opt] | |
| frame #10: 0x000000010bedfcd5 openssl.bundle`ossl_digest_alloc + 21 | |
| frame #11: 0x00000001000712be rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(rubinius::State*, rubinius::Executable*, rubinius::Module*, rubinius::Arguments&) [inlined] rubinius::ZeroArguments::invoke(state=<unavailable>, env=<unavailable>) at native_method.cpp:234 [opt] | |
| frame #12: 0x00000001000712ad rbx`rubinius::Object* rubinius::NativeMethod::executor_implementation<rubinius::ZeroArguments>(state=<unavailable>, exec=0x000000010aaa30c8, mod=0x000000010aaa2890, args=<unavailable>) at native_method.cpp:706 [opt] | |
| frame #13: 0x00000001000c1dc8 rbx`rubinius::instructions::send_method(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x000070000886bea0, args=0x000000000000374e) at call_site.hpp:313 [opt] | |
| frame #14: 0x00000001000c1dbf rbx`rubinius::instructions::send_method(state=0x000070000886bea0, call_frame=0x0000700008866fe0, literal=<unavailable>) at send_method.hpp:15 [opt] | |
| (lldb) f 6 | |
| frame #6: 0x00000001000f21a2 rbx`rubinius::memory::FinalizerThread::extension_finalizer(this=0x0000000101005bc0, state=0x000000010bb4c600, obj=0x00000001093be8b0, func=(rbx`rubinius::Data::finalize(rubinius::State*, rubinius::Data*) at data.cpp:113))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:286 [opt] | |
| 283 if(finishing_) return; | |
| 284 | |
| 285 UnmanagedPhase unmanaged(state); | |
| -> 286 std::lock_guard<std::mutex> guard(list_mutex()); | |
| 287 | |
| 288 add_finalizer(state, new ExtensionFinalizer(state, obj, func)); | |
| 289 } | |
| (lldb) p state->vm_->call_frame_->print_backtrace(state, 0, 0) | |
| 0x700008866ce0: capi:allocate at machine/capi/module.cpp | |
| 0x700008866fe0: __block__ in rubygems/package.rb:315 (+54) | |
| 0x700008867270: Array#each in core/array.rb:72 (+70) | |
| 0x700008867460: Gem::Package#digest in rubygems/package.rb:312 (+43) | |
| 0x700008867630: Gem::Package#verify_entry in rubygems/package.rb:577 (+111) | |
| 0x700008867840: __block__ in rubygems/package.rb:597 (+4) | |
| 0x700008867ab0: Gem::Package::TarReader#each in rubygems/package/tar_reader.rb:65 (+141) | |
| 0x700008867ce0: Gem::Package#verify_files in rubygems/package.rb:596 (+6) | |
| 0x700008867ec0: __block__ in rubygems/package.rb:526 (+14) | |
| 0x700008868130: Gem::Package::TarReader.new in rubygems/package/tar_reader.rb:29 (+28) | |
| 0x700008868300: __block__ in rubygems/package.rb:523 (+18) | |
| 0x700008868570: IO.open in core/io.rb:1400 (+126) | |
| 0x7000088687a0: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x700008868a30: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x700008868c10: Gem::Package#verify in rubygems/package.rb:522 (+28) | |
| 0x700008868e80: Gem::Package#spec in rubygems/package.rb:503 (+9) | |
| 0x700008869020: Gem::Installer#spec in rubygems/installer.rb:264 (+11) | |
| 0x700008869280: Gem::Installer#ensure_loadable_spec in rubygems/installer.rb:599 (+0) | |
| 0x700008869500: Gem::Installer#pre_install_checks in rubygems/installer.rb:834 (+19) | |
| 0x7000088697b0: Bundler::RubyGemsGemInstaller#pre_install_checks in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:18 (+1) | |
| 0x7000088699d0: Gem::Installer#install in rubygems/installer.rb:281 (+7) | |
| 0x700008869c10: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:143 (+172) | |
| 0x700008869e90: Bundler::RubygemsIntegration#preserve_paths in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:217 (+0) | |
| 0x70000886a0a0: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:142 (+606) | |
| 0x70000886a3a0: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x70000886a5e0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x70000886a860: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x70000886ab20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x70000886ae50: Proc#call in core/proc.rb:20 (+247) | |
| 0x70000886b050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x70000886b250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x70000886b4d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x70000886b720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x70000886b960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x70000886bc60: Proc#call in core/proc.rb:20 (+247) |
This file contains hidden or 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
| (lldb) t 9 | |
| * thread #9, name = 'ruby.10' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| libsystem_kernel.dylib`__psynch_cvwait: | |
| -> 0x7fff6dfb0cee <+10>: jae 0x7fff6dfb0cf8 ; <+20> | |
| 0x7fff6dfb0cf0 <+12>: movq %rax, %rdi | |
| 0x7fff6dfb0cf3 <+15>: jmp 0x7fff6dfa80b8 ; cerror_nocancel | |
| 0x7fff6dfb0cf8 <+20>: retq | |
| (lldb) bt 15 | |
| * thread #9, name = 'ruby.10' | |
| * frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x0000700008c6eea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x0000700008c6eea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x0000700008c6eea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x0000700008c6eea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x0000700008c6b380) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700008c6eea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000700008c6eea0, call_frame=0x0000700008c6b430, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000700008c6eea0, call_frame=0x0000700008c6b430, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700008c6eea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x0000700008c6eea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x0000700008c6b530) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700008c6eea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x0000700008c6eea0, call_frame=0x0000700008c6b5e0, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x0000700008c6eea0, call_frame=0x0000700008c6b5e0, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| (lldb) f 3 | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x0000700008c6eea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| 232 timeout = (contention_var_.wait_until(contention_lock_, &ts) == utilities::thread::cTimedOut); | |
| 233 if(timeout) break; | |
| 234 } else { | |
| -> 235 contention_var_.wait(contention_lock_); | |
| 236 } | |
| 237 | |
| 238 if(cDebugThreading) { | |
| (lldb) p state->vm_->call_frame_->print_backtrace(state, 0, 0) | |
| 0x700008c6b430: Mutex#lock in core/mutex.rb:43 (+53) | |
| 0x700008c6b5e0: Mutex#synchronize in core/mutex.rb:62 (+0) | |
| 0x700008c6b790: Object#Digest in rubysl/digest/digest.rb:97 (+28) | |
| 0x700008c6b970: Bundler::SharedHelpers#digest in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/shared_helpers.rb:223 (+17) | |
| 0x700008c6bba0: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:51 (+6) | |
| 0x700008c6be10: IO.open in core/io.rb:1400 (+126) | |
| 0x700008c6c040: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x700008c6c250: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x700008c6c4a0: Bundler::RubyGemsGemInstaller#validate_bundler_checksum in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:50 (+81) | |
| 0x700008c6c770: Bundler::RubyGemsGemInstaller#pre_install_checks in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:18 (+22) | |
| 0x700008c6c990: Gem::Installer#install in rubygems/installer.rb:281 (+7) | |
| 0x700008c6cbd0: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:143 (+172) | |
| 0x700008c6ce50: Bundler::RubygemsIntegration#preserve_paths in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:217 (+0) | |
| 0x700008c6d060: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:142 (+606) | |
| 0x700008c6d370: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x700008c6d5c0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x700008c6d850: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x700008c6db20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x700008c6de50: Proc#call in core/proc.rb:20 (+247) | |
| 0x700008c6e050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x700008c6e250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x700008c6e4d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x700008c6e720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x700008c6e960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x700008c6ec60: Proc#call in core/proc.rb:20 (+247) |
This file contains hidden or 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
| (lldb) t 10 | |
| * thread #10, name = 'Parallel Installer Worker #5' | |
| frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| libsystem_kernel.dylib`__psynch_mutexwait: | |
| -> 0x7fff6dfb0d1e <+10>: jae 0x7fff6dfb0d28 ; <+20> | |
| 0x7fff6dfb0d20 <+12>: movq %rax, %rdi | |
| 0x7fff6dfb0d23 <+15>: jmp 0x7fff6dfa80b8 ; cerror_nocancel | |
| 0x7fff6dfb0d28 <+20>: retq | |
| (lldb) bt 15 | |
| * thread #10, name = 'Parallel Installer Worker #5' | |
| * frame #0: 0x00007fff6dfb0d1e libsystem_kernel.dylib`__psynch_mutexwait + 10 | |
| frame #1: 0x00007fff6e0ecbfe libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83 | |
| frame #2: 0x00007fff6e0ea551 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253 | |
| frame #3: 0x000000010051de3f libc++.1.dylib`std::__1::mutex::lock() + 9 | |
| frame #4: 0x00000001000f2057 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #5: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(rubinius::State*, rubinius::Object*, void (*)(rubinius::State*, rubinius::Object*)) [inlined] std::__1::lock_guard<std::__1::mutex>::lock_guard(__m=0x0000000101005c08) at __mutex_base:108 [opt] | |
| frame #6: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(this=0x0000000101005bc0, state=0x0000000103cbbd20, obj=0x00000001093e7618, func=(rbx`rubinius::Pointer::finalize(rubinius::State*, rubinius::Pointer*) at ffi_pointer.cpp:139))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:277 [opt] | |
| frame #7: 0x000000010005970a rbx`rubinius::Pointer::set_autorelease(rubinius::State*, rubinius::Object*) at memory.hpp:572 [opt] | |
| frame #8: 0x00000001000596eb rbx`rubinius::Pointer::set_autorelease(this=0x00000001093e7618, state=<unavailable>, val=0x0000000000000012) at ffi_pointer.cpp:118 [opt] | |
| frame #9: 0x0000000100110af2 rbx`rubinius::Primitives::pointer_set_autorelease(state=0x0000000103cbbd20, exec=0x00000001098b2fa0, mod=0x000000010280b160, args=0x000070000946e020) at method_primitives.hpp:10819 [opt] | |
| frame #10: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000000103cbbd20, args=0x0000000000007806) at call_site.hpp:313 [opt] | |
| frame #11: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000000103cbbd20, call_frame=0x000070000946e0d0, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #12: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000000103cbbd20, call_frame=0x000070000946e0d0, opcodes=0x0000000101a0c400) at send_stack.cpp:9 [opt] | |
| frame #13: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000000103cbbd20, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #14: 0x00000001000e8624 rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::GenericArguments>(state=0x0000000103cbbd20, exec=0x00000001098b02a0, mod=<unavailable>, args=0x000070000946e260) at machine_code.cpp:697 [opt] | |
| (lldb) f 6 | |
| frame #6: 0x00000001000f2052 rbx`rubinius::memory::FinalizerThread::native_finalizer(this=0x0000000101005bc0, state=0x0000000103cbbd20, obj=0x00000001093e7618, func=(rbx`rubinius::Pointer::finalize(rubinius::State*, rubinius::Pointer*) at ffi_pointer.cpp:139))(rubinius::State*, rubinius::Object*)) at finalizer.cpp:277 [opt] | |
| 274 if(finishing_) return; | |
| 275 | |
| 276 UnmanagedPhase unmanaged(state); | |
| -> 277 std::lock_guard<std::mutex> guard(list_mutex()); | |
| 278 | |
| 279 add_finalizer(state, new NativeFinalizer(state, obj, func)); | |
| 280 } | |
| (lldb) p state->vm_->call_frame_->print_backtrace(state, 0, 0) | |
| 0x70000946e0d0: Rubinius::FFI::MemoryPointer.new in core/pointer.rb:336 (+253) | |
| 0x70000946e310: IO::FileDescriptor#read in core/io.rb:256 (+66) | |
| 0x70000946e510: IO::BufferedFileDescriptor#read in core/io.rb:611 (+112) | |
| 0x70000946e700: IO#read_if_available in core/io.rb:2824 (+339) | |
| 0x70000946e930: IO#read_nonblock in core/io.rb:2865 (+181) | |
| 0x70000946eb80: __block__ in core/io.rb:2769 (+12) | |
| 0x70000946ede0: IO#emulate_blocking_read in core/io.rb:3506 (+7) | |
| 0x70000946efa0: IO#read in core/io.rb:2768 (+106) | |
| 0x70000946f190: Gem::Package::TarReader::Entry#readpartial in rubygems/package/tar_reader/entry.rb:134 (+99) | |
| 0x70000946f830: capi:read at zlib.c | |
| 0x70000946fb30: __block__ in rubygems/package.rb:615 (+12) | |
| 0x70000946ff30: capi:wrap at zlib.c | |
| 0x700009470230: Gem::Package#verify_gz in rubygems/package.rb:614 (+21) | |
| 0x700009470420: Gem::Package#verify_entry in rubygems/package.rb:584 (+182) | |
| 0x700009470630: __block__ in rubygems/package.rb:597 (+4) | |
| 0x7000094708a0: Gem::Package::TarReader#each in rubygems/package/tar_reader.rb:65 (+141) | |
| 0x700009470b50: Gem::Package#verify_files in rubygems/package.rb:596 (+6) | |
| 0x700009470db0: __block__ in rubygems/package.rb:526 (+14) | |
| 0x700009471020: Gem::Package::TarReader.new in rubygems/package/tar_reader.rb:29 (+28) | |
| 0x700009471260: __block__ in rubygems/package.rb:523 (+18) | |
| 0x7000094714d0: IO.open in core/io.rb:1400 (+126) | |
| 0x700009471700: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x700009471980: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x700009471bd0: Gem::Package#verify in rubygems/package.rb:522 (+28) | |
| 0x700009471e30: Gem::Package#spec in rubygems/package.rb:503 (+9) | |
| 0x700009472040: Gem::Installer#spec in rubygems/installer.rb:264 (+11) | |
| 0x700009472290: Gem::Installer#ensure_loadable_spec in rubygems/installer.rb:599 (+0) | |
| 0x700009472500: Gem::Installer#pre_install_checks in rubygems/installer.rb:834 (+19) | |
| 0x7000094727b0: Bundler::RubyGemsGemInstaller#pre_install_checks in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:18 (+1) | |
| 0x7000094729d0: Gem::Installer#install in rubygems/installer.rb:281 (+7) | |
| 0x700009472c10: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:143 (+172) | |
| 0x700009472e90: Bundler::RubygemsIntegration#preserve_paths in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:217 (+0) | |
| 0x7000094730a0: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:142 (+606) | |
| 0x7000094733a0: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x7000094735e0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x700009473860: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x700009473b20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x700009473e50: Proc#call in core/proc.rb:20 (+247) | |
| 0x700009474050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x700009474250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x7000094744d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x700009474720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x700009474960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x700009474c60: Proc#call in core/proc.rb:20 (+247) |
This file contains hidden or 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
| (lldb) t 11 | |
| * thread #11, name = 'ruby.13' | |
| frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| libsystem_kernel.dylib`__psynch_cvwait: | |
| -> 0x7fff6dfb0cee <+10>: jae 0x7fff6dfb0cf8 ; <+20> | |
| 0x7fff6dfb0cf0 <+12>: movq %rax, %rdi | |
| 0x7fff6dfb0cf3 <+15>: jmp 0x7fff6dfa80b8 ; cerror_nocancel | |
| 0x7fff6dfb0cf8 <+20>: retq | |
| (lldb) bt 15 | |
| * thread #11, name = 'ruby.13' | |
| * frame #0: 0x00007fff6dfb0cee libsystem_kernel.dylib`__psynch_cvwait + 10 | |
| frame #1: 0x00007fff6e0ed662 libsystem_pthread.dylib`_pthread_cond_wait + 732 | |
| frame #2: 0x00000001000ed65d rbx`rubinius::Memory::contend_for_lock(rubinius::State*, rubinius::ObjectHeader*, unsigned long, bool) [inlined] rubinius::utilities::thread::Condition::wait(mutex=0x0000000102000110) at thread.hpp:453 [opt] | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x0000700009877ea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| frame #4: 0x00000001000f4328 rbx`rubinius::ObjectHeader::lock(this=<unavailable>, state=0x0000700009877ea0, us=0, interrupt=<unavailable>) at header.cpp:420 [opt] | |
| frame #5: 0x0000000100094e8c rbx`rubinius::System::vm_object_lock(state=0x0000700009877ea0, obj=<unavailable>) at system.cpp:1513 [opt] | |
| frame #6: 0x0000000100118c61 rbx`rubinius::Primitives::vm_object_lock(state=0x0000700009877ea0, exec=0x0000000102e85db0, mod=0x0000000102859d98, args=0x0000700009874380) at method_primitives.hpp:15393 [opt] | |
| frame #7: 0x00000001000c1eb3 rbx`rubinius::instructions::send_stack(rubinius::State*, rubinius::CallFrame*, long, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700009877ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #8: 0x00000001000c1ead rbx`rubinius::instructions::send_stack(state=0x0000700009877ea0, call_frame=0x0000700009874430, literal=<unavailable>, count=<unavailable>) at send_stack.hpp:16 [opt] | |
| frame #9: 0x00000001000c1e26 rbx`rubinius::interpreter::send_stack(state=0x0000700009877ea0, call_frame=0x0000700009874430, opcodes=0x0000000101a1f000) at send_stack.cpp:9 [opt] | |
| frame #10: 0x00000001000be670 rbx`rubinius::Interpreter::execute(state=0x0000700009877ea0, machine_code=<unavailable>) at interpreter.cpp:288 [opt] | |
| frame #11: 0x00000001000e88bc rbx`rubinius::Object* rubinius::MachineCode::execute_specialized<rubinius::NoArguments>(state=0x0000700009877ea0, exec=0x00000001098f9ef0, mod=<unavailable>, args=0x0000700009874530) at machine_code.cpp:697 [opt] | |
| frame #12: 0x00000001000c2422 rbx`rubinius::instructions::send_vcall(rubinius::State*, rubinius::CallFrame*, long) [inlined] rubinius::CallSite::execute(this=<unavailable>, state=0x0000700009877ea0, args=0x00000000000072e6) at call_site.hpp:313 [opt] | |
| frame #13: 0x00000001000c241c rbx`rubinius::instructions::send_vcall(state=0x0000700009877ea0, call_frame=0x00007000098745e0, literal=<unavailable>) at send_vcall.hpp:12 [opt] | |
| frame #14: 0x00000001000c23b3 rbx`rubinius::interpreter::send_vcall(state=0x0000700009877ea0, call_frame=0x00007000098745e0, opcodes=0x00000001016f0080) at send_vcall.cpp:8 [opt] | |
| (lldb) f 3 | |
| frame #3: 0x00000001000ed650 rbx`rubinius::Memory::contend_for_lock(this=0x0000000102000158, state=0x0000700009877ea0, obj=<unavailable>, us=0, interrupt=<unavailable>) at memory.cpp:235 [opt] | |
| 232 timeout = (contention_var_.wait_until(contention_lock_, &ts) == utilities::thread::cTimedOut); | |
| 233 if(timeout) break; | |
| 234 } else { | |
| -> 235 contention_var_.wait(contention_lock_); | |
| 236 } | |
| 237 | |
| 238 if(cDebugThreading) { | |
| (lldb) p state->vm_->call_frame_->print_backtrace(state, 0, 0) | |
| 0x700009874430: Mutex#lock in core/mutex.rb:43 (+53) | |
| 0x7000098745e0: Mutex#synchronize in core/mutex.rb:62 (+0) | |
| 0x700009874790: Object#Digest in rubysl/digest/digest.rb:97 (+28) | |
| 0x700009874970: Bundler::SharedHelpers#digest in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/shared_helpers.rb:223 (+17) | |
| 0x700009874ba0: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:51 (+6) | |
| 0x700009874e10: IO.open in core/io.rb:1400 (+126) | |
| 0x700009875040: Kernel#open in core/kernel.rb:657 (+456) | |
| 0x700009875250: Gem::Package::FileSource#with_read_io in rubygems/package/file_source.rb:30 (+33) | |
| 0x7000098754a0: Bundler::RubyGemsGemInstaller#validate_bundler_checksum in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:50 (+81) | |
| 0x700009875770: Bundler::RubyGemsGemInstaller#pre_install_checks in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_gem_installer.rb:18 (+22) | |
| 0x700009875990: Gem::Installer#install in rubygems/installer.rb:281 (+7) | |
| 0x700009875bd0: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:143 (+172) | |
| 0x700009875e50: Bundler::RubygemsIntegration#preserve_paths in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/rubygems_integration.rb:217 (+0) | |
| 0x700009876060: Bundler::Source::Rubygems#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/source/rubygems.rb:142 (+606) | |
| 0x700009876370: Bundler::GemInstaller#install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:56 (+70) | |
| 0x7000098765c0: Bundler::GemInstaller#install_from_spec in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/gem_installer.rb:16 (+19) | |
| 0x700009876850: Bundler::ParallelInstaller#do_install in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:162 (+86) | |
| 0x700009876b20: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/installer/parallel_installer.rb:153 (+6) | |
| 0x700009876e50: Proc#call in core/proc.rb:20 (+247) | |
| 0x700009877050: Bundler::Worker#apply_func in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:64 (+15) | |
| 0x700009877250: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:59 (+45) | |
| 0x7000098774d0: Kernel#loop in core/kernel.rb:586 (+32) | |
| 0x700009877720: Bundler::Worker#process_queue in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:56 (+6) | |
| 0x700009877960: __block__ in /source/rubinius/rubinius/gems/gems/bundler-1.16.1/lib/bundler/worker.rb:90 (+7) | |
| 0x700009877c60: Proc#call in core/proc.rb:20 (+247) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment