After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 755207 - Nautilus crashes while opening locations where user don't have permissions
Nautilus crashes while opening locations where user don't have permissions
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: Crashers
3.17.x
Other Linux
: Normal normal
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
: 756407 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2015-09-18 07:56 UTC by Branko Grubic (bitlord)
Modified: 2015-10-11 21:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
directory-async: keep directory alive (1.62 KB, patch)
2015-10-07 18:33 UTC, Carlos Soriano
committed Details | Review
files-view: order unrefing the model so state is clean up (1.71 KB, patch)
2015-10-07 18:33 UTC, Carlos Soriano
committed Details | Review

Description Branko Grubic (bitlord) 2015-09-18 07:56:46 UTC
Nautilus 3.17.91 crashed while it was called from abrt applet and opened location where user don't have access. (downstream bug report https://bugzilla.redhat.com/show_bug.cgi?id=1256542 )




[New LWP 5763]
[New LWP 5764]
[New LWP 5765]
[New LWP 5766]
[New LWP 5767]
[New LWP 5773]
[New LWP 5769]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/nautilus --gapplication-service'.
Program terminated with signal SIGSEGV, Segmentation fault.

Thread 1 (Thread 0x7f5a1c112a80 (LWP 5763))

  • #0 directory_load_done
    at nautilus-directory-async.c line 1085
  • #1 enumerate_children_callback
    at nautilus-directory-async.c line 2009
  • #2 g_task_return_now
    at gtask.c line 1104
  • #3 complete_in_idle_cb
    at gtask.c line 1118
  • #4 g_main_dispatch
    at gmain.c line 3154
  • #5 g_main_context_dispatch
    at gmain.c line 3769
  • #6 g_main_context_iterate
    at gmain.c line 3840
  • #7 g_main_context_iteration
    at gmain.c line 3901
  • #8 g_application_run
    at gapplication.c line 2311
  • #9 main
    at nautilus-main.c line 103

Thread 4 (Thread 0x7f59fead0700 (LWP 5766))

  • #0 syscall
    at ../sysdeps/unix/sysv/linux/x86_64/syscall.S line 38
  • #1 g_cond_wait_until
    at gthread-posix.c line 1444
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 422
  • #3 g_async_queue_timeout_pop_unlocked
    at gasyncqueue.c line 570
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 262
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 778
  • #7 start_thread
    at pthread_create.c line 334
  • #8 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 109

Thread 6 (Thread 0x7f59f2122700 (LWP 5773))

  • #0 syscall
    at ../sysdeps/unix/sysv/linux/x86_64/syscall.S line 38
  • #1 g_cond_wait_until
    at gthread-posix.c line 1444
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 422
  • #3 g_async_queue_timeout_pop_unlocked
    at gasyncqueue.c line 570
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 262
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 778
  • #7 start_thread
    at pthread_create.c line 334
  • #8 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 109

Thread 7 (Thread 0x7f59f2f35700 (LWP 5769))

  • #0 syscall
    at ../sysdeps/unix/sysv/linux/x86_64/syscall.S line 38
  • #1 g_cond_wait_until
    at gthread-posix.c line 1444
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 422
  • #3 g_async_queue_timeout_pop_unlocked
    at gasyncqueue.c line 570
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 262
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 778
  • #7 start_thread
    at pthread_create.c line 334
  • #8 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 109
From                To                  Syms Read   Shared Object Library
                                        No          linux-vdso.so.1
