[#119390] [Ruby master Feature#20775] Gemify win32-registry, win32-sspi and win32-resolv — "larskanis (Lars Kanis) via ruby-core" <ruby-core@...>

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

12 messages 2024/10/01

[#119410] [Ruby master Feature#20778] ruby/repl_type_completor as a bundled gem — "tompng (tomoya ishida) via ruby-core" <ruby-core@...>

SXNzdWUgIzIwNzc4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHRvbXBuZyAodG9tb3lhIGlzaGlkYSku

7 messages 2024/10/02

[#119432] [Ruby master Misc#20781] DevMeeting-2024-11-07 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

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

11 messages 2024/10/03

[#119442] [Ruby master Feature#20782] Introduction of Happy Eyeballs Version 2 (RFC8305) in TCPSocket.new — "shioimm (Misaki Shioi) via ruby-core" <ruby-core@...>

SXNzdWUgIzIwNzgyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHNoaW9pbW0gKE1pc2FraSBTaGlvaSku

12 messages 2024/10/04

[#119462] [Ruby master Bug#20785] Should `a in b, and c` `a in b, or c` `a in b, rescue c` be syntax ok? — "tompng (tomoya ishida) via ruby-core" <ruby-core@...>

Issue #20785 has been reported by tompng (tomoya ishida).

10 messages 2024/10/05

[#119495] [Ruby master Feature#20792] String#forcible_encoding? — "kddnewton (Kevin Newton) via ruby-core" <ruby-core@...>

Issue #20792 has been reported by kddnewton (Kevin Newton).

16 messages 2024/10/09

[#119514] [Ruby master Bug#20796] Segmentation fault in rubyzip tests with ruby 3.4.0-preview2 — "tikkss (Tsutomu Katsube) via ruby-core" <ruby-core@...>

Issue #20796 has been reported by tikkss (Tsutomu Katsube).

10 messages 2024/10/13

[#119534] [Ruby master Bug#20800] Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin` — "vo.x (Vit Ondruch) via ruby-core" <ruby-core@...>

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

10 messages 2024/10/21

[#119575] [Ruby master Bug#20808] Cannot override Data#inspect — "maicolben (Maicol Bentancor) via ruby-core" <ruby-core@...>

Issue #20808 has been reported by maicolben (Maicol Bentancor).

8 messages 2024/10/21

[#119621] [Ruby master Bug#20816] Potential regression in Ruby 3.3.x (compared with 3.1 and 3.2) regarding fast syscalls and multi-threading. — "adrienjarthon (Adrien Jarthon) via ruby-core" <ruby-core@...>

SXNzdWUgIzIwODE2IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGFkcmllbmphcnRob24gKEFkcmllbiBK

6 messages 2024/10/25

[#119622] [Ruby master Bug#20817] Ruby 3.4.0dev emits `warning: possibly useless use of + in void context` while Ruby 3.3.5 does not — "yahonda (Yasuo Honda) via ruby-core" <ruby-core@...>

Issue #20817 has been reported by yahonda (Yasuo Honda).

8 messages 2024/10/26

[#119646] [Ruby master Feature#20855] Introduce `Fiber::Scheduler#blocking_region` to avoid stalling the event loop. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

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

10 messages 2024/10/31

[#119650] [Ruby master Bug#20857] Don't change `Hash#inspect formatting` — "vo.x (Vit Ondruch) via ruby-core" <ruby-core@...>

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

17 messages 2024/10/31

[ruby-core:119566] [Ruby master Bug#20804] Stop reserving stack ahead-of-time in on Linux

From: "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date: 2024-10-21 09:52:32 UTC
List: ruby-core #119566
Issue #20804 has been updated by mame (Yusuke Endoh).


In short, you are saying that the issue is supposed to have been fixed since Linux 4.13, right? Then I don't see a problem.

----------------------------------------
Bug #20804: Stop reserving stack ahead-of-time in on Linux
https://bugs.ruby-lang.org/issues/20804#change-110180

* Author: kjtsanaktsidis (KJ Tsanaktsidis)
* Status: Open
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
In Linux, the main thread generally only gets a small stack mapped in initially. As the application attempts to use more stack memory, the kernel will map in more stack pages.

In https://github.com/ruby/ruby/pull/822, we added some logic to force the kernel to eagerly map and fault in the entire stack by writing a fake array near the bottom. This was done in order to fix some cases where heap memory was unexpectedly being allocated in locations close to the stack, which then prevented the stack from growing.

I ran into this because this logic needed to be fixed for ASAN (https://github.com/ruby/ruby/pull/11921). However, I actually think we should delete `reserve_stack` entirely, which is the point of this issue.

Myself and @rianmcguire had a look at this today and we believe that the original problem was in fact a symptom of a kernel bug. The kernel bug (or at least, what we _think_ was the relevant bug) was fixed in 2017 (https://github.com/torvalds/linux/commit/c204d21f2232d875e36b8774c36ffd027dc1d606) On my machine today, under ruby 3.3.2 (2024-05-30 revision e5a195edf6) and kernel 6.10.12-200.fc40.x86_64 I can no longer reproduce the problem demonstrated by the repro script (https://gist.github.com/csfrancis/46e360d401609275246c).

```
kjtsanaktsidis@kjtsanaktsidis-laptop ~ % ./repro.rb
new minimum diff: 140730206072832 (2)
new minimum diff: 140725853872128 (4)
new minimum diff: 140723732975616 (10)
new minimum diff: 140719631585280 (14)
new minimum diff: 140719552581632 (69)
new minimum diff: 140719410409472 (159)
new minimum diff: 140719327940608 (1191)
new minimum diff: 140719326601216 (3111)
new minimum diff: 140719312199680 (6098)
```

Performing this kind of stack reservation actually causes _other_ problems - if RLIMIT_STACK is set to a high value, performing the eager mapping like this can fail for lack of real memory

```
kjtsanaktsidis@kjtsanaktsidis-laptop ~ % ulimit -s 1000000000
kjtsanaktsidis@kjtsanaktsidis-laptop ~ % ruby -e "puts 'hi'"
zsh: segmentation fault (core dumped)  ruby -e "puts 'hi'"
```

So, therefore, I believe the right thing to do is to just delete `reserve_stack`. Are there any objections to doing this?



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread