Skip to content
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

$@ not reliable before 5.14 #843

Closed
ambs opened this issue Oct 9, 2012 · 2 comments
Closed

$@ not reliable before 5.14 #843

ambs opened this issue Oct 9, 2012 · 2 comments
Labels

Comments

@ambs
Copy link
Member

ambs commented Oct 9, 2012

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.

@yanick
Copy link
Contributor

yanick commented May 13, 2013

@ambs, can you provide more details on where you got bit by that spontaneous mutation of $@?

@yanick
Copy link
Contributor

yanick commented May 9, 2014

If nobody minds, I'll close this one. We don't have an easy way to reproduce, and I don't think we have the tuits to reimplement a full exception stack system. And if we do, it's an effort that will probably be pushed for Dancer2.

@yanick yanick closed this as completed May 9, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants