shotwell-video-thumbnailer process can interfere with startup
Submitted by Lucas Beeler
Assigned to cli..@..ba.org
Link to original bug (#718109)
Description
---- Reported by lucas@yorba.org 2011-12-30 14:54:00 -0800 ----
Original Redmine bug id: 4541
Original URL: http://redmine.yorba.org/issues/4541
Searchable id: yorba-bug-4541
Original author: Lucas Beeler
Original description:
Originally reported here: https://bugs.launchpad.net/ubuntu/+source/shotwell/+bug/909254
Original report text:
[what I did, although probably irrelevant to the problem, as described below]
I have a removable drive with all my photos on it.
Initially, I started shotwell with the drive UNplugged, so it showed lots of pictures as "missing".
I then quit, plugged in the drive, and started up shotwell.
It promptly froze, and subsequent kill/restarts continued to freeze.
[probably the cause of the problem]
It appears as if there is a /usr/bin/shotwell-video-thumbnailer process that ends up in state 'Sl' according to ps, and it runs on a '/media/SDCARD/PRIVATE/AVCHD/BDMV/MOVIEOBJ.BDM', some data file that gets generated by Panasonic cameras. Once I kill that process and wait a few seconds, shotwell comes back to life.
---- Additional Comments From shotwell-maint@gnome.bugs 2013-05-01 11:47:00 -0700 ----
History
Comment 1
Updated by Lucas Beeler over 1 year ago
- Category set to 4
- Priority changed from Normal to High
- Target version set to 0.13
I've explored this situation a little more deeply. .bdm files are metadata sidecar files that describe the packaging of an AVCHD video stream (see http://www.fileinfo.com/extension/bdm). They are not video files themselves, although Nautilus seems to recognize them as such and opens them in Totem. These files and the similar .bdmv metadata files will become more common as more devices shoot HD video. Already, another user chimed in on the linked launchpad bug noting that he's affected too.
We don't need to be able to read metadata from these files. But we need to make sure that the shotwell-video-thumbnailer doesn't become a zombie process when they're encountered.
Since HD video is becoming more common and it involves a soft lockup, I'm marking this for 0.13.
Comment 2
Updated by Adam Dingle about 1 year ago
-
Target version deleted (
<strike>
_0.13_</strike>
)
Comment 3
Updated by Jim Nelson 11 months ago
- Target version set to 0.14.0
Comment 4
Updated by Jim Nelson 11 months ago
- Category set to video
Comment 5
Updated by Jim Nelson 11 months ago
- Assignee set to Clinton Rogers
Comment 6
Updated by Clinton Rogers 10 months ago
I briefly mentioned part of this to Jim in person, but it's better to note it all here so we can all refer to it later.
In looking at the code, I see that the earliest possible place the thumbnailer can get spawned is from the import page. Since we no longer allow the import page to be displayed first (please see #5717), I don't believe this can happen anymore.
To check that a wedged thumbnailer can't ruin the main application, I inserted
code into the thumbnailer that would cause it to hang deliberately 1 at the
top of main()
:
while(1==1) GLib.Thread.usleep(GLib.Random.next_int() % 1024);
...and then launched Shotwell with the following cases:
- Empty library, un-imported, un-thumbnailed videos present in library directory
- Un-imported, un-thumbnailed videos in /DCIM and /PRIVATE/SONY of a removable storage device 2
- (with #6152 's fix applied) Already-imported videos with missing thumbnails
In each case, I verified that the thumbnailer was being run with top, and the main application had no trouble waiting the allotted timeout, then killing it cleanly, and all the while, I could navigate through the UI.
Unless there are objections, I'd like to vote for closing this as 'worksforme'; most likely, fixes for #5717 and #5992 prevent this from happening.
-
we don't currently have a camera on-site that generates .bdm files.
-
via Nautilus picking up on the presence of the DCIM directory and allowing the user to run a custom action.
Comment 7
Updated by Clinton Rogers 10 months ago
Per Jim, we're not closing - there's one case where the thumbnailer might get to run before initialization is completed, and, even if it doesn't hang, it could lead to startup lag, which is undesirable.
Comment 8
Updated by Clinton Rogers 10 months ago
- Status changed from Open to 5
- % Done changed from 0 to 100
- Resolution set to worksforme
It turned out to be the case that we can only ever call the video thumbnailer after initialization is fully done, so this shouldn't be possible anymore; closing as worksforme.
Comment 9
Updated by Charles Lindsay 7 months ago
- Status changed from 5 to Invalid
--- Bug imported by chaz@yorba.org 2013-11-25 21:55 UTC ---
This bug was previously known as bug 4541 at http://redmine.yorba.org/show_bug.cgi?id=4541
Unknown milestone "unknown in product shotwell. Setting to default milestone for this product, "---". Setting qa contact to the default for this product. This bug either had no qa contact or an invalid one.
Version: 0.14.0
Resolution: RESOLVED INVALID