[#101179] Spectre Mitigations — Amel <amel.smajic@...>
Hi there!
5 messages
2020/12/01
[#101694] Ruby 3.0.0 Released — "NARUSE, Yui" <naruse@...>
V2UgYXJlIHBsZWFzZWQgdG8gYW5ub3VuY2UgdGhlIHJlbGVhc2Ugb2YgUnVieSAzLjAuMC4gRnJv
4 messages
2020/12/25
[ruby-core:101309] [Ruby master Bug#16809] Fiber crashes with --with-coroutine=copy
From:
samuel@...
Date:
2020-12-08 08:18:47 UTC
List:
ruby-core #101309
Issue #16809 has been updated by ioquatix (Samuel Williams).
Backport changed from 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN to 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: REQUIRED
@jeremyevans0 can you manage the backport? Or who is responsible?
This commit (and only this commit) should be backported: https://github.com/ruby/ruby/pull/3624/commits/440983fa9e7695d83def190e9701b5a22e076495
----------------------------------------
Bug #16809: Fiber crashes with --with-coroutine=copy
https://bugs.ruby-lang.org/issues/16809#change-89004
* Author: ncopa (Natanael Copa)
* Status: Closed
* Priority: Normal
* Assignee: ioquatix (Samuel Williams)
* ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [s390x-linux-musl]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: REQUIRED
----------------------------------------
```
./revision.h unchanged
#190 test_fiber.rb:15:in `<top (required)>':
Fiber.new{
}.resume
:ok
#=> "" (expected "ok")
#192 test_fiber.rb:26:in `<top (required)>':
fibers = 100.times.collect{Fiber.new{Fiber.yield}}
fibers.each(&:resume)
fibers.each(&:resume)
:ok
#=> "" (expected "ok")
#193 test_fiber.rb:33:in `<top (required)>':
at_exit { Fiber.new{}.resume }
#=> killed by SIGFPE (signal 8)
#194 test_fiber.rb:37:in `<top (required)>':
Fiber.new(&Object.method(:class_eval)).resume("foo")
#=> killed by SIGFPE (signal 8) [ruby-dev:34128]
test_fiber.rb FAIL 4/5
#934 test_massign.rb:165:in `<top (required)>':
a,s=[],"aaa"
300.times { a<<s; s=s.succ }
eval <<-END__
GC.stress=true
Fiber.new do
#{ a.join(",") },*zzz=1
end.resume
END__
:ok
#=> "" (expected "ok") [ruby-dev:32581]
test_massign.rb FAIL 1/34
#1391 test_thread.rb:310:in `<top (required)>':
g = enum_for(:local_variables)
loop { g.next }
#=> killed by SIGFPE (signal 8) [ruby-dev:34128]
#1392 test_thread.rb:315:in `<top (required)>':
g = enum_for(:block_given?)
loop { g.next }
#=> killed by SIGFPE (signal 8) [ruby-dev:34128]
#1393 test_thread.rb:320:in `<top (required)>':
g = enum_for(:binding)
loop { g.next }
#=> killed by SIGFPE (signal 8) [ruby-dev:34128]
#1394 test_thread.rb:325:in `<top (required)>':
g = "abc".enum_for(:scan, /./)
loop { g.next }
#=> killed by SIGFPE (signal 8) [ruby-dev:34128]
#1395 test_thread.rb:330:in `<top (required)>':
g = Module.enum_for(:new)
loop { g.next }
#=> killed by SIGFPE (signal 8) [ruby-dev:34128]
test_thread.rb FAIL 5/48
Thread count: 10000 (skipping)
FAIL 10/1409 tests failed
make: *** [uncommon.mk:751: yes-btest-ruby] Error 1
```
May be related to this warning:
```
compiling coroutine/copy/Context.c
coroutine/copy/Context.c: In function 'coroutine_restore_stack_padded':
coroutine/copy/Context.c:87:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
87 | _longjmp(context->state, 1 | (int)buffer);
|
```
--
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>