0x00007f5a1bda5ef0  0x00007f5a1bdb4d24  Yes         /usr/lib64/libtracker-sparql-1.0.so.0
0x00007f5a1bb98cd0  0x00007f5a1bb9bfc6  Yes         /usr/lib64/libnautilus-extension.so.1
0x00007f5a1b98fca0  0x00007f5a1b993c01  Yes         /usr/lib64/libgailutil-3.so.0
0x00007f5a1b7614f0  0x00007f5a1b77b640  Yes         /usr/lib64/libgnome-desktop-3.so.12
0x00007f5a1ae5a200  0x00007f5a1b1b980a  Yes         /usr/lib64/libgtk-3.so.0
0x00007f5a1ab22890  0x00007f5a1ab8ac21  Yes         /usr/lib64/libgdk-3.so.0
0x00007f5a1a8f5a00  0x00007f5a1a8fa8f6  Yes         /usr/lib64/libpangocairo-1.0.so.0
0x00007f5a1a6b2940  0x00007f5a1a6d1eb6  Yes         /usr/lib64/libpango-1.0.so.0
0x00007f5a1a48b1f0  0x00007f5a1a497643  Yes         /usr/lib64/libatk-1.0.so.0
0x00007f5a1a27a560  0x00007f5a1a27b4f9  Yes         /usr/lib64/libcairo-gobject.so.2
0x00007f5a19f619f0  0x00007f5a1a030d77  Yes         /usr/lib64/libcairo.so.2
0x00007f5a19d2f120  0x00007f5a19d43469  Yes         /usr/lib64/libgdk_pixbuf-2.0.so.0
0x00007f5a199f04e0  0x00007f5a19ad2850  Yes         /usr/lib64/libxml2.so.2
0x00007f5a1969ffe0  0x00007f5a19727a04  Yes         /usr/lib64/libX11.so.6
0x00007f5a194806b0  0x00007f5a1948082a  Yes         /usr/lib64/libgthread-2.0.so.0
0x00007f5a1927d190  0x00007f5a1927e095  Yes         /usr/lib64/libgmodule-2.0.so.0
0x00007f5a18f25060  0x00007f5a18ffdcdb  Yes         /usr/lib64/libgio-2.0.so.0
0x00007f5a18ca7730  0x00007f5a18cd9246  Yes         /usr/lib64/libgobject-2.0.so.0
0x00007f5a1897e8b0  0x00007f5a18a1ac39  Yes         /usr/lib64/libglib-2.0.so.0
0x00007f5a1872e6e0  0x00007f5a1873f363  Yes         /usr/lib64/libexif.so.12
0x00007f5a18421a50  0x00007f5a184c8d80  Yes         /usr/lib64/libexempi.so.3
0x00007f5a181c8290  0x00007f5a181daaeb  Yes         /usr/lib64/libselinux.so.1
0x00007f5a17ec5550  0x00007f5a17f30dda  Yes         /usr/lib64/libm.so.6
0x00007f5a17ca8a30  0x00007f5a17cb5841  Yes         /usr/lib64/libpthread.so.0
0x00007f5a17901760  0x00007f5a17a4f6d4  Yes         /usr/lib64/libc.so.6
0x00007f5a1766e9a0  0x00007f5a176c1280  Yes         /usr/lib64/tracker-1.0/libtracker-data.so.0
0x00007f5a17445200  0x00007f5a174515b9  Yes         /lib64/libz.so.1
0x00007f5a17238310  0x00007f5a1723d7c9  Yes         /usr/lib64/tracker-1.0/libtracker-common.so.0
0x00007f5a16f6f8c0  0x00007f5a1700ab8f  Yes         /lib64/libsqlite3.so.0
0x00007f5a16bc4de0  0x00007f5a16cf0231  Yes         /lib64/libicui18n.so.54
0x00007f5a167d1330  0x00007f5a1688833e  Yes         /lib64/libicuuc.so.54
0x00007f5a14d51570  0x00007f5a14d51670  Yes (*)     /lib64/libicudata.so.54
0x00007f5a14b4d5f0  0x00007f5a14b4ec41  Yes         /lib64/libuuid.so.1
0x00007f5a14942d30  0x00007f5a14948b52  Yes         /usr/lib64/libXrandr.so.2
0x00007f5a14732770  0x00007f5a1473c5ff  Yes         /usr/lib64/libXext.so.6
0x00007f5a14529150  0x00007f5a1452c09f  Yes         /usr/lib64/librt.so.1
0x00007f5a14319230  0x00007f5a14323787  Yes         /usr/lib64/libXi.so.6
0x00007f5a141125f0  0x00007f5a14114906  Yes         /usr/lib64/libXfixes.so.3
0x00007f5a13eec520  0x00007f5a13f004e9  Yes         /usr/lib64/libatk-bridge-2.0.so.0
0x00007f5a13c40a30  0x00007f5a13c82ac6  Yes         /usr/lib64/libepoxy.so.0
0x00007f5a139d5380  0x00007f5a139ddf1d  Yes         /usr/lib64/libpangoft2-1.0.so.0
0x00007f5a13790de0  0x00007f5a137b00aa  Yes         /usr/lib64/libfontconfig.so.1
0x00007f5a13587bb0  0x00007f5a13588514  Yes         /usr/lib64/libXinerama.so.1
0x00007f5a1337eab0  0x00007f5a13383687  Yes         /usr/lib64/libXcursor.so.1
0x00007f5a13179cd0  0x00007f5a1317a6f5  Yes         /usr/lib64/libXcomposite.so.1
0x00007f5a12f76c40  0x00007f5a12f7756b  Yes         /usr/lib64/libXdamage.so.1
0x00007f5a12d3a3a0  0x00007f5a12d54ee5  Yes         /usr/lib64/libxkbcommon.so.0
0x00007f5a12b2f2a0  0x00007f5a12b30e11  Yes         /usr/lib64/libwayland-cursor.so.0
0x00007f5a1292c700  0x00007f5a1292c8d6  Yes         /usr/lib64/libwayland-egl.so.1
0x00007f5a12722fc0  0x00007f5a127274a7  Yes         /usr/lib64/libwayland-client.so.0
0x00007f5a12516db0  0x00007f5a1251a5b5  Yes         /usr/lib64/libthai.so.0
0x00007f5a122bb400  0x00007f5a122f7599  Yes         /usr/lib64/libharfbuzz.so.0
0x00007f5a12018c30  0x00007f5a120875e2  Yes         /usr/lib64/libfreetype.so.6
0x00007f5a11d6c6a0  0x00007f5a11df102d  Yes         /usr/lib64/libpixman-1.so.0
0x00007f5a11b3f790  0x00007f5a11b54c39  Yes         /usr/lib64/libEGL.so.1
0x00007f5a11935e60  0x00007f5a11936a4e  Yes         /usr/lib64/libdl.so.2
0x00007f5a117074c0  0x00007f5a11729005  Yes         /usr/lib64/libpng16.so.16
0x00007f5a114fedf0  0x00007f5a114ff903  Yes         /usr/lib64/libxcb-shm.so.0
0x00007f5a112f7610  0x00007f5a112faa8a  Yes         /usr/lib64/libxcb-render.so.0
0x00007f5a110dbbd0  0x00007f5a110ea395  Yes         /usr/lib64/libxcb.so.1
0x00007f5a10ec8b70  0x00007f5a10eceb35  Yes         /usr/lib64/libXrender.so.1
0x00007f5a10c46fa0  0x00007f5a10ca3c92  Yes         /usr/lib64/libGL.so.1
0x00007f5a10a0c030  0x00007f5a10a22942  Yes         /usr/lib64/liblzma.so.5
0x00007f5a10802870  0x00007f5a10806f8c  Yes         /usr/lib64/libffi.so.6
0x00007f5a105e9980  0x00007f5a105f8e11  Yes         /usr/lib64/libresolv.so.2
0x00007f5a103bfe00  0x00007f5a103d8089  Yes         /usr/lib64/libexpat.so.1
0x00007f5a100c3fa0  0x00007f5a1016fad9  Yes         /usr/lib64/libstdc++.so.6
0x00007f5a1bfbfad0  0x00007f5a1bfda3c0  Yes         /lib64/ld-linux-x86-64.so.2
0x00007f5a0fe25af0  0x00007f5a0fe35845  Yes         /usr/lib64/libgcc_s.so.1
0x00007f5a0fbb46f0  0x00007f5a0fc03476  Yes         /usr/lib64/libpcre.so.1
0x00007f5a0f9918c0  0x00007f5a0f9a2fb8  Yes         /usr/lib64/libatspi.so.0
0x00007f5a0f73fdb0  0x00007f5a0f76ab44  Yes         /usr/lib64/libdbus-1.so.3
0x00007f5a0f52b410  0x00007f5a0f52e664  Yes         /usr/lib64/libdatrie.so.1
0x00007f5a0f30f6b0  0x00007f5a0f322808  Yes         /usr/lib64/libgraphite2.so.3
0x00007f5a0f0fe760  0x00007f5a0f10a4a2  Yes         /usr/lib64/libbz2.so.1
0x00007f5a0eefb600  0x00007f5a0eefb71b  Yes         /usr/lib64/libX11-xcb.so.1
0x00007f5a0ecf7930  0x00007f5a0ecf8a55  Yes         /usr/lib64/libxcb-dri2.so.0
0x00007f5a0eaf0830  0x00007f5a0eaf2c05  Yes         /usr/lib64/libxcb-xfixes.so.0
0x00007f5a0e8eb020  0x00007f5a0e8ebbc5  Yes         /usr/lib64/libxcb-shape.so.0
0x00007f5a0e6de850  0x00007f5a0e6e3d75  Yes         /usr/lib64/libgbm.so.1
0x00007f5a0e4d0220  0x00007f5a0e4d5c27  Yes         /usr/lib64/libwayland-server.so.0
0x00007f5a0e2bf6c0  0x00007f5a0e2c5df0  Yes         /usr/lib64/libdrm.so.2
0x00007f5a0e0b8ec0  0x00007f5a0e0b9bf9  Yes         /usr/lib64/libXau.so.6
0x00007f5a0de949e0  0x00007f5a0de9f91e  Yes         /usr/lib64/libglapi.so.0
0x00007f5a0dc7b030  0x00007f5a0dc82bc5  Yes         /usr/lib64/libxcb-glx.so.0
0x00007f5a0da6ed50  0x00007f5a0da6f4f3  Yes         /usr/lib64/libxcb-dri3.so.0
0x00007f5a0d86bc50  0x00007f5a0d86c428  Yes         /usr/lib64/libxcb-present.so.0
0x00007f5a0d662bd0  0x00007f5a0d666a21  Yes         /usr/lib64/libxcb-randr.so.0
0x00007f5a0d458060  0x00007f5a0d459fc9  Yes         /usr/lib64/libxcb-sync.so.1
0x00007f5a0d253990  0x00007f5a0d253c7c  Yes         /usr/lib64/libxshmfence.so.1
0x00007f5a0d04e010  0x00007f5a0d0508b8  Yes         /usr/lib64/libXxf86vm.so.1
0x00007f5a1c12a9b0  0x00007f5a1c18059f  Yes         /usr/lib64/libsystemd.so.0
0x00007f5a0cd70900  0x00007f5a0ce14a48  Yes         /usr/lib64/libgcrypt.so.20
0x00007f5a0cb57740  0x00007f5a0cb601f9  Yes         /usr/lib64/libgpg-error.so.0
0x00007f5a0c915730  0x00007f5a0c945a76  Yes         /usr/lib64/libdw.so.1
0x00007f5a0c708670  0x00007f5a0c709fe6  Yes         /usr/lib64/libcap.so.2
0x00007f5a0c4f3b70  0x00007f5a0c50193d  Yes         /lib64/libelf.so.1
0x00007f5a0c2ec3d0  0x00007f5a0c2ee4ca  Yes         /usr/lib64/libattr.so.1
0x00007f5a0476eae0  0x00007f5a04788c06  Yes         /usr/lib64/gio/modules/libgvfsdbus.so
0x00007f5a04539480  0x00007f5a0454fd66  Yes         /usr/lib64/gvfs/libgvfscommon.so
0x00007f5a04323ea0  0x00007f5a04324745  Yes         /usr/lib64/libutil.so.1
0x00007f5a041208e0  0x00007f5a041211d0  Yes         /usr/lib64/gtk-3.0/modules/libpk-gtk-module.so
0x00007f59ffdfb1b0  0x00007f59ffdfd1b0  Yes         /usr/lib64/gtk-3.0/modules/libcanberra-gtk-module.so
0x00007f59ffbf4da0  0x00007f59ffbf636e  Yes         /usr/lib64/libcanberra-gtk3.so.0
0x00007f59ff9e43d0  0x00007f59ff9ed96a  Yes         /usr/lib64/libcanberra.so.0
0x00007f59ff7da110  0x00007f59ff7de31c  Yes         /usr/lib64/libvorbisfile.so.3
0x00007f59ff5c5000  0x00007f59ff5d04a3  Yes         /usr/lib64/libtdb.so.1
0x00007f59ff3ba490  0x00007f59ff3be7a2  Yes         /usr/lib64/libltdl.so.7
0x00007f59ff18e7c0  0x00007f59ff1a4ddd  Yes         /usr/lib64/libvorbis.so.0
0x00007f59fef85aa0  0x00007f59fef87f15  Yes         /usr/lib64/libogg.so.0
0x00007f59fed4edc0  0x00007f59fed530d8  Yes         /usr/lib64/libcrypt.so.1
0x00007f59fead4900  0x00007f59feb28a6d  Yes         /usr/lib64/libfreebl3.so
0x00007f59fe0c6be0  0x00007f59fe0cb8fe  Yes         /usr/lib64/gio/modules/libdconfsettings.so
0x00007f59fd6bf210  0x00007f59fd6bf900  Yes         /usr/lib64/nautilus/extensions-3.0/libnautilus-seahorse.so
0x00007f59fd4bc050  0x00007f59fd4bc440  Yes         /usr/lib64/nautilus/extensions-3.0/libnautilus-sendto.so
0x00007f59fd2b5750  0x00007f59fd2b7202  Yes         /usr/lib64/nautilus/extensions-3.0/libtotem-properties-page.so
0x00007f59fd0810d0  0x00007f59fd09dbdc  Yes         /usr/lib64/libgsttag-1.0.so.0
0x00007f59fce579e0  0x00007f59fce6816a  Yes         /usr/lib64/libgstpbutils-1.0.so.0
0x00007f59fcb56390  0x00007f59fcbedfe9  Yes         /usr/lib64/libgstreamer-1.0.so.0
0x00007f59fc8d5f90  0x00007f59fc91052e  Yes         /usr/lib64/libgstbase-1.0.so.0
0x00007f59fc658ec0  0x00007f59fc69f39a  Yes         /usr/lib64/libgstvideo-1.0.so.0
0x00007f59fc401a50  0x00007f59fc42df1a  Yes         /usr/lib64/libgstaudio-1.0.so.0
0x00007f59fc17fce0  0x00007f59fc1cdf1f  Yes         /usr/lib64/liborc-0.4.so.0
0x00007f59f3dfca10  0x00007f59f3dfdbe1  Yes         /usr/lib64/nautilus/extensions-3.0/libnautilus-open-terminal.so
0x00007f59f3bd4650  0x00007f59f3bec9e5  Yes         /usr/lib64/libgconf-2.so.4
0x00007f59f39a8600  0x00007f59f39bc0d1  Yes         /usr/lib64/libdbus-glib-1.so.2
0x00007f59f379a920  0x00007f59f379b290  Yes         /usr/lib64/nautilus/extensions-3.0/libnautilus-fileroller.so
0x00007f59f3595f00  0x00007f59f35967f9  Yes         /usr/lib64/nautilus/extensions-3.0/libnautilus-share-extension.so
0x00007f59f33911b0  0x00007f59f3392397  Yes         /usr/lib64/nautilus/extensions-3.0/libevince-properties-page.so
0x00007f59f3162680  0x00007f59f317d51d  Yes         /usr/lib64/libevdocument3.so.4
0x00007f59f2f3d440  0x00007f59f2f48df6  Yes         /usr/lib64/gio/modules/libgioremote-volume-monitor.so
0x00007f59f21251d0  0x00007f59f212b211  Yes         /usr/lib64/libnss_files.so.2
(*): Shared library is missing debugging information.
$1 = 0x0
$2 = 0x0
rax            0xaaaaaaaaaaaaaaaa	-6148914691236517206
rbx            0x0	0
rcx            0x8	8
rdx            0x5599bc4ce540	94118777513280
rsi            0x17	23
rdi            0x5599bc4ce540	94118777513280
rbp            0x5599bc866200	0x5599bc866200
rsp            0x7ffc98707990	0x7ffc98707990
r8             0x5599bc3d9b00	94118776511232
r9             0x0	0
r10            0x180	384
r11            0x4	4
r12            0x7f59f40011c0	140024322462144
r13            0x7f5a18c9c280	140024939659904
r14            0x7f59f400f610	140024322520592
r15            0x7f5a189aa9b0	140024936573360
rip            0x5599bb7d1332	0x5599bb7d1332 <directory_load_done+130>
eflags         0x10206	[ PF IF RF ]
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
fs             0x0	0
gs             0x0	0
st0            0	(raw 0x00000000000000000000)
st1            0	(raw 0x00000000000000000000)
st2            0	(raw 0x00000000000000000000)
st3            0	(raw 0x00000000000000000000)
st4            0	(raw 0x00000000000000000000)
st5            0	(raw 0x00000000000000000000)
st6            0	(raw 0x00000000000000000000)
st7            0	(raw 0x00000000000000000000)
fctrl          0x37f	895
fstat          0x0	0
ftag           0xffff	65535
fiseg          0x0	0
fioff          0x0	0
foseg          0x0	0
fooff          0x0	0
fop            0x0	0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 11 times>, 0xff, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0xff00, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0xff000000, 0x0}, v2_int64 = {0x0, 0xff000000}, uint128 = 0x00000000ff0000000000000000000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x8000000000000000}, v16_int8 = {0xff <repeats 11 times>, 0x0, 0xff, 0xff, 0xff, 0xff}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff, 0xffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff, 0xffffffff00ffffff}, uint128 = 0xffffffff00ffffffffffffffffffffff}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x8000000000000000, 0x0}, v16_int8 = {0x68, 0x61, 0x73, 0x2d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x0, 0x67, 0x74, 0x6b, 0x2d}, v8_int16 = {0x6168, 0x2d73, 0x6564, 0x6166, 0x6c75, 0x74, 0x7467, 0x2d6b}, v4_int32 = {0x2d736168, 0x61666564, 0x746c75, 0x2d6b7467}, v2_int64 = {0x616665642d736168, 0x2d6b746700746c75}, uint128 = 0x2d6b746700746c75616665642d736168}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 11 times>, 0xff, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0xff00, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0xff000000, 0x0}, v2_int64 = {0x0, 0xff000000}, uint128 = 0x00000000ff0000000000000000000000}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x80, 0x24, 0x73, 0xbc, 0x99, 0x55, 0x0, 0x0, 0x80, 0x24, 0x73, 0xbc, 0x99, 0x55, 0x0, 0x0}, v8_int16 = {0x2480, 0xbc73, 0x5599, 0x0, 0x2480, 0xbc73, 0x5599, 0x0}, v4_int32 = {0xbc732480, 0x5599, 0xbc732480, 0x5599}, v2_int64 = {0x5599bc732480, 0x5599bc732480}, uint128 = 0x00005599bc73248000005599bc732480}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xc0, 0x46, 0x8e, 0xbc, 0x99, 0x55, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x46c0, 0xbc8e, 0x5599, 0x0, 0x50, 0x0, 0x0, 0x0}, v4_int32 = {0xbc8e46c0, 0x5599, 0x50, 0x0}, v2_int64 = {0x5599bc8e46c0, 0x50}, uint128 = 0x000000000000005000005599bc8e46c0}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x49, 0x7b, 0xbc, 0x99, 0x55, 0x0, 0x0, 0xc0, 0x46, 0x8e, 0xbc, 0x99, 0x55, 0x0, 0x0}, v8_int16 = {0x4900, 0xbc7b, 0x5599, 0x0, 0x46c0, 0xbc8e, 0x5599, 0x0}, v4_int32 = {0xbc7b4900, 0x5599, 0xbc8e46c0, 0x5599}, v2_int64 = {0x5599bc7b4900, 0x5599bc8e46c0}, uint128 = 0x00005599bc8e46c000005599bc7b4900}
xmm8           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xaa <repeats 16 times>}, v8_int16 = {0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa}, v4_int32 = {0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa}, v2_int64 = {0xaaaaaaaaaaaaaaaa, 0xaaaaaaaaaaaaaaaa}, uint128 = 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
xmm9           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm10          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x8000000000000000}, v16_int8 = {0x0 <repeats 11 times>, 0xff, 0xff, 0xff, 0xff, 0xff}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0xff00, 0xffff, 0xffff}, v4_int32 = {0x0, 0x0, 0xff000000, 0xffffffff}, v2_int64 = {0x0, 0xffffffffff000000}, uint128 = 0xffffffffff0000000000000000000000}
xmm11          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm14          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0xb8, 0x76, 0x19, 0x1f, 0xb9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0xb800, 0x1976, 0xb91f, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0xb8000000, 0xb91f1976, 0x0, 0x0}, v2_int64 = {0xb91f1976b8000000, 0x0}, uint128 = 0x0000000000000000b91f1976b8000000}
xmm15          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x8000, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x80000000, 0x0, 0x0}, v2_int64 = {0x8000000000000000, 0x0}, uint128 = 0x00000000000000008000000000000000}
mxcsr          0x1fa4	[ ZE PE IM DM ZM OM UM PM ]
Dump of assembler code for function directory_load_done:
   0x00005599bb7d12b0 <+0>:	push   %r12
   0x00005599bb7d12b2 <+2>:	mov    %rsi,%r12
   0x00005599bb7d12b5 <+5>:	push   %rbp
   0x00005599bb7d12b6 <+6>:	lea    0x5aa80(%rip),%rsi        # 0x5599bb82bd3d
   0x00005599bb7d12bd <+13>:	mov    %rdi,%rbp
   0x00005599bb7d12c0 <+16>:	push   %rbx
   0x00005599bb7d12c1 <+17>:	lea    0x543c8(%rip),%rdi        # 0x5599bb825690 <__func__.58592>
   0x00005599bb7d12c8 <+24>:	xor    %eax,%eax
   0x00005599bb7d12ca <+26>:	xor    %edx,%edx
   0x00005599bb7d12cc <+28>:	callq  0x5599bb7f3880 <_nautilus_profile_log>
   0x00005599bb7d12d1 <+33>:	mov    0x18(%rbp),%rax
   0x00005599bb7d12d5 <+37>:	test   %r12,%r12
   0x00005599bb7d12d8 <+40>:	movl   $0x1,0xbc(%rax)
   0x00005599bb7d12e2 <+50>:	movl   $0x0,0xc0(%rax)
   0x00005599bb7d12ec <+60>:	je     0x5599bb7d1332 <directory_load_done+130>
   0x00005599bb7d12ee <+62>:	mov    0x10(%rax),%rbx
   0x00005599bb7d12f2 <+66>:	test   %rbx,%rbx
   0x00005599bb7d12f5 <+69>:	je     0x5599bb7d1323 <directory_load_done+115>
   0x00005599bb7d12f7 <+71>:	nopw   0x0(%rax,%rax,1)
   0x00005599bb7d1300 <+80>:	callq  0x5599bb7e5570 <nautilus_file_get_type>
   0x00005599bb7d1305 <+85>:	mov    (%rbx),%rdi
   0x00005599bb7d1308 <+88>:	mov    %rax,%rsi
   0x00005599bb7d130b <+91>:	callq  0x5599bb752e10 <g_type_check_instance_cast@plt>
   0x00005599bb7d1310 <+96>:	xor    %esi,%esi
   0x00005599bb7d1312 <+98>:	mov    %rax,%rdi
   0x00005599bb7d1315 <+101>:	callq  0x5599bb7cd110 <set_file_unconfirmed>
   0x00005599bb7d131a <+106>:	mov    0x8(%rbx),%rbx
   0x00005599bb7d131e <+110>:	test   %rbx,%rbx
   0x00005599bb7d1321 <+113>:	jne    0x5599bb7d1300 <directory_load_done+80>
   0x00005599bb7d1323 <+115>:	mov    %r12,%rsi
   0x00005599bb7d1326 <+118>:	mov    %rbp,%rdi
   0x00005599bb7d1329 <+121>:	callq  0x5599bb7d53f0 <nautilus_directory_emit_load_error>
   0x00005599bb7d132e <+126>:	mov    0x18(%rbp),%rax
=> 0x00005599bb7d1332 <+130>:	mov    0xdc(%rax),%edi
   0x00005599bb7d1338 <+136>:	test   %edi,%edi
   0x00005599bb7d133a <+138>:	je     0x5599bb7d1341 <directory_load_done+145>
   0x00005599bb7d133c <+140>:	callq  0x5599bb754200 <g_source_remove@plt>
   0x00005599bb7d1341 <+145>:	mov    %rbp,%rdi
   0x00005599bb7d1344 <+148>:	callq  0x5599bb7cfbd0 <dequeue_pending_idle_callback>
   0x00005599bb7d1349 <+153>:	mov    %rbp,%rdi
   0x00005599bb7d134c <+156>:	callq  0x5599bb7d1160 <directory_load_cancel>
   0x00005599bb7d1351 <+161>:	pop    %rbx
   0x00005599bb7d1352 <+162>:	pop    %rbp
   0x00005599bb7d1353 <+163>:	pop    %r12
   0x00005599bb7d1355 <+165>:	lea    0x524a1(%rip),%rsi        # 0x5599bb8237fd
   0x00005599bb7d135c <+172>:	lea    0x5432d(%rip),%rdi        # 0x5599bb825690 <__func__.58592>
   0x00005599bb7d1363 <+179>:	xor    %edx,%edx
   0x00005599bb7d1365 <+181>:	xor    %eax,%eax
   0x00005599bb7d1367 <+183>:	jmpq   0x5599bb7f3880 <_nautilus_profile_log>
