[#103680] [Ruby master Bug#17843] Ruby on Rails error[BUG] Segmentation fault at 0x0000000000000110 ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin15] (#42110) — nayaronfire@...

Issue #17843 has been reported by nayaronfire (kk nayar).

7 messages 2021/05/01

[#103686] [Ruby master Misc#17845] Windows Ruby - ucrt build? — Greg.mpls@...

Issue #17845 has been reported by MSP-Greg (Greg L).

22 messages 2021/05/01

[#103690] [Ruby master Bug#17846] Percent mode changes the output from ERB beyond what is documented — wolf@...

Issue #17846 has been reported by graywolf (Gray Wolf).

8 messages 2021/05/02

[#103724] [Ruby master Feature#17849] Fix Timeout.timeout so that it can be used in threaded Web servers — duerst@...

Issue #17849 has been reported by duerst (Martin D=FCrst).

22 messages 2021/05/05

[#103756] [Ruby master Feature#17853] Add Thread#thread_id — komamitsu@...

Issue #17853 has been reported by komamitsu (Mitsunori Komatsu).

11 messages 2021/05/06

[#103801] [Ruby master Feature#17859] Start IRB when running just `ruby` — deivid.rodriguez@...

Issue #17859 has been reported by deivid (David Rodr=EDguez).

18 messages 2021/05/12

[#103866] [Ruby master Bug#17866] Incompatible changes with Psych 4.0.0 — hsbt@...

Issue #17866 has been reported by hsbt (Hiroshi SHIBATA).

13 messages 2021/05/17

[#103892] [Ruby master Bug#17871] TestGCCompact#test_ast_compacts test failing again — jaruga@...

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

11 messages 2021/05/19

[#103912] [Ruby master Bug#17873] Update of default gems in Ruby 3.1 — hsbt@...

Issue #17873 has been reported by hsbt (Hiroshi SHIBATA).

38 messages 2021/05/20

[#103971] [Ruby master Bug#17880] [BUG] We are killing the stack canary set by `opt_setinlinecache` — jean.boussier@...

Issue #17880 has been reported by byroot (Jean Boussier).

8 messages 2021/05/22

[#103974] [Ruby master Feature#17881] Add a Module#const_added callback — jean.boussier@...

Issue #17881 has been reported by byroot (Jean Boussier).

29 messages 2021/05/22

[#104004] [Ruby master Feature#17883] Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile — mame@...

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

21 messages 2021/05/24

[#104109] [Ruby master Feature#17930] Add column information into error backtrace — mame@...

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

34 messages 2021/05/31

[ruby-core:103730] Re: [Ruby master Feature#17837] Add support for Regexp timeouts

From: Eric Wong <normalperson@...>
Date: 2021-05-05 05:28:14 UTC
List: ruby-core #103730
sam.saffron@gmail.com wrote:
> Feature #17837: Add support for Regexp timeouts
> https://bugs.ruby-lang.org/issues/17837

> I recommend against a "per Regexp" API as this decision is at
> the application level. You want to apply it to all regular
> expressions in all the gems you are consuming.

The syscall costs are higher nowadays and this will penalize
good regexps.  IME with unicorn, global timeouts of this type
means problems go unfixed for too long and fester into worse
problems.

Ultimately many Ruby problems come from tolerating excessively
deep/complex dependency stacks(*) and developers having too
much crap to manage.

Anecdotally, my experience with Perl5 RE is better than with
Onig*.  I know Perl5 has the same underlying problems as Onig*,
however Perl5 RE seems less bad in practice.

Again, Perl5 RE does have underlying problems, but they don't
manifest nearly as much as they do with Ruby (I've as much
or more Perl experience than I have in Ruby).

One example I remember off the top of my head is
[ruby-core:74030].   I just tested that again after 5 years:
Ruby still infinite loops; Perl still terminates as it should.

Your example translated to Perl5 also stops fine for me:

	("A" . "C" x 100 . "X") =~ /A(B|C+)+D/;

Onig* might be able to learn a thing or three from Perl5 when it
comes to common real-world cases.  Again, I know Perl5 RE has
underlying problems just like Onig*, they do not manifest as
easily.


(*) and I apologize for letting crap like unicorn become too
    popular and perpetuating the existence of of buggy/broken
    code; I'll try to find more time to scare users away from it.

> I recommend against a move to RE2 at the moment as way too
> much would break 

RE2 could be done gradually, like frozen strings: %re2[foo]
Or a magic comment: "# regexp-engine: re2"

Perl supports pluggable re::engine since 2007, so more things
Ruby can learn from Perl :>
```

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread