Skip to content

GFile leak in _thunar_io_jobs_rename

Version information

27c1c796 compiled on Arch Linux

Steps to reproduce

  1. thunar -q
  2. mkdir rename-leak
  3. touch rename-leak/a
  4. thunar rename-leak/
  5. In Thunar, rename a to b to trigger a memory leak

Current behavior

A memory leak is triggered

Expected outcome

No leaks

Backtrace

Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f496af7335d in calloc /usr/src/debug/compiler-rt/compiler-rt-20.1.6.src/lib/asan/asan_malloc_linux.cpp:74:3
    #1 0x7f4969b988ba in g_malloc0 glib/glib/gmem.c:133:13
    #2 0x7f4969f877d0 in g_type_create_instance glib/gobject/gtype.c:1882:17
    #3 0x7f4969f261e5 in g_object_new_internal glib/gobject/gobject.c:2664:24
    #4 0x7f4969f2427b in g_object_new_with_properties glib/gobject/gobject.c:2826:14
    #5 0x7f4969f2427b in g_object_new glib/gobject/gobject.c:2475:12
    #6 0x7f496aaac78c in _g_local_file_new glib/gio/glocalfile.c:233:11
    #7 0x7f496aad2009 in g_local_vfs_get_file_for_path glib/gio/glocalvfs.c:88:12
    #8 0x7f496a8d43c4 in g_vfs_get_file_for_path glib/gio/gvfs.c:165:10
    #9 0x7b4963393559 in g_daemon_vfs_get_file_for_path gvfs/client/gdaemonvfs.c:383:10
    #10 0x7b4963393559 in g_daemon_vfs_get_file_for_uri gvfs/client/gdaemonvfs.c:407:14
    #11 0x7f496a8d4726 in g_vfs_get_file_for_uri glib/gio/gvfs.c:247:11
    #12 0x7f496a75fc2d in g_file_new_for_uri glib/gio/gfile.c:7242:10
    #13 0x560feb7d1023 in _thunar_io_jobs_rename thunar/thunar/thunar-io-jobs.c:1473:48
    #14 0x560feb889199 in thunar_simple_job_execute thunar/thunar/thunar-simple-job.c:121:13
    #15 0x560feb7de08a in thunar_job_scheduler_job_func thunar/thunar/thunar-job.c:458:13
    #16 0x7f496a7c0d12 in io_job_thread glib/gio/gioscheduler.c:75:16
    #17 0x7f496a8960d1 in g_task_thread_pool_thread glib/gio/gtask.c:1585:3
    #18 0x7f4969c47235 in g_thread_pool_thread_proxy glib/glib/gthreadpool.c:336:15
    #19 0x7f4969c40a7e in g_thread_proxy glib/glib/gthread.c:893:20
    #20 0x7f496ae9d0fc in asan_thread_start /usr/src/debug/compiler-rt/compiler-rt-20.1.6.src/lib/asan/asan_interceptors.cpp:239:43

Additional information

I have a pending patch for this leak. I am investigating a few rename issues, so I just wanted to document the steps to make it easier to investigate any potential regressions later on.