Closed thesamesam closed 7 months ago
It seems stuck on a single file for me.
Okay, trying again with --debug
:
$ duperemove -rdh --hashfile=/root/srv.hash /srv --debug
[...]
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
0 extents found
fiemap_iter: filename "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index" idx 0 return poff 0 loff 0 len 0 flags 0x0
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
0 extents found
fiemap_iter: filename "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index" idx 0 return poff 0 loff 0 len 0 flags 0x0
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
0 extents found
fiemap_iter: filename "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index" idx 0 return poff 0 loff 0 len 0 flags 0x0
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
0 extents found
fiemap_iter: filename "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index" idx 0 return poff 0 loff 0 len 0 flags 0x0
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
0 extents found
fiemap_iter: filename "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index" idx 0 return poff 0 loff 0 len 0 flags 0x0
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
0 extents found
fiemap_iter: filename "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index" idx 0 return poff 0 loff 0 len 0 flags 0x0
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
^Z0 extents found
fiemap_iter: filename "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index" idx 0 return poff 0 loff 0 len 0 flags 0x0
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
0 extents found
fiemap_iter: filename "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index" idx 0 return poff 0 loff 0 len 0 flags 0x0
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
0 extents found
fiemap_iter: filename "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index" idx 0 return poff 0 loff 0 len 0 flags 0x0
Fiemap file "/srv/chroots/.#machine.amd64-stable1a48a14e69a8548b/var/lib/portage/home/.cache/mesa_shader_cache/index", start: 0, count: 292
[... going on and on, spamming the terminal ...]
gdb attached to the process:
0x00007f27cc2d222d in syscall () from /usr/lib64/libc.so.6
(gdb) bt
#0 0x00007f27cc2d222d in syscall () from /usr/lib64/libc.so.6
#1 0x00007f27cc5d7744 in g_cond_wait (cond=cond@entry=0x55ccbc080ce0, mutex=0x55ccbc081400) at ../glib-2.78.0/glib/gthread-posix.c:1552
#2 0x00007f27cc5a8d0c in g_thread_pool_free (pool=0x55ccbc080cc0, immediate=0, wait_=<optimized out>) at ../glib-2.78.0/glib/gthreadpool.c:931
#3 0x000055cbb59b1bf9 in dedupe_results (res=<optimized out>, whole_file=<optimized out>) at run_dedupe.c:647
#4 0x000055cbb59a9ab5 in process_duplicates () at duperemove.c:513
#5 0x000055cbb59affe8 in populate_tree (cfg=cfg@entry=0x55cbb59c1320 <dbfile_cfg>, callback=callback@entry=0x55cbb59a99d0 <process_duplicates>) at file_scan.c:1031
#6 0x000055cbb59a9721 in main (argc=<optimized out>, argv=0x7ffd4f005878) at duperemove.c:670
strace -f -p (it's noisier this time because of --debug
):
[...]
[pid 2328047] write(1, "fiemap_iter: filename \"/srv/chro"..., 171) = 171
[pid 2328047] write(1, "Fiemap file \"/srv/chroots/.#mach"..., 140) = 140
[pid 2328047] ioctl(4, FS_IOC_FIEMAP, {fm_start=0, fm_length=18446744073709551615, fm_flags=0, fm_extent_count=292} => {fm_flags=0, fm_mapped_extents=0, ...}) = 0
[pid 2328047] write(1, "0 extents found\n", 16) = 16
[pid 2328047] write(1, "fiemap_iter: filename \"/srv/chro"..., 171) = 171
[pid 2328047] write(1, "Fiemap file \"/srv/chroots/.#mach"..., 140) = 140
[pid 2328047] ioctl(4, FS_IOC_FIEMAP, {fm_start=0, fm_length=18446744073709551615, fm_flags=0, fm_extent_count=292} => {fm_flags=0, fm_mapped_extents=0, ...}) = 0
[pid 2328047] write(1, "0 extents found\n", 16) = 16
[pid 2328047] write(1, "fiemap_iter: filename \"/srv/chro"..., 171) = 171
[pid 2328047] write(1, "Fiemap file \"/srv/chroots/.#mach"..., 140) = 140
[pid 2328047] ioctl(4, FS_IOC_FIEMAP, {fm_start=0, fm_length=18446744073709551615, fm_flags=0, fm_extent_count=292} => {fm_flags=0, fm_mapped_extents=0, ...}) = 0
[pid 2328047] write(1, "0 extents found\n", 16) = 16
[pid 2328047] write(1, "fiemap_iter: filename \"/srv/chro"..., 171) = 171
[pid 2328047] write(1, "Fiemap file \"/srv/chroots/.#mach"..., 140) = 140
[pid 2328047] ioctl(4, FS_IOC_FIEMAP, {fm_start=0, fm_length=18446744073709551615, fm_flags=0, fm_extent_count=292} => {fm_flags=0, fm_mapped_extents=0, ...}) = 0
[pid 2328047] write(1, "0 extents found\n", 16) = 16
[pid 2328047] write(1, "fiemap_iter: filename \"/srv/chro"..., 171) = 171
[pid 2328047] write(1, "Fiemap file \"/srv/chroots/.#mach"..., 140) = 140
[pid 2328047] ioctl(4, FS_IOC_FIEMAP, {fm_start=0, fm_length=18446744073709551615, fm_flags=0, fm_extent_count=292} => {fm_flags=0, fm_mapped_extents=0, ...}) = 0
[pid 2328047] write(1, "0 extents found\n", 16) = 16
[pid 2328047] write(1, "fiemap_iter: filename \"/srv/chro"..., 171) = 171
[pid 2328047] write(1, "Fiemap file \"/srv/chroots/.#mach"..., 140) = 140
[pid 2328047] ioctl(4, FS_IOC_FIEMAP, {fm_start=0, fm_length=18446744073709551615, fm_flags=0, fm_extent_count=292}^C => {fm_flags=0, fm_mapped_extents=0, ...}) = 0
strace: Process 2242507 detached
strace: Process 2327882 detached
strace: Process 2328047 detached
Same here, using duperemove -rd dir
, it gets stuck at a particular file all the time.
0.14 seems OK for me. I can reopen if others are still seeing it stuck.
In the past, duperemove on this set of data didn't take that long (maybe 10 minutes at most). But so far, it's been running for over 1hr10m.
If I attach gdb, I get (I'm going to rebuild it with debug info now):
strace -f
says: