ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:99172] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception
@ 2020-07-15  4:39 snickhackman
  2020-07-15  4:45 ` [ruby-core:99173] " snickhackman
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: snickhackman @ 2020-07-15  4:39 UTC (permalink / raw)
  To: ruby-core

Issue #17033 has been reported by NickHackman (Nick Hackman).

----------------------------------------
Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
https://bugs.ruby-lang.org/issues/17033

* Author: NickHackman (Nick Hackman)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
In Ruby 2.7.1 when an Exception occurs and another occurs when handling the first one it results in an infinite Traceback that doesn't mention the error.

```ruby
class MyException < StandardError
  def initialize(obj)
    @obj = obj
  end

  def to_s
    @obj.to_strm
  end
end

begin
  raise MyException.new('test'), 'message'
rescue StandardError => e
  puts e.to_s
end
```

In the above instance, there's a typo `to_strm` doesn't exist for type String, but instead of a normal case of a typo saying that the method doesn't exist the output is

```
~ λ ruby ruby_traceback_hell.rb
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
...
```
it keeps going without printing any sort of message about the actual error.

It's expected that this would result in a message saying that the method is undefined, and this is the behavior on 2.5.1, and appears to be a regression in 2.7.1



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:99173] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception
  2020-07-15  4:39 [ruby-core:99172] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception snickhackman
@ 2020-07-15  4:45 ` snickhackman
  2020-07-17  0:07 ` [ruby-core:99197] " ujihisa
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: snickhackman @ 2020-07-15  4:45 UTC (permalink / raw)
  To: ruby-core

Issue #17033 has been updated by NickHackman (Nick Hackman).


NickHackman (Nick Hackman) wrote:
> In Ruby 2.7.1 when an Exception occurs and another occurs when handling the first one it results in an infinite Traceback that doesn't mention the error.
> 
> ```ruby
> class MyException < StandardError
>   def initialize(obj)
>     @obj = obj
>   end
> 
>   def to_s
>     @obj.to_strm
>   end
> end
> 
> begin
>   raise MyException.new('test'), 'message'
> rescue StandardError => e
>   puts e.to_s
> end
> ```
> 
> In the above instance, there's a typo `to_strm` doesn't exist for type String, but instead of a normal case of a typo saying that the method doesn't exist the output is
> 
> ```
> ~ λ ruby ruby_traceback_hell.rb
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> Traceback (most recent call last):
> ...
> ```
> it keeps going without printing any sort of message about the actual error.
> 
> It's expected that this would result in a message saying that the method is undefined, and this is the behavior on 2.5.1, and appears to be a regression in 2.7.1


If this is an actual issue is it possible I could work on it?

----------------------------------------
Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
https://bugs.ruby-lang.org/issues/17033#change-86550

* Author: NickHackman (Nick Hackman)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
In Ruby 2.7.1 when an Exception occurs and another occurs when handling the first one it results in an infinite Traceback that doesn't mention the error.

```ruby
class MyException < StandardError
  def initialize(obj)
    @obj = obj
  end

  def to_s
    @obj.to_strm
  end
end

begin
  raise MyException.new('test'), 'message'
rescue StandardError => e
  puts e.to_s
end
```

In the above instance, there's a typo `to_strm` doesn't exist for type String, but instead of a normal case of a typo saying that the method doesn't exist the output is

```
~ λ ruby ruby_traceback_hell.rb
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
...
```
it keeps going without printing any sort of message about the actual error.

It's expected that this would result in a message saying that the method is undefined, and this is the behavior on 2.5.1, and appears to be a regression in 2.7.1



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:99197] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception
  2020-07-15  4:39 [ruby-core:99172] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception snickhackman
  2020-07-15  4:45 ` [ruby-core:99173] " snickhackman
@ 2020-07-17  0:07 ` ujihisa
  2020-07-18  2:33 ` [ruby-core:99211] " nobu
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: ujihisa @ 2020-07-17  0:07 UTC (permalink / raw)
  To: ruby-core

Issue #17033 has been updated by ujihisa (Tatsuhiro Ujihisa).


(Oh I see, this and https://bugs.ruby-lang.org/issues/14566#change-71448 were independent)

----------------------------------------
Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
https://bugs.ruby-lang.org/issues/17033#change-86577

* Author: NickHackman (Nick Hackman)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
* Backport: 2.5: DONTNEED, 2.6: REQUIRED, 2.7: REQUIRED
----------------------------------------
In Ruby 2.7.1 when an Exception occurs and another occurs when handling the first one it results in an infinite Traceback that doesn't mention the error.

```ruby
class MyException < StandardError
  def initialize(obj)
    @obj = obj
  end

  def to_s
    @obj.to_strm
  end
end

begin
  raise MyException.new('test'), 'message'
rescue StandardError => e
  puts e.to_s
end
```

In the above instance, there's a typo `to_strm` doesn't exist for type String, but instead of a normal case of a typo saying that the method doesn't exist the output is

```
~ λ ruby ruby_traceback_hell.rb
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
...
```
it keeps going without printing any sort of message about the actual error.

It's expected that this would result in a message saying that the method is undefined, and this is the behavior on 2.5.1, and appears to be a regression in 2.7.1



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:99211] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception
  2020-07-15  4:39 [ruby-core:99172] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception snickhackman
  2020-07-15  4:45 ` [ruby-core:99173] " snickhackman
  2020-07-17  0:07 ` [ruby-core:99197] " ujihisa
