Bug 1649373
Summary: | Deadlock when marking as read message in a search folder | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Brian J. Murrell <brian> |
Component: | evolution-data-server | Assignee: | Milan Crha <mcrha> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | urgent | Docs Contact: | |
Priority: | unspecified | ||
Version: | 29 | CC: | caillon+fedoraproject, john.j5live, lucilanga, mcrha, rhughes, rstrode, sandmann |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | evolution-data-server-3.30.3 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2018-11-19 14:02:10 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Brian J. Murrell
2018-11-13 14:00:37 UTC
Thanks for a bug report. If I read the backtrace properly, then you've selected a search folder (or a virtual Trash or Junk folder) and you have selected one of the messages, which is being marked as read. This happens at the UI thread. At the same time, Thread 15 is updating that search folder with changes from one of its subfolders, holding one of the locks, which the main thread is waiting for. The main thread also probably holds a lock which the Thread 15 is waiting for, which causes the deadlock. I tried to address this upstream with the below change. It can be that there are more places missing, though I wasn't able to reproduce this one myself even before the change, thus it might be even harder to catch them all. Created commit [1] in eds master (3.31.3+) Created commit [2] in eds master (3.30.3+) [1] https://gitlab.gnome.org/GNOME/evolution-data-server/commit/fd0753b23 [2] https://gitlab.gnome.org/GNOME/evolution-data-server/commit/0a093c2f0 |