[ruby-core:102714] [Ruby master Bug#17581] Ruby 3.0 backtrace sometimes returns empty array
From:
naruse@...
Date:
2021-03-02 12:50:42 UTC
List:
ruby-core #102714
Issue #17581 has been updated by naruse (Yui NARUSE).
Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONTNEED, 3.0: REQUIRED to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONTNEED, 3.0: DONE
ruby_3_0 4328f93f1bf08296115172a279e2d85a0ed80122 merged revision(s) 87437326214e4587a41946c8937e11418d983acd.
----------------------------------------
Bug #17581: Ruby 3.0 backtrace sometimes returns empty array
https://bugs.ruby-lang.org/issues/17581#change-90708
* Author: HParker (Adam Hess)
* Status: Closed
* Priority: Normal
* Assignee: jeremyevans0 (Jeremy Evans)
* ruby -v: ruby 3.0.0dev (2020-09-04T16:41:35Z master de30450d91) [x86_64-darwin19]
* Backport: 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONTNEED, 3.0: DONE
----------------------------------------
```ruby
class Foo
def bar
p caller(1,1)
end
end
[Foo.new].group_by(&:bar)
```
3.0: []
2.7: ["test2.rb:6:in `each'"]
A similar thing happens when asking for a larger part of the backtrace:
```ruby
class Foo
def bar
p caller(0,4)
end
end
[Foo.new].group_by(&:bar)
```
3.0: ["test2.rb:3:in `bar'", "test2.rb:6:in `each'", "test2.rb:6:in `group_by'"]
2.7: ["test2.rb:3:in `bar'", "test2.rb:6:in `each'", "test2.rb:6:in `group_by'", "test2.rb:6:in `<main>'"]
I suspect it was introduced by: https://github.com/ruby/ruby/commit/3b24b7914c16930bfadc89d6aff6326a51c54295
Since it seems to have to do with which frames are returned, though I haven't verified since the commit is difficult to revert.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>