[Shotwell] shotwell consumes all available memory on startup

Adam Dingle adam at yorba.org
Tue Jan 25 21:21:16 UTC 2011


John,

Hm - it looks like Shotwell is consuming minutes of CPU at startup, even 
with an empty library with auto-import turned off.  Strange.

Could you do the following?  Follow the numbered steps under the item "I 
found a bug in Shotwell. How can I report it?" in the Shotwell FAQ 
(http://trac.yorba.org/wiki/Shotwell/FAQ).  For step 4 ("Make the crash 
happen"), simply press Ctrl+C in the GDB console window to break out of 
Shotwell after it's run for a few seconds.  Once you have the files 
shotwell.gdb and shotwell.log, either mail them to us directly at 
shotwell at yorba.org (this mailing list won't accept attachments, by the 
way) or create a new ticket at http://trac.yorba.org and attach the 
files there.  The contents of those files should reveal more about 
what's going on.  Thanks!

adam

On 01/25/2011 12:12 PM, John Carlyle-Clarke wrote:
> Adam-
>
> Thanks for the ongoing help :)
>
> I have 2G RAM and about 4G swap.
>
> johncc at liberator:~/Pictures$ free -m
>              total       used       free     shared    buffers     cached
> Mem:          2008       1044        963          0        116        306
> -/+ buffers/cache:        621       1387
> Swap:         4095        509       3586
>
> Seems like:
>
> johncc at liberator:~$ mkdir foo
> johncc at liberator:~$ shotwell -d foo/
>
> ... still starts to eat RAM in the same way.
>
> johncc at liberator:~/$ pg shotwell
> USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
> johncc    3356 86.2 84.0 4451664 1727856 pts/3 Rl+  20:00   7:15
>
> It does seem to have stabilized at that point, in that it's not 
> grabbing more RAM as far as I can tell, and there is still potentially 
> a bit left!
>
> johncc at liberator:~/$ free -m
>              total       used       free     shared    buffers     cached
> Mem:          2008       1987         20          0          1         49
> -/+ buffers/cache:       1936         71
> Swap:         4095       2918       1177
>
>
> I guessed there was no point trying the subsequent tests, but let me 
> know if you want me to.
>
> John
>
>
>
> On 25/01/11 18:36, Adam Dingle wrote:
>> John,
>>
>> First of all, the error "Directory Sony2 with ##### entries considered
>> invalid" is unrelated and is spurious: this is a manifestation of
>> http://trac.yorba.org/ticket/1872 .
>>
>> Your gconftool commands look correct, so we've ruled out that
>> auto-import is causing the memory flood; that's good.
>>
>> - How much RAM do you have on your system?
>>
>> - Can you do this? Start Shotwell with an empty library (e.g. "shotwell
>> -d ~/foo"), then import just 1000 of your photos. (Here's one way to do
>> that: use gnome-search-tool, otherwise known as Places->Search for
>> Files, to find all files in ~/Pictures, then select just 1000 of them
>> and drag them into Shotwell.) After you've done this, how much physical
>> and virtual memory is the 'shotwell' process using, e.g. as reported by
>> the GNOME System Monitor?
>>
>> - Now repeat the previous experiment with 5000 photos. Once again, how
>> much physical and virtual memory is the 'shotwell' process using?
>>
>> adam
>>
>> On 01/24/2011 04:33 PM, John Carlyle-Clarke wrote:
>>> Hi Adam-
>>>
>>> The progress dialog disappears before the memory usage starts to
>>> increase.
>>>
>>> johncc at liberator:~/Pictures$ du -shx
>>> 34G .
>>> johncc at liberator:~/Pictures$ find | wc -l
>>> 17696
>>>
>>> None of the pictures RAW format.
>>>
>>> I don't have full GNOME, so hopefully I did this right:-
>>>
>>> johncc at liberator:~/Pictures$ gconftool-2 --set --type=boolean
>>> /apps/shotwell/preferences/files/auto_import false
>>> johncc at liberator:~/Pictures$ gconftool-2 -R
>>> /apps/shotwell/preferences/files
>>> import_dir = /home/johncc/Pictures
>>> commit_metadata = true
>>> auto_import = false
>>>
>>> I still get the memory flood after this.
>>>
>>> By the way, I just noticed a spurious error I get sometimes. I'm not
>>> sure if it's connected, but I can't find any directory called Sony2!
>>>
>>> johncc at liberator:~/Pictures$ shotwell
>>> Error: Directory Sony2 with 20307 entries considered invalid; not read.
>>>
>>> Best regards,
>>>
>>> John
>>>
>>> On 25/01/11 00:09, Adam Dingle wrote:
>>>> John,
>>>>
>>>> - To be clear, does the progress dialog disappear, or does it remain
>>>> on-screen while the memory usage increases?
>>>>
>>>> - How many photos are in your Shotwell library? Approximately how many
>>>> of them are RAW?
>>>>
>>>> - Do you have the option to watch the library directory for new files
>>>> turned on? If so, could you try the following? While Shotwell is not
>>>> running, start gconf-editor, find the value
>>>> /apps/shotwell/preferences/files/auto_import and uncheck it to disable
>>>> library watching. Now start Shotwell again. Does the memory flood 
>>>> still
>>>> occur?
>>>>
>>>> adam
>>>>
>>>> On 01/24/2011 03:45 PM, John Carlyle-Clarke wrote:
>>>>> I'm having a problem with shotwell 0.8.1 on Archlinux 64-bit. When I
>>>>> start it, the progress dialog appears, followed by the UI. After a 
>>>>> few
>>>>> seconds, the UI becomes unresponsive and it starts to increase its
>>>>> memory usage until it consumes all RAM and swap.
>>>>>
>>>>> The end of the strace, which coincides with the beginning of the
>>>>> increasing memory use, is:-
>>>>>
>>>>> futex(0x7f6893be1ea0, FUTEX_WAKE_PRIVATE, 1) = 0
>>>>> futex(0x7f6894830528, FUTEX_WAKE_PRIVATE, 1) = 0
>>>>> futex(0x7f6894830528, FUTEX_WAKE_PRIVATE, 1) = 0
>>>>> futex(0x7f6894830528, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN
>>>>> (Resource temporarily unavailable)
>>>>> futex(0x7f6894830528, FUTEX_WAKE_PRIVATE, 1) = 0
>>>>> futex(0x7f689508d8e8, FUTEX_WAKE_PRIVATE, 1) = 0
>>>>> brk(0x5a2d000) = 0x5a2d000
>>>>> brk(0x5a88000) = 0x5a88000
>>>>> mmap(NULL, 499712, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f6888c62000
>>>>> mmap(NULL, 999424, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f6888b6e000
>>>>> mmap(NULL, 1994752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f6888987000
>>>>> futex(0x7f6893be1ea0, FUTEX_WAKE_PRIVATE, 1) = 1
>>>>> mmap(NULL, 3985408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f68885ba000
>>>>> mmap(NULL, 7966720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f687ad4f000
>>>>> futex(0x7f6893be1ea0, FUTEX_WAKE_PRIVATE, 1) = 1
>>>>> mmap(NULL, 15929344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f6879e1e000
>>>>> mmap(NULL, 31854592, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f6877fbd000
>>>>> futex(0x7f6893be1ea0, FUTEX_WAKE_PRIVATE, 1) = 1
>>>>> mmap(NULL, 63705088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f68742fc000
>>>>> mmap(NULL, 127406080, PROT_READ|PROT_WRITE, 
>>>>> MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f686c97b000
>>>>> mmap(NULL, 254808064, PROT_READ|PROT_WRITE, 
>>>>> MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f685d67a000
>>>>> mmap(NULL, 509612032, PROT_READ|PROT_WRITE, 
>>>>> MAP_PRIVATE|MAP_ANONYMOUS,
>>>>> -1, 0) = 0x7f683f079000
>>>>> mmap(NULL, 1019219968, PROT_READ|PROT_WRITE,
>>>>> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6802478000
>>>>> mmap(NULL, 2038435840, PROT_READ|PROT_WRITE,
>>>>> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f6788c77000
>>>>>
>>>>> Not sure what else I can usefully provide! Let me know...
>>>>>
> _______________________________________________
> Shotwell mailing list
> Shotwell at lists.yorba.org
> http://lists.yorba.org/cgi-bin/mailman/listinfo/shotwell




More information about the Shotwell-list mailing list