Opened 9 years ago
Closed 9 years ago
#12072 closed bug (fixed)
Tracker crash while navigating CD
Reported by: | vidrep | Owned by: | mmlr |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Applications/Tracker | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
hrev49179 x86_64 Insert an unknown CD to determine contents. While navigating the files, tracker crash. Debug report attached.
Attachments (1)
Change History (4)
by , 9 years ago
Attachment: | Tracker-534-debug-18-05-2015-12-23-32.report added |
---|
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → in-progress |
This is probably caused by a regression introduced by hrev49011. The situation is rather ugly here, because the add poses thread runs through and periodically checks whether its targeted window is still there (by trying to lock it) and whether it is still the relevant thread for the target view. In case it fails to lock or is not the current thread anymore (due to the window target changing while the thread is running, like when navigating to another directory while the entries are still populating) it used to delete the container directly. In hrev49011 I changed that to instead "return" the container to the target view which could then decide whether it wants to keep the container or not, fixing a use-after-free for the OpenWithPoseView case where the container is shared. When locking fails, the view quite possibly is gone, so using it to return the container leads to a crash that would look like the one reported here.
The use-after-free therefore needs to be solved in another way.
I'm not sure if this issue is related in any way to ticket #11982.