Skip to content

Potential AnnexParseUtil Thread Safety #1146

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

Closed
philip-alldredge opened this issue Apr 18, 2018 · 3 comments
Closed

Potential AnnexParseUtil Thread Safety #1146

philip-alldredge opened this issue Apr 18, 2018 · 3 comments
Assignees
Milestone

Comments

@philip-alldredge
Copy link
Collaborator

philip-alldredge commented Apr 18, 2018

Summary

While using OSATE(with the graphical editor), the user interface hung. Two thread dumps are attached. They are taken from the same event. Multiple dumps were taken to allow looking for changes in the thread's state.
d3.txt
d2.txt

From my perspective, it looks like the issue is in AnnexParseUtil's usage of the parseResults hash map internally. The main thread is stuck in a loop in WeakHashMap while trying to put an entry into the map. I believe this indicates that the data structure is corrupted since the thread doesn't block and is in a seemingly endless loop. I suspect that synchronizing the usage of the map would fix the issue. However, I'm not aware of what could have triggered such behavior. I suspect it is Xtext performing a rebuild while the graphical editor is opening a resource. Unable to confirm.

Steps to Reproduce

Unable to reliable reproduce. As the time it occurred I performing small changes and saves to various resources and selecting various Eclipse views.

Environment

  • OSATE Version:
  • Platform: Windows
@lwrage
Copy link
Contributor

lwrage commented Jul 2, 2018

@philip-alldredge I can't look at the thread dumps. I only get a 404 error when clicking on the links.

@philip-alldredge
Copy link
Collaborator Author

@lwrage I updated the post to take the -core out of the URL. That seems to have fixed the links.

@ghost ghost assigned lwrage Jul 3, 2018
@ghost ghost added the in progress label Jul 3, 2018
@lwrage lwrage added this to the 2.3.5 milestone Jul 3, 2018
@lwrage
Copy link
Contributor

lwrage commented Jul 6, 2018

I'll synchronize the WeakHashMap.

@lwrage lwrage added the core label Jul 9, 2018
@ghost ghost added review and removed in progress labels Jul 23, 2018
@ghost ghost removed the review label Jul 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants