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

infinite loop in Boss fight #61

Open
EX867 opened this issue Mar 14, 2018 · 3 comments
Open

infinite loop in Boss fight #61

EX867 opened this issue Mar 14, 2018 · 3 comments

Comments

@EX867
Copy link

EX867 commented Mar 14, 2018

infinite
I made darkness and evil both 1 in first of loop, and entered lock twice (by releasing it in thread 1) in thread 0, then can never enter if in thread 1.

@EX867 EX867 changed the title infinite loop in infinite loop in Boss fight Mar 14, 2018
@Soothsilver
Copy link
Collaborator

These kinds of "soft deadlocks" should have been a legitimate way of winning the game, yes, but we didn't implement it. It didn't occur to us at the time.

@EX867
Copy link
Author

EX867 commented Mar 14, 2018

Okay, I could solve it in different way.

@jerzydziewierz
Copy link

jerzydziewierz commented Sep 29, 2024

idea on how to implement it:

have an "automated scheduler" that activates an auto stepping of threads (at random, or sequentially, or whatever; it's important to push forward the threads that are allowed to run); and for each step auto executed, decrement a watchdog timer.

Importantly, passing through a critical section correctly resets the watchdog, as in "service has been rendered".

If the watchdog reaches zero in auto-stepping mode, it means that the program was in a faulty state, and a "denial of service" was achieved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants