Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault with ruby-2.6.3 #808

Closed
cesarizu opened this issue May 7, 2019 · 48 comments · Fixed by #821 or #884
Closed

Segmentation fault with ruby-2.6.3 #808

cesarizu opened this issue May 7, 2019 · 48 comments · Fixed by #821 or #884
Assignees
Labels
bug A bug in the library or documentation. high-priority Should be done ASAP.

Comments

@cesarizu
Copy link

cesarizu commented May 7, 2019

When updating an app to run with ruby 2.6.3 (from 2.4.4) I get the following error:

/home/user/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/ruby_thread_local_var.rb:87: [BUG] Segmentation fault at 0x000000002222002d
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0002 p:0006 s:0007 e:000005 BLOCK  /home/user/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/ruby_thread_local_var. [FINISH]
c:0001 p:---- s:0003 e:000002 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/home/user/.rvm/gems/ruby-2.6.3@project/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/ruby_thread_local_var.rb:87:in `block (2 levels) in threadlocal_finalizer'

-- Machine register context ------------------------------------------------
 RIP: 0x00007fde9b71bf49 RBP: 0x0000000000021deb RSP: 0x00007fde97cb77e8
 RAX: 0x000000000b275620 RBX: 0x0000000001719630 RCX: 0x000000002222002d
 RDX: 0x0000000000000000 RDI: 0x000000000b275620 RSI: 0x000000000a667f70
  R8: 0x0000000001718d50  R9: 0x0000000001719618 R10: 0x0000000000000008
 R11: 0x000000000a568038 R12: 0x000000000b2750f0 R13: 0x000000000a567ff8
 R14: 0x0000000001719640 R15: 0x000000000a667f70 EFL: 0x0000000000010206

-- C level backtrace information -------------------------------------------

I tried using Concurrent.use_stdlib_logger(Logger::DEBUG) to get more information but nothing else is printed to the console. How can I start debugging this problem?

* Operating system:                linux
* Ruby implementation:             Ruby 2.6.3
* `concurrent-ruby` version:       1.1.5
* `concurrent-ruby-ext` installed: no
* `concurrent-ruby-edge` used:     no
@mwsteb
Copy link

mwsteb commented Aug 5, 2019

Not sure if this should be a separate issue or not, but I'm here to report that it happens on Ruby 2.5.5p157 as well. Here's the trace:

/Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322: [BUG] Segmentation fault at 0x000000010992aa3a
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin18]

-- Crash Report log information --------------------------------------------
   See Crash Report log file under the one of following:
     * ~/Library/Logs/DiagnosticReports
     * /Library/Logs/DiagnosticReports
   for more details.
Don't forget to include the above Crash Report log file in bug reports.

-- Control frame information -----------------------------------------------
c:0007 p:---- s:0032 e:000031 CFUNC  :pop
c:0006 p:0007 s:0028 e:000027 BLOCK  /Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor [FINISH]
c:0005 p:---- s:0022 e:000021 CFUNC  :loop
c:0004 p:0006 s:0018 e:000017 BLOCK  /Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor [FINISH]
c:0003 p:---- s:0015 e:000014 CFUNC  :catch
c:0002 p:0020 s:0010 e:000009 BLOCK  /Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor [FINISH]
c:0001 p:---- s:0003 e:000002 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
/Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
/Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
/Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
/Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `block (3 levels) in create_worker'
/Users/m/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:322:in `pop'

-- Machine register context ------------------------------------------------
 rax: 0x0000000000000000 rbx: 0x00007fe466262660 rcx: 0x0000000000010000
 rdx: 0x00007ffee6a5ad80 rdi: 0x000000010992aa38 rsi: 0x00007fe466262660
 rbp: 0x00007ffee6a5ad70 rsp: 0x00007ffee6a5ad38  r8: 0x0000000000000000
  r9: 0x000000000000800a r10: 0x0000000000000000 r11: 0xffffffff7f5896a8
 r12: 0x00007fe466262670 r13: 0x00007fff9f733f20 r14: 0x00007fff68fbbe30
 r15: 0x00007ffee6a5ad80 rip: 0x00007fff68fbbe34 rfl: 0x0000000000010206

-- C level backtrace information -------------------------------------------
0   ruby                                0x00000001093a4158 rb_vm_bugreport + 136
1   ruby                                0x000000010921a973 rb_bug_context + 467
2   ruby                                0x0000000109311e11 sigsegv + 81
3   libsystem_platform.dylib            0x00007fff68f98b5d _sigtramp + 29
4   libsystem_trace.dylib               0x00007fff68fbbe34 _os_log_cmp_key + 4

-- Other runtime information -----------------------------------------------

* Loaded script: rails_test
* Operating system:                macOS 10.14.5 (18F132)
* Ruby implementation:             Ruby 2.5.5p157
* `concurrent-ruby` version:       1.1.5
* `concurrent-ruby-ext` installed: no
* `concurrent-ruby-edge` used:     no

@cesarizu
Copy link
Author

After some testing it seems that this commit is the culprit: eb81fff "avoid "can't be called from trap context" errors in ThreadLocalVar". Reverting that commit fixes the problem.

@pitr-ch pitr-ch added bug A bug in the library or documentation. high-priority Should be done ASAP. labels Aug 24, 2019
@pitr-ch pitr-ch added this to Important in Hackathon Aug 24, 2019
@pitr-ch
Copy link
Member

pitr-ch commented Aug 24, 2019

Thank you for reporting and finding out the commit, it is a big help.

@rubenfonseca
Copy link

We're also seeing this problem with ruby-2.6.3.

@dmtask
Copy link

dmtask commented Aug 27, 2019

Same Problem here.

@pitr-ch
Copy link
Member

pitr-ch commented Aug 27, 2019

I'll look into this as soon as possible.

@dmtask
Copy link

dmtask commented Aug 28, 2019

@pitr-ch Thank you. :)

@pitr-ch pitr-ch moved this from New to In Progress in ruby-concurrency/concurrent-ruby Aug 28, 2019
@pitr-ch
Copy link
Member

pitr-ch commented Aug 28, 2019

I do not have a reproducer, however, I've spotted potentially dangerous array access in the code which is fixed in #821, please try it and let me know if the issue goes away. Thanks.

@dmtask
Copy link

dmtask commented Sep 2, 2019

We were able to avoid the mistake and solved it differently. I still try to test the bugfix as fast as possible.

@pitr-ch
Copy link
Member

pitr-ch commented Sep 3, 2019

Thank you @dmtask!

@dmtask
Copy link

dmtask commented Sep 5, 2019

For me, it works.

@davidw
Copy link

davidw commented Sep 5, 2019

I am getting segfaults and some of them show this:

/home/davidw/.rvm/gems/ruby-2.6.4/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/ruby_thread_local_var.rb:87: [BUG] Segmentation fault at 0x000000002222000d
ruby 2.6.4p104 (2019-08-28 revision 67798) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0002 p:0006 s:0008 e:000006 BLOCK  /home/davidw/.rvm/gems/ruby-2.6.4/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/ruby_thread_local_var.rb:87 [FINISH]
c:0001 p:---- s:0003 e:000002 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/home/davidw/.rvm/gems/ruby-2.6.4/gems/concurrent-ruby-1.1.5/lib/concurrent/atomic/ruby_thread_local_var.rb:87:in `block (2 levels) in threadlocal_finalizer'

-- Machine register context ------------------------------------------------
 RIP: 0x00007f53693d0dee RBP: 0x0000000000026ceb RSP: 0x00007f53604b97e8
 RAX: 0x0000561c4359b660 RBX: 0x0000561c3f79b0b0 RCX: 0x000000002222000d
 RDX: 0x0000000000000000 RDI: 0x0000561c4359b660 RSI: 0x0000561c44522a40
  R8: 0x0000561c3f625ce0  R9: 0x0000000000000004 R10: 0x0000561c44522a40
 R11: 0x0000000000000008 R12: 0x0000561c43916198 R13: 0x0000561c433f4180
 R14: 0x0000561c3f79b0c0 R15: 0x0000561c44522a40 EFL: 0x0000000000010202

-- C level backtrace information -------------------------------------------

I have a minimalistic Rails app that reproduces the problem, if that's helpful.

I tried applying the patch above, but it does not seem to fix it. I just hand-edited in to version 1.1.5, so I don't know if that's sufficient.

@pitr-ch
Copy link
Member

pitr-ch commented Sep 6, 2019

Thanks @dmtask and @davidw for testing and link to the reproducer. I'll dig further.

@davidw
Copy link

davidw commented Sep 6, 2019

@pitr-ch ultimately I think there must be a bug in Ruby itself somewhere too. I don't know much about this code, but I can see user level code generating errors, exceptions, even deadlocking, but it should not segfault.

@danodemo
Copy link

danodemo commented Sep 13, 2019

Also encountering this problem with Ruby 2.6.0

.rvm/gems/ruby-2.6.0@OUR_APP/gems/pg-1.0.0/lib/pg.rb:56: [BUG] Segmentation fault at 0x0000000103943a3a
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]

-- Machine register context ------------------------------------------------
 rax: 0x0000000000000000 rbx: 0x00007fd5028b1150 rcx: 0x0000000000010000
 rdx: 0x00007ffeeecdcdb0 rdi: 0x0000000103943a38 rsi: 0x00007fd5028b1150
 rbp: 0x00007ffeeecdcda0 rsp: 0x00007ffeeecdcd68  r8: 0x0000000000000000
  r9: 0x000000000000800d r10: 0x00007fd4fd800000 r11: 0xffffffff9378c6d8
 r12: 0x00007fd5028b1160 r13: 0x00007fff936dcf20 r14: 0x00007fff5d03ae30
 r15: 0x00007ffeeecdcdb0 rip: 0x00007fff5d03ae34 rfl: 0x0000000000010206

It happens anytime I run an Activerecord call of any kind, no matter how simple, from within rails c in our local environment.

Our production and staging environments appear to be unaffected

Are there any other parts of the log that would be helpful to see?

@equivalent
Copy link

equivalent commented Sep 25, 2019

Let me add one more example to the discussion :)

as discussed here after upgrading rails 5.2 (on Ruby 2.6.3) to 6.0.0 (on Ruby 2.6.3) I started having this issue when running RSpec:

Finished in 49.25 seconds (files took 9.17 seconds to load)
25 examples, 0 failures

[BUG] Segmentation fault at 0x0000000000000050
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0001 p:---- s:0003 e:000002 (none) [FINISH]


-- Machine register context ------------------------------------------------
RIP: 0x00007f531acb47c3 RBP: 0x00007f5307576e50 RSP: 0x00007f5307576c90
RAX: 0x0000000000000000 RBX: 0x00007f531acb4a70 RCX: 0x000055d53b7b2030
RDX: 0x000055d53b7b1c18 RDI: 0x000055d5463a4848 RSI: 0x000055d5463a45f0
R8: 0x0000000000000000  R9: 0x000055d547ff6ac9 R10: 0x000055d547ff6ab0
R11: 0x00007f531b0106b0 R12: 0x000055d5463a45f0 R13: 0x00007f5307577700
R14: 0x00007f531b002a90 R15: 0x00007f5307576ea8 EFL: 0x0000000000010297

-- C level backtrace information -------------------------------------------
corrupted double-linked list
Aborted (core dumped)

Now the funny thing is that when I've ugraded some of my other personal projects they don't have this issue. So it seems to be just when using some Gems. As @davidw pointed out in here it may be Mongoid + DatabaseCleaner (as I have same gems in my setups too)

@davidw
Copy link

davidw commented Oct 30, 2019

Still seeing the problem with: ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux] with #821 applied

@davidw
Copy link

davidw commented Oct 30, 2019

I think there's some kind of race condition going on.

I added a sleep 5 to the end of the proc defined in def self.threadlocal_finalizer(index) and the crash is gone.

Wild guess: something is getting GC'ed, then the thread tries to run and barfs.

