[ruby-core:77310] [Ruby trunk Bug#10290] segfault when calling a lambda recursively after rescuing SystemStackError
From:
johncbackus@...
Date:
2016-09-19 07:48:08 UTC
List:
ruby-core #77310
Issue #10290 has been updated by John Backus.
Any update on this issue? I ran into this bug yesterday and spent hours investigating the source of the segfault. Here is the code that caused the issue for me:
```
def foo
define_singleton_method(:method_missing) { |*| invalid_method }
define_singleton_method(:define_singleton_method) { |*| invalid_method }
end
foo
begin
do_not_segfault
rescue SystemStackError
end
do_not_segfault
```
----------------------------------------
Bug #10290: segfault when calling a lambda recursively after rescuing SystemStackError
https://bugs.ruby-lang.org/issues/10290#change-60549
* Author: Jack Nagel
* Status: Feedback
* Priority: Normal
* Assignee:
* ruby -v: ruby 2.1.3p242 (2014-09-19 revision 47629) [x86_64-darwin13.0]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
The following code segfaults on Ruby 2.1.3:
```ruby
l = -> { l.() }
begin
l.()
rescue SystemStackError
l.() # segfault
end
```
the issue does not occur on trunk.
---Files--------------------------------
ruby_2014-09-25-000925_haswell.log (46.4 KB)
ruby_2014-09-25-001644_haswell.log (46.8 KB)
--
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>