Bug#802009: nautilus: crashes when removing many files

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Fri Oct 16 19:53:26 UTC 2015


Package: nautilus
Version: 3.18.0-2+b1
Severity: important

Dear Maintainer,

nautilus crashes, when removing many files at once.
This did not happen with nautilus 3.14.2-1.

Steps to reproduce:
$ mkdir -p /tmp/test; for i in {1..10000}; do echo "$i" > /tmp/test/"$i"; done
$ nautilus /tmp
Now select the folder test, press <Shift>+<Del> to permanently delete it and
select 'Delete' in the confirmation dialog.

Then nautilus crashes after removing some of the files.
It seems to be some sort of race condition, as it doesn't happen always.
Increasing the number of files increases the likelihood of the crash.

Here is the backtrace:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fd39270c694 in __GI___libc_free (mem=mem at entry=0x4f9533) at malloc.c:2945
2945	malloc.c: No such file or directory.
[Current thread is 1 (Thread 0x7fd36ffff700 (LWP 3930))]
(gdb) bt
#0  0x00007fd39270c694 in __GI___libc_free (mem=mem at entry=0x4f9533) at malloc.c:2945
#1  0x00007fd39374866a in g_free (mem=mem at entry=0x4f9533) at /build/glib2.0-l3js1a/glib2.0-2.46.1/./glib/gmem.c:189
#2  0x00000000004a73cd in report_delete_progress (job=0x2458090, transfer_info=<optimized out>, transfer_info=<optimized out>, source_info=<optimized out>) at nautilus-file-operations.c:1552
#3  0x00000000004aa3ff in delete_file (toplevel=<optimized out>, transfer_info=<optimized out>, source_info=<optimized out>, skipped_file=<optimized out>, dir=<optimized out>, job=<optimized out>)
    at nautilus-file-operations.c:1726
#4  0x00000000004aa3ff in delete_file (job=job at entry=0x2458090, file=file at entry=0x20077a0, skipped_file=skipped_file at entry=0x7fd36fffea14, source_info=source_info at entry=0x7fd36fffeae0, transfer_info=transfer_info at entry=0x7fd36fffeb00, toplevel=0) at nautilus-file-operations.c:1762
#5  0x00000000004aa6a6 in delete_file (toplevel=1, transfer_info=0x2458090, source_info=0x7fd36fffeb00, skipped_file=0x7fd36fffeae0, dir=0x1f7c2a0, job=0x2458090) at nautilus-file-operations.c:1616
#6  0x00000000004aa6a6 in delete_file (job=job at entry=0x2458090, file=0x1f7c2a0, skipped_file=skipped_file at entry=0x7fd36fffead8, source_info=source_info at entry=0x7fd36fffeae0, transfer_info=transfer_info at entry=0x7fd36fffeb00, toplevel=1) at nautilus-file-operations.c:1762
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator': 
#7  0x00000000004ab01d in delete_job (files_skipped=<synthetic pointer>, files=0x1f6bc20, job=0x2458090) at nautilus-file-operations.c:1834
#8  0x00000000004ab01d in delete_job (io_job=0x239ea80, cancellable=<optimized out>, user_data=0x2458090) at nautilus-file-operations.c:2186
#9  0x00007fd393cbb986 in io_job_thread (task=<optimized out>, source_object=<optimized out>, task_data=0x239ea80, cancellable=<optimized out>) at /build/glib2.0-l3js1a/glib2.0-2.46.1/./gio/gioscheduler.c:85
#10 0x00007fd393ce0d88 in g_task_thread_pool_thread (thread_data=0x23601d0, pool_data=<optimized out>) at /build/glib2.0-l3js1a/glib2.0-2.46.1/./gio/gtask.c:1283
#11 0x00007fd39376a2ee in g_thread_pool_thread_proxy (data=<optimized out>) at /build/glib2.0-l3js1a/glib2.0-2.46.1/./glib/gthreadpool.c:307
#12 0x00007fd393769955 in g_thread_proxy (data=0x2351cf0) at /build/glib2.0-l3js1a/glib2.0-2.46.1/./glib/gthread.c:778
#13 0x00007fd392a410a4 in start_thread (arg=0x7fd36ffff700) at pthread_create.c:309
#14 0x00007fd39277606d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Redhat bug 1264666 [1] seems to be about the same problem.

I hope this can be fixed soon.

Best regards,
Andreas


1: https://bugzilla.redhat.com/show_bug.cgi?id=1264666

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.2.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages nautilus depends on:
ii  desktop-file-utils         0.22-1
ii  gsettings-desktop-schemas  3.18.0-1
ii  gvfs                       1.26.1.1-1
ii  libatk1.0-0                2.18.0-1
ii  libc6                      2.19-22
ii  libcairo-gobject2          1.14.2-2
ii  libcairo2                  1.14.2-2
ii  libexempi3                 2.2.2-2+b1
ii  libexif12                  0.6.21-2
ii  libgail-3-0                3.18.2-1
ii  libgdk-pixbuf2.0-0         2.32.1-1
ii  libglib2.0-0               2.46.1-1
ii  libglib2.0-data            2.46.1-1
ii  libgnome-desktop-3-12      3.18.1-1
ii  libgtk-3-0                 3.18.2-1
ii  libnautilus-extension1a    3.18.0-2+b1
ii  libpango-1.0-0             1.38.0-3
ii  libpangocairo-1.0-0        1.38.0-3
ii  libselinux1                2.3-2+b1
ii  libtracker-sparql-1.0-0    1.6.0-1
ii  libx11-6                   2:1.6.3-1
ii  libxml2                    2.9.2+zdfsg1-4
ii  nautilus-data              3.18.0-2
ii  shared-mime-info           1.5-2

Versions of packages nautilus recommends:
ii  gnome-icon-theme-symbolic  3.12.0-1
ii  gnome-sushi                3.18.0-1
ii  gvfs-backends              1.26.1.1-1
ii  librsvg2-common            2.40.11-1

Versions of packages nautilus suggests:
ii  brasero              3.12.1-1
ii  eog                  3.18.0-1+b1
ii  evince [pdf-viewer]  3.18.0-1
ii  totem                3.18.1-1+b1
ii  tracker              1.6.0-1
ii  xdg-user-dirs        0.15-2

-- no debconf information



More information about the pkg-gnome-maintainers mailing list