[#99868] [Ruby master Bug#17144] Tempfile.open { ... } does not unlink the file — eregontp@...
Issue #17144 has been reported by Eregon (Benoit Daloze).
15 messages
2020/09/03
[ruby-core:100086] [Ruby master Bug#16809] Fiber crashes with --with-coroutine=copy
From:
merch-redmine@...
Date:
2020-09-23 14:40:12 UTC
List:
ruby-core #100086
Issue #16809 has been updated by jeremyevans0 (Jeremy Evans).
Assignee set to ioquatix (Samuel Williams)
Status changed from Open to Assigned
Subject changed from ruby testsuite fails on s390x alpine (musl) with --with-coroutine=copy to Fiber crashes with --with-coroutine=copy
OpenBSD/sparc64 (which uses copy coroutine) is similarly broken in regards to fibers. Even something simple like `ruby27 -e 'Fiber.new{Fiber.yield}.resume'` crashes (ruby26 works fine for this). Changing the title to be more general since this does not just affect s390x alpine (musl).
----------------------------------------
Bug #16809: Fiber crashes with --with-coroutine=copy
https://bugs.ruby-lang.org/issues/16809#change-87645
* Author: ncopa (Natanael Copa)
* Status: Assigned
* 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: UNKNOWN
----------------------------------------
```
./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>