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

try and die can cause infinite loop under some rare condition #519

Open
vrurg opened this issue Feb 7, 2019 · 1 comment
Open

try and die can cause infinite loop under some rare condition #519

vrurg opened this issue Feb 7, 2019 · 1 comment
Labels
waiting-for-user This ticket requires an update from the submitter

Comments

@vrurg
Copy link
Contributor

vrurg commented Feb 7, 2019

The bug was discovered in Perl6::Metamodel::MethodContainer role, add_method method while resolving rakudo/rakudo#2250. It turned out that the compiler is freezing due to infinite loop happening when nqp::die throws and the try block within it catches the exception (or whatever else happens internally) and passes the control back to the same die.

Unfortunately, I haven't managed to golf the code down. But in my fork of rakudo repository I have a tag try_die_loop with two commented out lines. Those lines would clearly demonstrate the issue when uncommented. For unexplainable reason these two lines doesn't cause same effect if replicated at any other location up the call stack.

Platform: This is nqp version 2018.12-84-g6cf6e9a72 built on MoarVM version 2018.12-45-ga9d02578a)

@coke
Copy link
Contributor

coke commented Apr 16, 2022

Is this issue still occurring with a recent rakudo fork?

@coke coke added the waiting-for-user This ticket requires an update from the submitter label Apr 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting-for-user This ticket requires an update from the submitter
Projects
None yet
Development

No branches or pull requests

2 participants