New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
$SIG{__DIE__} + goto -> infinite recursion & segfault #14990
Comments
From @FGasperCreated by @FGasper---------------------------------------------------------------------- use strict; syswrite \*STDOUT, "start!\n"; $SIG{'__DIE__'} = sub { sub _rethrow { die 'mayhem!'; ^^ Run the above code, and watch it segfault. It happens on all This should not (?) happen per "perldoc perlvar", which says Perl Info
|
From @tonycozOn Fri Oct 16 12:38:18 2015, felipe@felipegasper.com wrote:
goto &foo is one of the documented ways of exiting the __DIE__ handler, but it doesn't seem to be behaving as documented: When a C<__DIE__> hook routine returns, the exception The seg fault is due to running out of stack space from deep recursion. As to the recursion, the code checks whether the CV for the __DIE__ handler is running (with CvDEPTH()), which it isn't after goto &_rethrow. Tony |
The RT System itself - Status changed from 'new' to 'open' |
Migrated from rt.perl.org#126376 (status was 'open')
Searchable as RT126376$
The text was updated successfully, but these errors were encountered: