#17225 closed bug (fixed)
Tracker crashes generating thumbnails
Reported by: | bbjimmy | Owned by: | jscipione |
---|---|---|---|
Priority: | high | Milestone: | R1/beta4 |
Component: | Applications/Tracker | Version: | R1/beta3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
After opening my photos directory Tracker crashed.
Attachments (2)
Change History (14)
by , 3 years ago
Attachment: | Tracker-940-debug-28-08-2021-20-18-27.report added |
---|
comment:1 by , 3 years ago
I have similar issue, but only when opening directory from non BeFS (eg. from read only NTFS partition). Also, tracker seems to stutter while generating thumbnails on NTFS partition. On BeFS it's OK.
Attaching crash report.
Frame memory:
[0x7ffee70fea80] ........a..YY... c0 ea 0f e7 fe 7f 00 00 61 14 f5 59 59 01 00 00 [0x7ffee70fea90] P....... ....... 50 f0 0f e7 fe 7f 00 00 20 00 00 00 00 00 00 00 [0x7ffee70feaa0] ............... 20 eb 0f e7 fe 7f 00 00 e2 11 0c bf fe 00 00 00
0x7ffee70feb30 0xfebf0c11dd BBitmapStream::WriteAt(long, void const*, unsigned long) + 0x8d 0x7ffee70feb60 0x1595a048e6e BPositionIO::Write(void const*, unsigned long) + 0x2e 0x7ffee70fec00 0x1247e19d7f1 PNGTranslator::translate_from_png_to_bits(BPositionIO*, BPositionIO*) + 0x2d1 0x7ffee70fec60 0x1247e19f7ac BaseTranslator::BitsTranslate(BPositionIO*, translator_info const*, BMessage*, unsigned int, BPositionIO*) + 0x9c 0x7ffee70feee0 0xfebf0c62b7 BTranslatorRoster::Translate(BPositionIO*, translator_info const*, BMessage*, BPositionIO*, unsigned int, unsigned int, char const*) + 0xc7 0x7ffee70ff2c0 0x1592059edab BPrivate::get_thumbnail(void*) + 0x1ab 0x7ffee70ff2e0 0x135246da6a7 thread_entry + 0x17 00000000 0x7f1e8a782260 commpage_thread_exit + 0
comment:2 by , 3 years ago
On a potentially related note, I suggested on IRC and there seemed to be some agreement that using just 2 threads (one for large images and one for small images), either per-window or more likely in total, for thumbnail generation instead of 1 thread per file probably makes much more sense, as in the current model it is more than possible to run up hundreds of threads processing large images and run out of address space.
The bugs here look like JPEG translator issues, though, whether or not memory usage is a factor.
comment:3 by , 3 years ago
Is it running a thread per file? My und rstanding of the code and past discussions was that it would be a thread per open directory, which is what would make more sense to me.
comment:4 by , 3 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:5 by , 3 years ago
Do we have a device flag for "slow random IO" to distinguish between spinning metal hard drives and Flash memory devices? And an easy way to find it when given a directory file handle. Then it could be one thread for slow devices, #Cores threads for fast random IO devices.
Or more sensibly, a Tracker global threads limit. Have two worker thread pools, one for slow devices (has one worker) and one pool for fast devices (has #Cores workers).
comment:6 by , 3 years ago
I think it is the number of threads not the jpeg translator. After several crashes, it stopped crashing but there were the same number of files missing (blank) thumbnails as the crashes. later I removed two attributes from one of the files:
Media:Thumbnail
Media:Thumbnail:CreationTime
After re-opening the directory in Tracker, the appropriate thumbnail was created.
comment:7 by , 3 years ago
I've verified that it is not a bug in the jpeg translator, but thread issues. A bug is preventing thumbnails from finishing being generated and so more and more threads build up until Tracker runs into a limit and crashes. When you remove the attributes and restart the process it gets past the bug and completes. I have to figure out what is holding up the thumbnails.
comment:8 by , 3 years ago
Tracker isn't crashing when generating thumbnails for me but I do have this issue:
comment:10 by , 2 years ago
I think this can be safely closed as fixed in hrev56079 unless bbjimmy reports back.
comment:11 by , 2 years ago
Milestone: | Unscheduled → R1/beta4 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
Probably.
Debug report