Project

General

Profile

Bug #13594

Segfault in gc_sweep_step 2.4.1

Added by sax (Eric Saxby) over 2 years ago. Updated 29 days ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
[ruby-core:81360]

Description

In ruby 2.4.1 I am seeing segfaults in gc_sweep_step. These do not occur when I use the same commands in ruby 2.3.4.

These are accompanied by error messages such as the following:

error for object 0x1: pointer being freed was not allocated
EXC_BAD_ACCESS (code=1, address=0x1)

They are all happening during an RSpec run while we are trying to update our application from Rails 4.2.8 to 5.1.1. The ruby stack traces happen at different locations, but always in pure ruby. The C stack traces all occur during garbage collection. I'm currently searching through all of my gems to see if any allocate memory in extensions in an unsafe manner, but nothing is jumping out yet. I'm trying to create a simple reproduction case now.

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x00007fffd1be6d42 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fffd1be6d42 <+10>: jae    0x7fffd1be6d4c            ; <+20>
    0x7fffd1be6d44 <+12>: movq   %rax, %rdi
    0x7fffd1be6d47 <+15>: jmp    0x7fffd1bdfcaf            ; cerror_nocancel
    0x7fffd1be6d4c <+20>: retq
call (void)rb_backtrace()

from /Users/sax/.gem/ruby/2.4.1/bin/bundle:22:in `<main>'
from /Users/sax/.gem/ruby/2.4.1/bin/bundle:22:in `load'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/exe/bundle:24:in `<top (required)>'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/exe/bundle:32:in `block in <top (required)>'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/cli.rb:11:in `start'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/cli.rb:20:in `dispatch'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/cli.rb:335:in `exec'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:27:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
from /Users/sax/.gem/ruby/2.4.1/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `load'
from /Users/sax/.gem/ruby/2.4.1/bin/rspec:22:in `<top (required)>'
from /Users/sax/.gem/ruby/2.4.1/bin/rspec:22:in `load'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/exe/rspec:4:in `<top (required)>'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:45:in `invoke'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:71:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:87:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:112:in `run_specs'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/reporter.rb:79:in `report'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:113:in `block in run_specs'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/configuration.rb:1894:in `with_suite_hooks'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:118:in `block (2 levels) in run_specs'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:118:in `map'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/runner.rb:118:in `block (3 levels) in run_specs'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:590:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:590:in `map'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:590:in `block in run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:589:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:623:in `run_examples'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:623:in `map'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example_group.rb:627:in `block in run_examples'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:251:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:500:in `with_around_and_singleton_context_hooks'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:457:in `with_around_example_hooks'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:464:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:607:in `run_around_example_hooks_for'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:342:in `call'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:375:in `execute_with'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
from /Users/sax/workspace/project/spec/support/database_cleaner.rb:5:in `block (2 levels) in <top (required)>'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:342:in `call'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:375:in `execute_with'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
from /Users/sax/workspace/project/spec/support/database_cleaner.rb:9:in `block (2 levels) in <top (required)>'
from /Users/sax/.gem/ruby/2.4.1/gems/database_cleaner-1.6.1/lib/database_cleaner/configuration.rb:87:in `cleaning'
from /Users/sax/.gem/ruby/2.4.1/gems/database_cleaner-1.6.1/lib/database_cleaner/configuration.rb:86:in `block (2 levels) in cleaning'
from /Users/sax/.gem/ruby/2.4.1/gems/database_cleaner-1.6.1/lib/database_cleaner/base.rb:98:in `cleaning'
from /Users/sax/.gem/ruby/2.4.1/gems/database_cleaner-1.6.1/lib/database_cleaner/generic/base.rb:16:in `cleaning'
from /Users/sax/workspace/project/spec/support/database_cleaner.rb:10:in `block (3 levels) in <top (required)>'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:342:in `call'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:375:in `execute_with'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-rails-3.6.0/lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:342:in `call'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:604:in `block in run_around_example_hooks_for'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:464:in `block in run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:457:in `block in with_around_example_hooks'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:500:in `block in with_around_and_singleton_context_hooks'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:273:in `block in run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:507:in `run_after_example'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:463:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:592:in `run_example_hooks_for'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:592:in `each'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:593:in `block in run_example_hooks_for'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:506:in `run_owned_hooks_for'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:506:in `each'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:507:in `block in run_owned_hooks_for'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/hooks.rb:357:in `run'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
from /Users/sax/.gem/ruby/2.4.1/gems/rspec-core-3.6.0/lib/rspec/core/example.rb:447:in `instance_exec'
from /Users/sax/workspace/project/spec/support/elasticsearch.rb:100:in `block (2 levels) in <top (required)>'
from /Users/sax/workspace/project/spec/support/elasticsearch.rb:100:in `each'
from /Users/sax/workspace/project/spec/support/elasticsearch.rb:102:in `block (3 levels) in <top (required)>'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/model.rb:70:in `searchkick_reindex'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:244:in `reindex_scope'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:275:in `import_scope'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/batches.rb:128:in `find_in_batches'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/batches.rb:214:in `in_batches'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/batches.rb:214:in `loop'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/batches.rb:230:in `block in in_batches'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/batches.rb:129:in `block in find_in_batches'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:276:in `block in import_scope'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:410:in `import_or_update'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:473:in `with_retries'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:411:in `block in import_or_update'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/logging.rb:72:in `bulk_index'
from /Users/sax/.gem/ruby/2.4.1/gems/activesupport-5.1.1/lib/active_support/notifications.rb:166:in `instrument'
from /Users/sax/.gem/ruby/2.4.1/gems/activesupport-5.1.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
from /Users/sax/.gem/ruby/2.4.1/gems/activesupport-5.1.1/lib/active_support/notifications.rb:166:in `block in instrument'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/logging.rb:73:in `block in bulk_index'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:88:in `bulk_index'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:484:in `bulk_index_helper'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:484:in `map'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:484:in `block in bulk_index_helper'
from /Users/sax/.gem/ruby/2.4.1/gems/searchkick-2.1.1/lib/searchkick/index.rb:331:in `search_data'
from /Users/sax/workspace/project/app/models/thing.rb:342:in `search_data'
from /Users/sax/workspace/project/app/models/concerns/scorable.rb:35:in `display_score'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/delegation.rb:68:in `with_kind'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/associations/collection_proxy.rb:1126:in `scoping'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/associations/collection_proxy.rb:958:in `scope'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/associations/collection_association.rb:284:in `scope'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/associations/association.rb:86:in `scope'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/associations/association.rb:97:in `association_scope'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/associations/association_scope.rb:5:in `scope'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/associations/association_scope.rb:28:in `scope'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/associations/association_scope.rb:126:in `add_constraints'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/associations/association_scope.rb:69:in `last_chain_scope'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/query_methods.rb:605:in `where'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/query_methods.rb:612:in `where!'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/where_clause_factory.rb:22:in `build'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/predicate_builder.rb:29:in `build_from_hash'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/predicate_builder.rb:76:in `expand_from_hash'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/predicate_builder.rb:76:in `flat_map'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/predicate_builder.rb:76:in `each'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/predicate_builder.rb:78:in `block in expand_from_hash'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/relation/predicate_builder.rb:134:in `associated_predicate_builder'
from /Users/sax/.gem/ruby/2.4.1/gems/activerecord-5.1.1/lib/active_record/table_metadata.rb:47:in `associated_table'
from /Users/sax/.gem/ruby/2.4.1/gems/activesupport-5.1.1/lib/active_support/core_ext/string/inflections.rb:55:in `singularize'
from /Users/sax/.gem/ruby/2.4.1/gems/activesupport-5.1.1/lib/active_support/inflector/methods.rb:48:in `singularize'
from /Users/sax/.gem/ruby/2.4.1/gems/activesupport-5.1.1/lib/active_support/inflector/methods.rb:386:in `apply_inflections'
from /Users/sax/.gem/ruby/2.4.1/gems/activesupport-5.1.1/lib/active_support/inflector/methods.rb:386:in `each'
from /Users/sax/.gem/ruby/2.4.1/gems/activesupport-5.1.1/lib/active_support/inflector/methods.rb:386:in `block in apply_inflections'

backtrace
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fffd1be6d42 libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fffd1cd4457 libsystem_pthread.dylib`pthread_kill + 90
    frame #2: 0x00007fffd1b4c420 libsystem_c.dylib`abort + 129
    frame #3: 0x00007fffd1c3bfe7 libsystem_malloc.dylib`free + 530
    frame #4: 0x000000010007b71a ruby`ruby_xfree + 58
    frame #5: 0x000000010017516d ruby`rb_id_table_free + 29
    frame #6: 0x0000000100088022 ruby`obj_free + 274
    frame #7: 0x000000010008796c ruby`gc_sweep_step + 524
    frame #8: 0x0000000100086668 ruby`newobj_slowpath + 888
    frame #9: 0x00000001000862c4 ruby`newobj_slowpath_wb_protected + 20
    frame #10: 0x00000001001a6303 ruby`vm_exec_core + 16323
    frame #11: 0x00000001001b5334 ruby`vm_exec + 116
    frame #12: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #13: 0x00000001001b058e ruby`rb_yield + 142
    frame #14: 0x0000000100003cb9 ruby`rb_ary_each + 41
    frame #15: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #16: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #17: 0x00000001001b5334 ruby`vm_exec + 116
    frame #18: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #19: 0x00000001001b082a ruby`rb_yield_values2 + 74
    frame #20: 0x000000010005da34 ruby`flat_map_i + 20
    frame #21: 0x00000001001c1fa4 ruby`invoke_block_from_c_splattable + 964
    frame #22: 0x00000001001b058e ruby`rb_yield + 142
    frame #23: 0x0000000100093221 ruby`each_pair_i + 17
    frame #24: 0x0000000100092553 ruby`hash_foreach_iter + 51
    frame #25: 0x000000010014fa76 ruby`st_general_foreach + 662
    frame #26: 0x000000010008bc62 ruby`hash_foreach_call + 34
    frame #27: 0x000000010006f6f4 ruby`rb_ensure + 164
    frame #28: 0x000000010008f5fa ruby`rb_hash_each_pair + 154
    frame #29: 0x00000001001c0e4e ruby`vm_call0_body + 526
    frame #30: 0x00000001001c1aed ruby`rb_call0 + 205
    frame #31: 0x00000001001b0b9b ruby`rb_iterate0 + 299
    frame #32: 0x00000001001b0c3e ruby`rb_block_call + 94
    frame #33: 0x000000010005aff6 ruby`enum_flat_map + 54
    frame #34: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #35: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #36: 0x00000001001b5334 ruby`vm_exec + 116
    frame #37: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #38: 0x00000001001b058e ruby`rb_yield + 142
    frame #39: 0x0000000100009285 ruby`rb_ary_collect + 245
    frame #40: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #41: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #42: 0x00000001001b5334 ruby`vm_exec + 116
    frame #43: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #44: 0x00000001001c2d73 ruby`loop_i + 35
    frame #45: 0x000000010006f393 ruby`rb_rescue2 + 275
    frame #46: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #47: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #48: 0x00000001001b5334 ruby`vm_exec + 116
    frame #49: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #50: 0x00000001001b058e ruby`rb_yield + 142
    frame #51: 0x0000000100003cb9 ruby`rb_ary_each + 41
    frame #52: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #53: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #54: 0x00000001001b5334 ruby`vm_exec + 116
    frame #55: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #56: 0x00000001001b1d81 ruby`yield_under + 929
    frame #57: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #58: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #59: 0x00000001001b5334 ruby`vm_exec + 116
    frame #60: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #61: 0x00000001001b058e ruby`rb_yield + 142
    frame #62: 0x0000000100003cb9 ruby`rb_ary_each + 41
    frame #63: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #64: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #65: 0x00000001001b5334 ruby`vm_exec + 116
    frame #66: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #67: 0x00000001001b058e ruby`rb_yield + 142
    frame #68: 0x0000000100003cb9 ruby`rb_ary_each + 41
    frame #69: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #70: 0x00000001001bb59f ruby`vm_call_opt_send + 607
    frame #71: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #72: 0x00000001001b5334 ruby`vm_exec + 116
    frame #73: 0x00000001001b3c07 ruby`vm_invoke_proc + 279
    frame #74: 0x00000001001bb9df ruby`vm_call_opt_call + 159
    frame #75: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #76: 0x00000001001b5334 ruby`vm_exec + 116
    frame #77: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #78: 0x00000001001b1d81 ruby`yield_under + 929
    frame #79: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #80: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #81: 0x00000001001b5334 ruby`vm_exec + 116
    frame #82: 0x00000001001b3c07 ruby`vm_invoke_proc + 279
    frame #83: 0x00000001001bb9df ruby`vm_call_opt_call + 159
    frame #84: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #85: 0x00000001001b5334 ruby`vm_exec + 116
    frame #86: 0x00000001001b3c07 ruby`vm_invoke_proc + 279
    frame #87: 0x00000001001bb9df ruby`vm_call_opt_call + 159
    frame #88: 0x00000001001a5000 ruby`vm_exec_core + 11456
    frame #89: 0x00000001001b5334 ruby`vm_exec + 116
    frame #90: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #91: 0x00000001001b1d81 ruby`yield_under + 929
    frame #92: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #93: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #94: 0x00000001001b5334 ruby`vm_exec + 116
    frame #95: 0x00000001001b3c07 ruby`vm_invoke_proc + 279
    frame #96: 0x00000001001bb9df ruby`vm_call_opt_call + 159
    frame #97: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #98: 0x00000001001b5334 ruby`vm_exec + 116
    frame #99: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #100: 0x00000001001b1d81 ruby`yield_under + 929
    frame #101: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #102: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #103: 0x00000001001b5334 ruby`vm_exec + 116
    frame #104: 0x00000001001b3c07 ruby`vm_invoke_proc + 279
    frame #105: 0x00000001001bb9df ruby`vm_call_opt_call + 159
    frame #106: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #107: 0x00000001001b5334 ruby`vm_exec + 116
    frame #108: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #109: 0x00000001001b058e ruby`rb_yield + 142
    frame #110: 0x0000000100009285 ruby`rb_ary_collect + 245
    frame #111: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #112: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #113: 0x00000001001b5334 ruby`vm_exec + 116
    frame #114: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #115: 0x00000001001b058e ruby`rb_yield + 142
    frame #116: 0x0000000100009285 ruby`rb_ary_collect + 245
    frame #117: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #118: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #119: 0x00000001001b5334 ruby`vm_exec + 116
    frame #120: 0x00000001001c1dc5 ruby`invoke_block_from_c_splattable + 485
    frame #121: 0x00000001001b058e ruby`rb_yield + 142
    frame #122: 0x0000000100009285 ruby`rb_ary_collect + 245
    frame #123: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #124: 0x00000001001a48f6 ruby`vm_exec_core + 9654
    frame #125: 0x00000001001b5334 ruby`vm_exec + 116
    frame #126: 0x00000001000b0fd3 ruby`rb_load_internal0 + 291
    frame #127: 0x00000001000b1e4a ruby`rb_f_load + 170
    frame #128: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #129: 0x00000001001a5000 ruby`vm_exec_core + 11456
    frame #130: 0x00000001001b5334 ruby`vm_exec + 116
    frame #131: 0x00000001000b0fd3 ruby`rb_load_internal0 + 291
    frame #132: 0x00000001000b1e4a ruby`rb_f_load + 170
    frame #133: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #134: 0x00000001001a5000 ruby`vm_exec_core + 11456
    frame #135: 0x00000001001b5334 ruby`vm_exec + 116
    frame #136: 0x00000001000b0fd3 ruby`rb_load_internal0 + 291
    frame #137: 0x00000001000b1e4a ruby`rb_f_load + 170
    frame #138: 0x00000001001ba590 ruby`vm_call_cfunc + 272
    frame #139: 0x00000001001a5000 ruby`vm_exec_core + 11456
    frame #140: 0x00000001001b5334 ruby`vm_exec + 116
    frame #141: 0x000000010006e658 ruby`ruby_exec_internal + 136
    frame #142: 0x000000010006e576 ruby`ruby_run_node + 54
    frame #143: 0x000000010000135f ruby`main + 79
    frame #144: 0x00007fffd1ab8235 libdyld.dylib`start + 1
    frame #145: 0x00007fffd1ab8235 libdyld.dylib`start + 1

Files

Gemfile.lock (17.2 KB) Gemfile.lock sax (Eric Saxby), 05/23/2017 07:23 PM

Related issues

Related to Ruby master - Bug #13305: Occasional segfaults after defining methods while running coverageClosedActions

History

Updated by sax (Eric Saxby) over 2 years ago

This seems to be caused by some interaction with the simplecov gem. I don't understand why, yet, and I have not yet been able to create a simple reproduction case.

Updated by wanabe (_ wanabe) over 2 years ago

I've found a similar result. https://travis-ci.org/sferik/rails_admin/jobs/124039186
This issue seems to be related #13305 and fixed at r57971.
Could you try latest trunk ruby or patched 2.4 with r57971?

#4

Updated by wanabe (_ wanabe) over 2 years ago

  • Related to Bug #13305: Occasional segfaults after defining methods while running coverage added
#5

Updated by jeremyevans0 (Jeremy Evans) 29 days ago

  • Status changed from Open to Closed

Also available in: Atom PDF