End of assembler dump.
Comment 1 Branko Grubic (bitlord) 2015-09-18 07:59:09 UTC
For example I can reproduce it by navigating to /root as a regular user.
Comment 2 Carlos Soriano 2015-10-07 18:33:07 UTC
Created attachment 312846 [details] [review]
directory-async: keep directory alive

Lately we did some changes on the view/slot/window/app
interaction with the directory/model ownership. That means
that now most of the times the directory/model is freed when
it should.
In this case, when loading the children of a directory reports
an error, say the user doesn't have permission to access the
directory, the view unref the directory in the signal callback,
and any further interaction with it by the directory itself after
signaling becomes accessing invalid memory.

To avoid this, the directory should have a ref on itself for any
signal that can cause the owners of it to unref.
Comment 3 Carlos Soriano 2015-10-07 18:33:16 UTC
Created attachment 312847 [details] [review]
files-view: order unrefing the model so state is clean up

In done_loading we check for floating bar and empty states.
In case the directory doesn't exists anymore in this case,
we cannot do that (without adding bunch of if's).
So instead reorder the unrefing so the directory is alive
when all the checks are performed.
This fixes seeing the floating bar when a directory fails to
load because the user doesn't have permissions.
Comment 4 Carlos Soriano 2015-10-07 18:35:24 UTC
Got a reproducer, fix pushed

Attachment 312846 [details] pushed as e2c5c42 - directory-async: keep directory alive
Attachment 312847 [details] pushed as 5bf37b7 - files-view: order unrefing the model so state is clean up
Comment 5 Carlos Soriano 2015-10-11 21:35:58 UTC
*** Bug 756407 has been marked as a duplicate of this bug. ***