houseabsolute / Devel-StackTrace

An object representing a stack trace
https://metacpan.org/release/Devel-StackTrace/
Other
7 stars 13 forks source link

if skip_frames is too high, the entire message is lost #15

Closed karenetheridge closed 6 years ago

karenetheridge commented 6 years ago

found while investigating a Moose/Throwable bug:

$ perl -MDevel::StackTrace -wle'sub foo { return Devel::StackTrace->new(message=>"something bad happened", indent=>1, skip_frames=>0, no_refs=>1);} my $trace= foo(); print $trace'
something bad happened at -e line 1
    main::foo at -e line 1

$ perl -MDevel::StackTrace -wle'sub foo { return Devel::StackTrace->new(message=>"something bad happened", indent=>1, skip_frames=>1, no_refs=>1);} my $trace= foo(); print $trace'
something bad happened at -e line 1

$ perl -MDevel::StackTrace -wle'sub foo { return Devel::StackTrace->new(message=>"something bad happened", indent=>1, skip_frames=>2, no_refs=>1);} my $trace= foo(); print $trace'

No matter how high skip_frames is, the message part of the string should never be lost -- as that's still important.

autarch commented 6 years ago

Fixed in v2.03

karenetheridge commented 6 years ago

thank you!

Moose-2.2008 now depends on this version.