@ 2020-07-18  2:33 ` nobu
  2020-07-23  3:13 ` [ruby-core:99287] " nagachika00
  2021-04-04 22:25 ` [ruby-core:103211] " usa
  4 siblings, 0 replies; 6+ messages in thread
From: nobu @ 2020-07-18  2:33 UTC (permalink / raw)
  To: ruby-core

Issue #17033 has been updated by nobu (Nobuyoshi Nakada).


Yes, it is similar however occurs while printing causes, which was added at 2.6.

----------------------------------------
Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
https://bugs.ruby-lang.org/issues/17033#change-86591

* Author: NickHackman (Nick Hackman)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
* Backport: 2.5: DONTNEED, 2.6: REQUIRED, 2.7: REQUIRED
----------------------------------------
In Ruby 2.7.1 when an Exception occurs and another occurs when handling the first one it results in an infinite Traceback that doesn't mention the error.

```ruby
class MyException < StandardError
  def initialize(obj)
    @obj = obj
  end

  def to_s
    @obj.to_strm
  end
end

begin
  raise MyException.new('test'), 'message'
rescue StandardError => e
  puts e.to_s
end
```

In the above instance, there's a typo `to_strm` doesn't exist for type String, but instead of a normal case of a typo saying that the method doesn't exist the output is

```
~ λ ruby ruby_traceback_hell.rb
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
...
```
it keeps going without printing any sort of message about the actual error.

It's expected that this would result in a message saying that the method is undefined, and this is the behavior on 2.5.1, and appears to be a regression in 2.7.1



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:99287] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception
  2020-07-15  4:39 [ruby-core:99172] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception snickhackman
                   ` (2 preceding siblings ...)
  2020-07-18  2:33 ` [ruby-core:99211] " nobu
@ 2020-07-23  3:13 ` nagachika00
  2021-04-04 22:25 ` [ruby-core:103211] " usa
  4 siblings, 0 replies; 6+ messages in thread
From: nagachika00 @ 2020-07-23  3:13 UTC (permalink / raw)
  To: ruby-core

Issue #17033 has been updated by nagachika (Tomoyuki Chikanaga).

Backport changed from 2.5: DONTNEED, 2.6: REQUIRED, 2.7: REQUIRED to 2.5: DONTNEED, 2.6: REQUIRED, 2.7: DONE

ruby_2_7 27fa1c61b78c1685ccf9ac203a95cfa9041d618f merged revision(s) 579645d9f870fa4116dcd3200bbbb6e2c0b7f400.

----------------------------------------
Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
https://bugs.ruby-lang.org/issues/17033#change-86676

* Author: NickHackman (Nick Hackman)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
* Backport: 2.5: DONTNEED, 2.6: REQUIRED, 2.7: DONE
----------------------------------------
In Ruby 2.7.1 when an Exception occurs and another occurs when handling the first one it results in an infinite Traceback that doesn't mention the error.

```ruby
class MyException < StandardError
  def initialize(obj)
    @obj = obj
  end

  def to_s
    @obj.to_strm
  end
end

begin
  raise MyException.new('test'), 'message'
rescue StandardError => e
  puts e.to_s
end
```

In the above instance, there's a typo `to_strm` doesn't exist for type String, but instead of a normal case of a typo saying that the method doesn't exist the output is

```
~ λ ruby ruby_traceback_hell.rb
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
...
```
it keeps going without printing any sort of message about the actual error.

It's expected that this would result in a message saying that the method is undefined, and this is the behavior on 2.5.1, and appears to be a regression in 2.7.1



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:103211] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception
  2020-07-15  4:39 [ruby-core:99172] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception snickhackman
                   ` (3 preceding siblings ...)
  2020-07-23  3:13 ` [ruby-core:99287] " nagachika00
@ 2021-04-04 22:25 ` usa
  4 siblings, 0 replies; 6+ messages in thread
From: usa @ 2021-04-04 22:25 UTC (permalink / raw)
  To: ruby-core

Issue #17033 has been updated by usa (Usaku NAKAMURA).

Backport changed from 2.5: DONTNEED, 2.6: REQUIRED, 2.7: DONE to 2.5: DONTNEED, 2.6: DONE, 2.7: DONE

backported into ruby_2_6 at r67913.

----------------------------------------
Bug #17033: Infinite Traceback when encountering an Exception while catching an Exception
https://bugs.ruby-lang.org/issues/17033#change-91285

* Author: NickHackman (Nick Hackman)
* Status: Closed
* Priority: Normal
* ruby -v: ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
* Backport: 2.5: DONTNEED, 2.6: DONE, 2.7: DONE
----------------------------------------
In Ruby 2.7.1 when an Exception occurs and another occurs when handling the first one it results in an infinite Traceback that doesn't mention the error.

```ruby
class MyException < StandardError
  def initialize(obj)
    @obj = obj
  end

  def to_s
    @obj.to_strm
  end
end

begin
  raise MyException.new('test'), 'message'
rescue StandardError => e
  puts e.to_s
end
```

In the above instance, there's a typo `to_strm` doesn't exist for type String, but instead of a normal case of a typo saying that the method doesn't exist the output is

```
~ λ ruby ruby_traceback_hell.rb
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
...
```
it keeps going without printing any sort of message about the actual error.

It's expected that this would result in a message saying that the method is undefined, and this is the behavior on 2.5.1, and appears to be a regression in 2.7.1



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-04-04 22:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-15  4:39 [ruby-core:99172] [Ruby master Bug#17033] Infinite Traceback when encountering an Exception while catching an Exception snickhackman
2020-07-15  4:45 ` [ruby-core:99173] " snickhackman
2020-07-17  0:07 ` [ruby-core:99197] " ujihisa
2020-07-18  2:33 ` [ruby-core:99211] " nobu
2020-07-23  3:13 ` [ruby-core:99287] " nagachika00
2021-04-04 22:25 ` [ruby-core:103211] " usa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).