-
Notifications
You must be signed in to change notification settings - Fork 163
Infinite loop #319
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
Comments
Hi! I'm looking into this now (since infinite loop bugs are a severe issue to fix ASAP) and since you're pointing at the lock implementation, that leads me to wonder where the issue is. It could be one of either
Can you point to where in pumpkins code this infinite loop is occurring and provide reproduction steps? |
Thanks for your response! I believe the issue occurs in either The breaking call seems to be |
No, that isn't the info I needed. Of course the top of the callstack and this infinite loop (as is any deadlock, look up the term) is going to be inside dashmap. Structures that use locks and expose references to the caller, like dashmap or any code using Mutex from std is going to be carefully written to protect against deadlocks, you cannot protect against those; that is up to the user to follow some set of guidelines provided to avoid falling into a deadlock condition. You would get similar issues if you tried to lock a Mutex or Rwlock as write twice at the same time and it isn't the locks that are at fault. To know if it's actually a bug in dashmap and not incorrect usage of it, (documentation states a thread at once instant cannot perform a write action while holding a read reference to the map for example. the rules are the same as they are for rwlock in rust std) I would need some minimal example code that causes this bug or pointed out where it's happening in pumpkin, where it's calling dashmap and it never returns. Otherwise I can't really tell. |
Though I did just go and skim all references to dashmap inside the linked repository using code search since I had some time over and I am pretty confident this is not a dashmap bug, pumpkin is just violating the access restrictions causing a deadlock.
Due to that, closing this as not a bug unless meaningful evidence pointing out what exactly is happening in what context emerges. |
Uh oh!
There was an error while loading. Please reload this page.
There is an infinite loop that was introduced in #214 that breaks https://github.com/Snowiiii/Pumpkin from stopping
The text was updated successfully, but these errors were encountered: