develooper Front page | perl.perl5.porters | Postings from December 2014

Re: Is the warning fatalization mechanism in fact safe (specificaly FATAL => 'ununitialized')

Thread Previous | Thread Next
Father Chrysostomos
December 27, 2014 15:28
Re: Is the warning fatalization mechanism in fact safe (specificaly FATAL => 'ununitialized')
Message ID:
Peter Rabbitson wrote:
> Over the years I have heard several off-the-record remarks that the
> FATAL warning mechanism is in fact rather broken and can not be relied
> upon. Problems described ranged from "both warning and exception will
> disappear in the ether" to "will corrupt the callstack in cases of
> DESTROY-unwind FATAL warnings".

There have been several bugs in core with fatal warnings preventing
things from happening that should have happened already, such as file-
test operators not setting $!.  There also used to be memory leaks.  I
think I have fixed all those.

Fatal warnings can blow the top off the C stack inside a destructor.
See bug #123398.

Apart from that, fatal warnings are no worse than errors thrown by
tied variables, which, indeed, can cause eval{} not to catch an error,
which can be very confusing.  See bug #105916.

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About