I'm not able to reproduce a large leak. Running valgrind
for a couple hours and cycling the wallpaper every 5 seconds
resulted in:
==1448== LEAK SUMMARY:
==1448==    definitely lost: 1,152 bytes in 3 blocks
==1448==    indirectly lost: 10,728 bytes in 459 blocks
==1448==      possibly lost: 6,522 bytes in 84 blocks
==1448==    still reachable: 1,099,963 bytes in 11,510 blocks
==1448==         suppressed: 980,722 bytes in 11,295 blocks

I see some spikes of memory usage in massif when a large
animated gif is loaded since the gdk pixbuf loader pulls the
entire animation into memory. While less than ideal since we
don't display that animation, just the first frame, it is
released when the wallpaper cycles again. There's no option
in gdk to work around that.

Valgrind's exp-dhat tool also shows the 319 MB as the most
allocated when it loaded the large gif animation in another
shorter run (max_live below).

==8253== ======== SUMMARY STATISTICS ========
==8253== 
==8253== guest_insns:  203,499,954,091
==8253== 
==8253== max_live:     319,440,644 in 28,195 blocks
==8253== 
==8253== tot_alloc:    19,682,325,570 in 8,342,955 blocks
==8253== 
==8253== insns per allocated byte: 10

Having said that, just because I don't see big leaks doesn't mean
you're running down a code path I haven't in my testing so far.
https://wiki.ubuntu.com/Valgrind provides the basics of installing
valgrind for ubuntu. You'll need to install the debug symbol
packages for xfdesktop and all it's dependencies or else you'll
get a bunch of useless output like:
 by 0x81D9E2B: ??? (in /usr/lib64/libpangoft2-1.0.so.0.3600.2)
 by 0x81D893C: ??? (in /usr/lib64/libpangoft2-1.0.so.0.3600.2)
 by 0x84018DE: ??? (in /usr/lib64/libpango-1.0.so.0.3600.2)
 by 0x84045F5: ??? (in /usr/lib64/libpango-1.0.so.0.3600.2)
 by 0x8406537: ??? (in /usr/lib64/libpango-1.0.so.0.3600.2)

instead of:
4 bytes in 1 blocks are still reachable in loss record 43 of 9,359
 at 0x4C28710: malloc (vg_replace_malloc.c:291)
 by 0x9AF65E9: strdup (strdup.c:42)
 by 0x5D07DD8: IceRegisterForProtocolSetup (in /usr/lib64/libICE.so.6.3.0)
 by 0x5AF05D8: SmcOpenConnection (in /usr/lib64/libSM.so.6.0.1)
 by 0x5045C32: xfce_sm_client_connect (xfce-sm-client.c:1598)
 by 0x425B0E: xfdesktop_application_start (xfdesktop-application.c:643)
 by 0x42576D: cb_wait_for_window_manager_destroyed (xfdesktop-application.c:565)

It may be a simple 'apt-get build-dep xfdesktop4' but your distribution
maintainers would be the right people to ask.

If you do want to test it, stop xfdesktop first 'xfdesktop -Q' then
launch valgrind, once you've collected some data (let it run for a
while) you'll need to kill xfdesktop cleanly or valgrind's output
won't be accurate (xfdesktop -Q or ctrl+c on the command line). Once
you have that feel free to attach valgrind's log.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1295614

Title:
  xfdesktop leaking memory on wallpaper change (ubuntu 14.04 with xfce)

To manage notifications about this bug go to:
https://bugs.launchpad.net/xfdesktop/+bug/1295614/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to