Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
$@ not reliable before 5.14 #843
Before 5.14 (check perldelta for details) some object needing to be free can make a DESTROY to be called between an eval and the usage of $@, putting some weird content on $@ (for instance, an empty string).
I was hurt by this on a running application on dot cloud.
It is not easy to reproduce. First, you need perl 5.12 or previous. Then, you need an application doing a forward, for instance, then you need to have enough load for Perl to need to free objects. Finally, one need that Perl takes the time to free objects right in that spot.
Although it seems highly improbable, it is not.
@dams suggested an exceptions stack. This might be a good idea. And given D1 is mostly single app, we can even make that stack global or so.