-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Fix exception when searching #7659
Conversation
Thanks a lot for the investigation and the fix! However, I fear that the proposed changes will lead to other threading problems because currently |
I apologize for not considering other thread issues. The threading problem here mainly occurs in the put and remove methods I modified. Because the ObservableMap used here is not a thread-safe mapping. Therefore, there will be conflicts between put and remove. |
No worries! Do you know which code is invoking put and remove from different threads? |
org.jabref.logic.importer.ImportCleanup#doPostCleanup(java.util.Collection<org.jabref.model.entry.BibEntry>) |
If the parallel stream is the source for the problems, then just use a normal stream. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the quick follow-up!
…om.tngtech.archunit-archunit-junit5-api-0.18.0 * upstream/main: Fix exception when searching (#7659) Fixes #7660 (#7663) Fix for issue 5850: Journal abbreviations in UTF-8 not recognized (#7639) Fix SSLHandshake Exception by using bypass (#7657) Fix for issue 7633: Unable to download arXiv pdfs if Title contains curly brackets (#7652) Fix#7195 partly Opacity of disabled icon-buttons
We fix the issue that uncaught exception when searching in dark mode. In fact, we found that this issue is not a dark mode issue and this is a threading issue. So we use Platform.runLater() to ensure that there will be no conflicts when adding key-value pairs to the map.
fixes #7343
CHANGELOG.md
described in a way that is understandable for the average user (if applicable)