@davidw
Copy link

davidw commented Oct 31, 2019

@pitr-ch what is the new thread for in those cleanup methods anyway? If I remove it, things work correctly, and all tests pass in the master branch. Is it some kind of optimization?

@davidw
Copy link

davidw commented Nov 1, 2019

I filed a Ruby bug here: https://bugs.ruby-lang.org/issues/16288

In this code, the thread in the finalizer won't run, because the main thread has already been marked as killed, so it can't start a thread:

Thread.DEBUG = 1

class Foo
  def initialize
    ObjectSpace.define_finalizer(self, proc do
                                   Foo.foo_finalizer
                                 end)
  end

  def bar
    puts 'bar'
  end

  def Foo.foo_finalizer
    puts "foo_finalizer"
    t = Thread.new do
      puts "Thread reporting for duty"
    end
    puts "foo_finalizer thread launched"
    sleep 5
  end
end

f = Foo.new
f.bar
f = nil

sleep 1

Exception ``ThreadError' at ./the_finalizer.rb:18 - can't alloc thread

@mainameiz
Copy link

I have similar error and created small sample app. Maybe it would be useful. https://github.com/mainameiz/segfault_app

fidel added a commit to RailsEventStore/rails_event_store that referenced this issue Feb 14, 2020
It mitigates the issue causing segfaults on Ruby 2.5 and 2.6:

  - ruby-concurrency/concurrent-ruby#808

[#698]
@pitr-ch
Copy link
Member

pitr-ch commented Mar 9, 2020

Hi @cesarizu @mwsteb @rubenfonseca @dmtask, I've came up with a different solution for this problem, it is in #856. Could you give it a try. I do not have a reproducer. Thanks!

@equivalent
Copy link

btw last week I've removed my temp solution mentioned here #808 (comment) went with latest gem version released on ruby-gems, all works great 👍

@mainameiz
Copy link

@pitr-ch I have a test app https://github.com/mainameiz/segfault_app. Your fix (#856) also works fine.

@pitr-ch
Copy link
Member

pitr-ch commented Mar 22, 2020

Thanks for testing and the update!

@mostlyobvious
Copy link

@pitr-ch We've started observing some issues with ThreadLocalVar since 1.1.7 on MRI when mutation testing with mutant (known for exercising MRI well). I did not manage to reproduce it on a contrived example although it has been repeating on CI and local mutation test runs.

Traceback (most recent call last):
	5: from /root/project/ruby_event_store/spec/client_spec.rb:208:in `block (4 levels) in <module:RubyEventStore>'
	4: from /root/project/ruby_event_store/lib/ruby_event_store/client.rb:215:in `with_metadata'
	3: from /root/project/ruby_event_store/lib/ruby_event_store/client.rb:306:in `metadata='
	2: from /usr/local/bundle/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb:77:in `value='
	1: from /usr/local/bundle/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb:42:in `semi_sync'
/usr/local/bundle/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb:77:in `block in value=': can't add a new key into hash during iteration (RuntimeError)

RailsEventStore/rails_event_store#757

@pitr-ch
Copy link
Member

pitr-ch commented Aug 28, 2020

Thanks @pawelpacana for the report! I think I see the issue, the assignment conflicts with the each_value on line 100. I'll fix it asap, let you verify and then release a new version.

@pitr-ch
Copy link
Member

pitr-ch commented Aug 28, 2020

@pawelpacana pls verify #884 works.

@mostlyobvious
Copy link

@pitr-ch I can confirm the fix working, thank you 🖤

ruby-concurrency/concurrent-ruby automation moved this from In Progress to Done Sep 21, 2020
@pitr-ch
Copy link
Member

pitr-ch commented Sep 21, 2020

@pawelpacana thanks for confirming

@rajnikantmahato
Copy link

[SIGSEGV]> ruby
/data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems.rb:1432: [BUG] Segmentation fault at 0x00000005
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [arm-linux-androideabi]

-- Control frame information -----------------------------------------------
c:0005 p:---- s:0019 e:000018 CFUNC :require
c:0004 p:0086 s:0014 e:000013 TOP /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems.rb:1432 [FINISH]
c:0003 p:---- s:0011 e:000010 CFUNC :require
c:0002 p:0012 s:0006 e:000005 TOP internal:gem_prelude:1 [FINISH]
c:0001 p:0000 s:0003 E:ffffdd38 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
internal:gem_prelude:1:in <internal:gem_prelude>' <internal:gem_prelude>:1:in require'
/data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems.rb:1432:in <top (required)>' /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems.rb:1432:in require'

-- Other runtime information -----------------------------------------------

  • Loaded script: ruby

  • Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 ruby2_keywords.rb
    5 /data/data/com.termux/files/usr/lib/ruby/2.7.0/arm-linux-androideabi/enc/encdb.so
    6 /data/data/com.termux/files/usr/lib/ruby/2.7.0/arm-linux-androideabi/enc/trans/transdb.so
    7 /data/data/com.termux/files/usr/lib/ruby/2.7.0/arm-linux-androideabi/rbconfig.rb
    8 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/compatibility.rb
    9 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/defaults.rb
    10 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/deprecate.rb
    11 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/errors.rb
    12 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/version.rb
    13 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/requirement.rb
    14 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/platform.rb
    15 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/basic_specification.rb
    16 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/stub_specification.rb
    17 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/util.rb
    18 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/text.rb
    19 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/user_interaction.rb
    20 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/specification_policy.rb
    21 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/util/list.rb
    22 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/specification.rb
    23 /data/data/com.termux/files/usr/lib/ruby/2.7.0/rubygems/exceptions.rb

  • Process memory map:

7f555000-7f556000 r-xp 00000000 fd:00 408298 /data/data/com.termux/files/usr/bin/ruby
7f556000-7f557000 r--p 00000000 fd:00 408298 /data/data/com.termux/files/usr/bin/ruby
7f557000-7f558000 rw-p 00000000 00:00 0
b4200000-b4380000 rw-p 00000000 00:00 0 [anon:libc_malloc]
b43f1000-b43f2000 ---p 00000000 00:00 0
b43f2000-b4443000 rw-p 00000000 00:00 0
b4443000-b4444000 ---p 00000000 00:00 0
b4444000-b4495000 rw-p 00000000 00:00 0
b4495000-b4496000 ---p 00000000 00:00 0
b4496000-b44e7000 rw-p 00000000 00:00 0
b44e7000-b44e8000 ---p 00000000 00:00 0
b44e8000-b4539000 rw-p 00000000 00:00 0
b4539000-b453a000 ---p 00000000 00:00 0
b453a000-b458b000 rw-p 00000000 00:00 0
b458b000-b458c000 ---p 00000000 00:00 0
b458c000-b45dd000 rw-p 00000000 00:00 0
b45dd000-b45de000 ---p 00000000 00:00 0
b45de000-b462f000 rw-p 00000000 00:00 0
b462f000-b4630000 ---p 00000000 00:00 0
b4630000-b4681000 rw-p 00000000 00:00 0
b4681000-b4682000 ---p 00000000 00:00 0 [anon:thread stack guard page]
b4682000-b4780000 rw-p 00000000 00:00 0 [stack:13978]
b4780000-b6900000 rw-p 00000000 00:00 0 [stack:13977]
b6937000-b6957000 r--s 00000000 00:0c 12219 /dev/properties/u:object_r:system_prop:s0
b6957000-b69e0000 r-xp 00000000 103:14 2155 /system/lib/libc++.so
b69e0000-b69e4000 r--p 00088000 10

@pitr-ch
Copy link
Member

pitr-ch commented Nov 27, 2020

@rajnikantmahato why do you believe this is related?

@immakdas
Copy link

immakdas commented Nov 6, 2021

[BUG] Segmentation fault at 0x0000000000000440
ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]

@blizzart
Copy link

blizzart commented May 4, 2022

still there, Rocky Linux 8, ruby 3.1.2p20 freshly compiled

[BUG] transient_heap_block_alloc: failed

ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0001 p:---- s:0003 e:000002 (none) [FINISH]

-- C level backtrace information -------------------------------------------
/usr/local/bin/ruby(rb_print_backtrace+0x11) [0x55f13ca13dc8] vm_dump.c:759
/usr/local/bin/ruby(rb_vm_bugreport) vm_dump.c:1045
/usr/local/bin/ruby(bug_report_end+0x0) [0x55f13cad2d9b] error.c:798
/usr/local/bin/ruby(rb_bug_without_die) error.c:798
/usr/local/bin/ruby(die+0x0) [0x55f13c8321df] error.c:806
/usr/local/bin/ruby(rb_bug) error.c:808
/usr/local/bin/ruby(Init_TransientHeap+0xe) [0x55f13c8306f5] transient_heap.c:306
/usr/local/bin/ruby(rb_call_inits+0xe) [0x55f13c86dc4e] inits.c:25
/usr/local/bin/ruby(ruby_setup+0x105) [0x55f13c8373a5] eval.c:88
/usr/local/bin/ruby(ruby_init+0x9) [0x55f13c837429] eval.c:100
/usr/local/bin/ruby(main+0x46) [0x55f13c8324e6] error.c:3181

-- Other runtime information -----------------------------------------------

  • Process memory map:

55f13c805000-55f13cbf8000 r-xp 00000000 08:01 420432 /usr/local/bin/ruby
55f13cdf7000-55f13cdfe000 r--p 003f2000 08:01 420432 /usr/local/bin/ruby
55f13cdfe000-55f13cdff000 rw-p 003f9000 08:01 420432 /usr/local/bin/ruby
55f13cdff000-55f13ce11000 rw-p 00000000 00:00 0
55f13e11b000-55f13e13c000 rw-p 00000000 00:00 0 [heap]
7ff1ac30b000-7ff1ac611000 r--s 00000000 08:01 395319 /usr/lib64/libc-2.28.so
7ff1ac611000-7ff1ae8c5000 r--s 00000000 08:01 420432 /usr/local/bin/ruby
7ff1ae8c5000-7ff1ae8dc000 r-xp 00000000 08:01 396555 /usr/lib64/libgcc_s-8-20210514.so.1
7ff1ae8dc000-7ff1aeadb000 ---p 00017000 08:01 396555 /usr/lib64/libgcc_s-8-20210514.so.1
7ff1aeadb000-7ff1aeadc000 r--p 00016000 08:01 396555 /usr/lib64/libgcc_s-8-20210514.so.1
7ff1aeadc000-7ff1aeadd000 rw-p 00017000 08:01 396555 /usr/lib64/libgcc_s-8-20210514.so.1
7ff1aeadd000-7ff1bba92000 r--p 00000000 08:01 395415 /usr/lib/locale/locale-archive
7ff1bba92000-7ff1bbc4e000 r-xp 00000000 08:01 395319 /usr/lib64/libc-2.28.so
7ff1bbc4e000-7ff1bbe4d000 ---p 001bc000 08:01 395319 /usr/lib64/libc-2.28.so
7ff1bbe4d000-7ff1bbe51000 r--p 001bb000 08:01 395319 /usr/lib64/libc-2.28.so
7ff1bbe51000-7ff1bbe53000 rw-p 001bf000 08:01 395319 /usr/lib64/libc-2.28.so
7ff1bbe53000-7ff1bbe57000 rw-p 00000000 00:00 0
7ff1bbe57000-7ff1bbfd8000 r-xp 00000000 08:01 395323 /usr/lib64/libm-2.28.so
7ff1bbfd8000-7ff1bc1d7000 ---p 00181000 08:01 395323 /usr/lib64/libm-2.28.so
7ff1bc1d7000-7ff1bc1d8000 r--p 00180000 08:01 395323 /usr/lib64/libm-2.28.so
7ff1bc1d8000-7ff1bc1d9000 rw-p 00181000 08:01 395323 /usr/lib64/libm-2.28.so
7ff1bc1d9000-7ff1bc1f9000 r-xp 00000000 08:01 396245 /usr/lib64/libcrypt.so.1.1.0
7ff1bc1f9000-7ff1bc3f8000 ---p 00020000 08:01 396245 /usr/lib64/libcrypt.so.1.1.0
7ff1bc3f8000-7ff1bc3f9000 r--p 0001f000 08:01 396245 /usr/lib64/libcrypt.so.1.1.0
7ff1bc3f9000-7ff1bc402000 rw-p 00000000 00:00 0
7ff1bc402000-7ff1bc405000 r-xp 00000000 08:01 395321 /usr/lib64/libdl-2.28.so
7ff1bc405000-7ff1bc604000 ---p 00003000 08:01 395321 /usr/lib64/libdl-2.28.so
7ff1bc604000-7ff1bc605000 r--p 00002000 08:01 395321 /usr/lib64/libdl-2.28.so
7ff1bc605000-7ff1bc606000 rw-p 00003000 08:01 395321 /usr/lib64/libdl-2.28.so
7ff1bc606000-7ff1bc60d000 r-xp 00000000 08:01 395400 /usr/lib64/librt-2.28.so
7ff1bc60d000-7ff1bc80c000 ---p 00007000 08:01 395400 /usr/lib64/librt-2.28.so
7ff1bc80c000-7ff1bc80d000 r--p 00006000 08:01 395400 /usr/lib64/librt-2.28.so
7ff1bc80d000-7ff1bc80e000 rw-p 00007000 08:01 395400 /usr/lib64/librt-2.28.so
7ff1bc80e000-7ff1bc829000 r-xp 00000000 08:01 395394 /usr/lib64/libpthread-2.28.so
7ff1bc829000-7ff1bca28000 ---p 0001b000 08:01 395394 /usr/lib64/libpthread-2.28.so
7ff1bca28000-7ff1bca29000 r--p 0001a000 08:01 395394 /usr/lib64/libpthread-2.28.so
7ff1bca29000-7ff1bca2a000 rw-p 0001b000 08:01 395394 /usr/lib64/libpthread-2.28.so
7ff1bca2a000-7ff1bca2e000 rw-p 00000000 00:00 0
7ff1bca2e000-7ff1bca44000 r-xp 00000000 08:01 396193 /usr/lib64/libz.so.1.2.11
7ff1bca44000-7ff1bcc44000 ---p 00016000 08:01 396193 /usr/lib64/libz.so.1.2.11
7ff1bcc44000-7ff1bcc45000 r--p 00016000 08:01 396193 /usr/lib64/libz.so.1.2.11
7ff1bcc45000-7ff1bcc46000 rw-p 00000000 00:00 0
7ff1bcc46000-7ff1bcc72000 r-xp 00000000 08:01 395382 /usr/lib64/ld-2.28.so
7ff1bcca3000-7ff1bce6c000 rw-p 00000000 00:00 0
7ff1bce72000-7ff1bce73000 r--p 0002c000 08:01 395382 /usr/lib64/ld-2.28.so
7ff1bce73000-7ff1bce75000 rw-p 0002d000 08:01 395382 /usr/lib64/ld-2.28.so
7ffcd2c4c000-7ffcd344b000 rw-p 00000000 00:00 0 [stack]
7ffcd3522000-7ffcd3526000 r--p 00000000 00:00 0 [vvar]
7ffcd3526000-7ffcd3528000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

Aborted (core dumped)

@chrisseaton
Copy link
Member

Ask around about this.

@chrisseaton chrisseaton reopened this May 4, 2022
ruby-concurrency/concurrent-ruby automation moved this from Done to In Progress May 4, 2022
@eregon
Copy link
Collaborator

eregon commented Dec 21, 2022

The stacktraces since the last close of this issue look completely unrelated to concurrent-ruby.
Also if there is a new segfault related to concurrent-ruby, please open a new issue.

@eregon eregon closed this as completed Dec 21, 2022
ruby-concurrency/concurrent-ruby automation moved this from In Progress to Done Dec 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A bug in the library or documentation. high-priority Should be done ASAP.