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

DeferredUIMessages queue occassionally locked #116

Open
LinqLover opened this issue Feb 18, 2024 · 2 comments
Open

DeferredUIMessages queue occassionally locked #116

LinqLover opened this issue Feb 18, 2024 · 2 comments
Labels
bug [WHAT] Something isn't working as expected. Automated tests beneficial. :-

Comments

@LinqLover
Copy link
Contributor

Over the past few years, I have observed the following behavior a couple of times: In WorldState, the DeferredUIMessages SharedQueue keeps non-empty permanently, and sending nextOrNil to it always answers nil. Practically, this causes UI messages being handled a few ticks too late, or even never. In this situations, readSynch apparently has not been signaled often enough. I have however no idea how this situation arises, nor I could reproduce it ... possibly some concurrency issue?

@LinqLover LinqLover added the bug [WHAT] Something isn't working as expected. Automated tests beneficial. :- label Feb 18, 2024
@marceltaeumel
Copy link
Member

If you suspect that the two semaphores guarding deferred UI messages got somehow broken in your image, try resetting the entire queue:

DeferredUIMessages := SharedQueue new.

Do-it in a regular code browser on WorldState.

You can also signal readSynch manually if it seems one off. Not sure how this might have happened. Looking at SharedQueue >> #nextPut: ... maybe if there is an interrupt before readSynch signal? From [CMD]+[.] maybe?

Maybe this is the reason, SharedQueue2 exists? More robust? Levente might know more.

@squeak-smalltalk-bot
Copy link

squeak-smalltalk-bot commented Feb 19, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug [WHAT] Something isn't working as expected. Automated tests beneficial. :-
Projects
None yet
Development

No branches or pull requests

3 participants