[#104740] [Ruby master Feature#18057] Introduce Array#average — ggmichaelgo@...

Issue #18057 has been reported by ggmichaelgo (Michael Go).

14 messages 2021/08/02

[#104774] [Ruby master Bug#18061] Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found — jaruga@...

Issue #18061 has been reported by jaruga (Jun Aruga).

48 messages 2021/08/04

[#104780] [Ruby master Bug#18062] Ruby with enabled LTO segfaults during build — v.ondruch@...

Issue #18062 has been reported by vo.x (Vit Ondruch).

30 messages 2021/08/05

[#104831] [Ruby master Bug#18066] Load did_you_mean eve/error_highlight even with --disable-gems — v.ondruch@...

Issue #18066 has been reported by vo.x (Vit Ondruch).

10 messages 2021/08/07

[#104851] [Ruby master Bug#18073] test/ruby/test_jit.rb: failures "error: invalid use of '__builtin_va_arg_pack ()'" on Ruby 2.7.4 on gcc 4.8.5 on RHEL7 — jaruga@...

Issue #18073 has been reported by jaruga (Jun Aruga).

14 messages 2021/08/09

[#104927] [Ruby master Bug#18077] Marshal.dump(closed_io) raises IOError instead of TypeError — "larskanis (Lars Kanis)" <noreply@...>

Issue #18077 has been reported by larskanis (Lars Kanis).

10 messages 2021/08/16

[#104960] [Ruby master Feature#18083] Capture error in ensure block. — "ioquatix (Samuel Williams)" <noreply@...>

Issue #18083 has been reported by ioquatix (Samuel Williams).

32 messages 2021/08/18

[#105021] [Ruby master Misc#18122] DevelopersMeeting20210916Japan — "mame (Yusuke Endoh)" <noreply@...>

Issue #18122 has been reported by mame (Yusuke Endoh).

12 messages 2021/08/20

[#105069] [Ruby master Bug#18133] LTO: TestGCCompact#test_ast_compacts segfaults on i686 — "vo.x (Vit Ondruch)" <noreply@...>

Issue #18133 has been reported by vo.x (Vit Ondruch).

25 messages 2021/08/25

[#105077] [Ruby master Feature#18136] take_while_after — "zverok (Victor Shepelev)" <noreply@...>

Issue #18136 has been reported by zverok (Victor Shepelev).

21 messages 2021/08/27

[ruby-core:104918] [Ruby master Bug#18048] Thread#join can break with fiber scheduler unblock fails or blocks.

From: nagachika00@...
Date: 2021-08-14 08:06:09 UTC
List: ruby-core #104918
Issue #18048 has been updated by nagachika (Tomoyuki Chikanaga).


I create the backport patch including 050a89543952a2c9e7c9bc938f4fdb538f6c9278 and 13f8521c630a15c87398dee0763e95f59c032a94 and push to my branch. See https://github.com/ruby/ruby/pull/4686/files.

But on the branch, make btest hangs on the bootstraptest/test_ractor.rb.

```
% make btest
2021-08-14 16:57:56 +0900
Driver is ruby 3.0.3p123 (2021-08-08 revision 3922394c85) [x86_64-darwin19]
Target is ruby 3.0.3p124 (2021-08-14 revision 720d9c0803) [x86_64-darwin19]

test_attr.rb            PASS 2
test_autoload.rb        PASS 8
test_block.rb           PASS 58
test_class.rb           PASS 48
test_env.rb             PASS 2
test_eval.rb            PASS 37
test_exception.rb       PASS 34
test_fiber.rb           PASS 5
test_finalizer.rb       PASS 1
test_flip.rb            PASS 1
test_flow.rb            PASS 62
test_fork.rb            PASS 4
test_gc.rb              PASS 2
test_insns.rb           PASS 383
test_io.rb              PASS 9
test_jump.rb            PASS 29
test_literal.rb         PASS 156
test_literal_suffix.rb  PASS 48
test_load.rb            PASS 2
test_marshal.rb         PASS 1
test_massign.rb         PASS 34
test_method.rb          PASS 223
test_objectspace.rb     PASS 6
test_proc.rb            PASS 37
test_ractor.rb          \
↑ hangs up here
```

Samuel, would you review my backport candidate branch if you don't mind?

----------------------------------------
Bug #18048: Thread#join can break with fiber scheduler unblock fails or blocks.
https://bugs.ruby-lang.org/issues/18048#change-93282

* Author: ioquatix (Samuel Williams)
* Status: Closed
* Priority: Normal
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: REQUIRED
----------------------------------------
In addition to https://bugs.ruby-lang.org/issues/17666 we found several more cases that need to be addressed.

Fix potential hang when joining threads.

If the thread termination invokes user code after `th->status` becomes
`THREAD_KILLED`, and the user unblock function causes that `th->status` to
become something else (e.g. `THREAD_RUNNING`), threads waiting in
`thread_join_sleep` will hang forever. We move the unblock function call
to before the thread status is updated, and allow threads to join as soon
as `th->value` becomes defined.

Wake up join list within thread EC context. (#4471)

If `rb_fiber_scheduler_unblock` raises an exception, it can result in a
segfault if `rb_threadptr_join_list_wakeup` is not within a valid EC. This
change moves `rb_threadptr_join_list_wakeup` into the thread's top level EC
which initially caused an infinite loop because on exception will retry. We
explicitly remove items from the thread's join list to avoid this situation.

These are already fixed on master branch. Here is a PR for backport: https://github.com/ruby/ruby/pull/4686



-- 
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>

In This Thread