[prev in list] [next in list] [prev in thread] [next in thread]
List: ruby-core
Subject: [ruby-core:108086] [Ruby master Bug#17489] Ractor segfaults
From: "wanabe (_ wanabe)" <noreply () ruby-lang ! org>
Date: 2022-03-26 20:36:09
Message-ID: redmine.journal-97048.20220326203609.8653 () ruby-lang ! org
[Download RAW message or body]
Issue #17489 has been updated by wanabe (_ wanabe).
Status changed from Assigned to Closed
kirs (Kir Shatrov) wrote in #note-8:
>
> I wish I knew how to close this ticket. Not sure I have permissions to do that...?
OK, I'll close it.
----------------------------------------
Bug #17489: Ractor segfaults
https://bugs.ruby-lang.org/issues/17489#change-97048
* Author: kirs (Kir Shatrov)
* Status: Closed
* Priority: Normal
* Assignee: ko1 (Koichi Sasada)
* ruby -v: 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
I was able to boil it down to this script:
```ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem "sinatra", "~> 2.1"
end
require 'sinatra'
class App < Sinatra::Base
get '/' do
200
end
end
module Sinatra
class Base
class << self
# patch it to avoid hitting other unsafe things
def setup_default_middleware(builder)
builder.use Rack::NullLogger
end
end
end
end
workers = 2.times.map do
Ractor.new { App.new }
end
Ractor.select(*workers)
```
Even though the code doesn't make a lot of sense and Sinatra has other stuff that's \
not compatible with Ractor, I would not expect user-level Ruby code to segfault.
I have attached the crash report and stderr output.
---Files--------------------------------
segfault.dump (44.8 KB)
ruby_2020-12-29-002108_Kirs-MacBook-Pro-2.crash (27.9 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic