[Xfce-bugs] [Bug 15789] Hangs when Places/Bookmark target is autofs and doesn't exist/not available

bugzilla-daemon at xfce.org bugzilla-daemon at xfce.org
Wed Aug 7 12:24:26 CEST 2019


https://bugzilla.xfce.org/show_bug.cgi?id=15789

--- Comment #2 from Tj <0.xubuntu at iam.tj> ---
For debugging I'm working from Xubuntu 18.04 so this backtrace and strace are
from v1.6.15 but for the purpose of identifying what is going on I don't think
it makes much difference.

The traces were captured just after Thunar was started and had hung without
drawing its content window.  There's an attempt to access the currently
disconnected/unreachable autofs CIFS mount to /mnt/SLBS/Data which is
triggering repeated autofs mount attempts (reported by journalctl -f).


$ gdb --args /usr/bin/thunar /tmp/test
...
(gdb) bt full

#0  0x00007ffff45f82d7 in inotify_add_watch () at
../sysdeps/unix/syscall-template.S:78
#1  0x00007ffff5165e95 in _ik_watch (path=<optimised out>,
mask=mask at entry=16789454, err=err at entry=0x7fffffffd534)
    at ../../../../../gio/inotify/inotify-kernel.c:425
        wd = -1
        __func__ = "_ik_watch"
#2  0x00007ffff51669d2 in _ip_start_watching (sub=sub at entry=0x5555558756d0) at
../../../../../gio/inotify/inotify-path.c:264
        wd = <optimised out>
        err = 0
        dir = 0x0
        __func__ = "_ip_start_watching"
#3  0x00007ffff51673a8 in _ih_sub_add (sub=0x5555558756d0) at
../../../../../gio/inotify/inotify-helper.c:107
#4  0x00007ffff513a8a6 in g_local_file_monitor_start
(local_monitor=local_monitor at entry=0x7fffe0013690 [GInotifyFileMonitor],
filename=filename at entry=0x555555c5aca0 "/mnt/SLBS/Data",
is_directory=is_directory at entry=1,
flags=flags at entry=(G_FILE_MONITOR_WATCH_MOUNTS | G_FILE_MONITOR_SEND_MOVED),
context=0x0) at ../../../../gio/glocalfilemonitor.c:789
        class = 0x555555b8a000
        __func__ = "g_local_file_monitor_start"
#5  0x00007ffff513a9f6 in g_local_file_monitor_new_for_path
(pathname=0x555555c5aca0 "/mnt/SLBS/Data", is_directory=1,
flags=(G_FILE_MONITOR_WATCH_MOUNTS | G_FILE_MONITOR_SEND_MOVED),
error=<optimised out>) at ../../../../gio/glocalfilemonitor.c:873
        monitor = 0x7fffe0013690 [GInotifyFileMonitor]
        is_remote_fs = <optimised out>
#6  0x00005555555914e7 in thunar_file_watch (file=0x555555c37420 [ThunarFile])
at thunar-file.c:3898
        file_watch = 0x5555558ee7b0
        error = 0x0
#7  0x00005555555bb7f1 in thunar_shortcuts_model_add_shortcut_with_path
(model=0x5555559246a0 [ThunarShortcutsModel], shortcut=0x7fffe0013630,
path=0x0) at thunar-shortcuts-model.c:1137
        iter = {stamp = 0, user_data = 0x3, user_data2 = 0x7fffe0013630,
user_data3 = 0x555555c37420}
        sorted_path = 0x0
#8  0x00005555555d91b2 in thunar_util_load_bookmarks (bookmarks_file=<optimised
out>, foreach_func=foreach_func at entry=0x5555555bc980
<thunar_shortcuts_model_load_line>, user_data=user_data at entry=0x5555559246a0)
at thunar-util.c:235
        bookmarks_path = <optimised out>
        line = "file:///mnt/SLBS/Data\000"
        name = 0x0                                                              
        space = <optimised out>                                                 
        fp = 0x555555c39c00                                                     
        row_num = 4
        file = 0x55555588a200
#9  0x00005555555bc958 in thunar_shortcuts_model_load (data=<optimised out>) at
thunar-shortcuts-model.c:1302
        model = 0x5555559246a0 [ThunarShortcutsModel]
#10 0x00007ffff4b32285 in g_main_dispatch (context=0x555555859400) at
../../../../glib/gmain.c:3176
        dispatch = 0x7ffff4b2ec10 <g_idle_dispatch>
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x5555559246a0
        callback = 0x5555555bc920 <thunar_shortcuts_model_load>
        cb_funcs = 0x7ffff4dfb280 <g_source_callback_funcs>
        cb_data = 0x5555558f6ca0
        need_destroy = <optimised out>
        source = 0x5555558f8c20
        current = 0x555555885e00
        i = 9


$ strace -o /tmp/thunar.strace -f /usr/bin/thunar /tmp/test

...
9739  access("/home/tj", W_OK)          = 0
9739  stat("/home/tj", {st_mode=S_IFDIR|0750, st_size=32768, ...}) = 0
9739  lstat("/home/tj/Documents", {st_mode=S_IFDIR|0755, st_size=12288, ...}) =
0
9739  access("/home/tj/Documents", R_OK) = 0
9739  access("/home/tj/Documents", W_OK) = 0
9739  access("/home/tj/Documents", X_OK) = 0
9739  lstat("/home/tj", {st_mode=S_IFDIR|0750, st_size=32768, ...}) = 0
9739  lstat("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9739  lstat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9739  lstat("/home/tj/Documents", {st_mode=S_IFDIR|0755, st_size=12288, ...}) =
0
9739  inotify_add_watch(12, "/home/tj/Documents",
IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR)
= 6
9739  access("/mnt/SLBS", W_OK)         = -1 EACCES (Permission denied)
9739  stat("/mnt/SLBS", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9739  lstat("/mnt/SLBS/Data", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
9739  openat(AT_FDCWD, "/mnt/SLBS/.hidden", O_RDONLY) = -1 ENOENT (No such file
or directory)
9739  write(7, "\1\0\0\0\0\0\0\0", 8)   = 8
9740  <... poll resumed> )              = 1 ([{fd=7, revents=POLLIN}])
9739  access("/mnt/SLBS/Data", R_OK <unfinished ...>
9740  read(7,  <unfinished ...>
9739  <... access resumed> )            = 0
9740  <... read resumed> "\1\0\0\0\0\0\0\0", 16) = 8
9739  access("/mnt/SLBS/Data", W_OK <unfinished ...>
9740  poll([{fd=7, events=POLLIN}, {fd=12, events=POLLIN}], 2, 4118 <unfinished
...>
9739  <... access resumed> )            = -1 EACCES (Permission denied)
9739  access("/mnt/SLBS/Data", X_OK)    = 0
9739  lstat("/mnt/SLBS", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9739  lstat("/mnt", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9739  lstat("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9739  eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK) = 18
9739  write(18, "\1\0\0\0\0\0\0\0", 8)  = 8
9739  write(9, "\1\0\0\0\0\0\0\0", 8)   = 8
9741  <... poll resumed> )              = 1 ([{fd=9, revents=POLLIN}])
9739  poll([{fd=18, events=POLLIN}], 1, 25000 <unfinished ...>
9741  read(9,  <unfinished ...>
9739  <... poll resumed> )              = 1 ([{fd=18, revents=POLLIN}])
9741  <... read resumed> "\1\0\0\0\0\0\0\0", 16) = 8
9739  read(18, "\1\0\0\0\0\0\0\0", 16)  = 8
9741  sendmsg(8, {msg_name=NULL, msg_namelen=0,
msg_iov=[{iov_base="l\1\0\1\10\0\0\0K\0\0\0v\0\0\0\10\1g\0\2uu\0\1\1o\0\25\0\0\0"...,
iov_len=144}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL
<unfinished ...>
9739  poll([{fd=18, events=POLLIN}], 1, 25000 <unfinished ...>
9741  <... sendmsg resumed> )           = 144
9741  poll([{fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=15,
events=POLLIN}], 3, -1) = 1 ([{fd=8, revents=POLLIN}])
9741  write(9, "\1\0\0\0\0\0\0\0", 8)   = 8
9741  recvmsg(8, {msg_name=NULL, msg_namelen=0,
msg_iov=[{iov_base="l\2\1\1\5\0\0\0\202\6\0\0.\0\0\0", iov_len=16}],
msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC)
= 16
9741  poll([{fd=8, events=POLLIN}], 1, 0) = 1 ([{fd=8, revents=POLLIN}])
9741  recvmsg(8, {msg_name=NULL, msg_namelen=0,
msg_iov=[{iov_base="\10\1g\0\1s\0\0\5\1u\0K\0\0\0\6\1s\0\6\0\0\0:1.173\0\0"...,
iov_len=53}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC},
MSG_CMSG_CLOEXEC) = 53
9741  write(9, "\1\0\0\0\0\0\0\0", 8)   = 8
9741  write(9, "\1\0\0\0\0\0\0\0", 8)   = 8
9741  poll([{fd=9, events=POLLIN}, {fd=15, events=POLLIN}], 2, 0) = 1 ([{fd=9,
revents=POLLIN}])
9741  read(9, "\3\0\0\0\0\0\0\0", 16)   = 8
9741  write(18, "\1\0\0\0\0\0\0\0", 8)  = 8
9739  <... poll resumed> )              = 1 ([{fd=18, revents=POLLIN}])
9741  poll([{fd=8, events=POLLIN}], 1, 0 <unfinished ...>
9739  read(18,  <unfinished ...>
9741  <... poll resumed> )              = 0 (Timeout)
9739  <... read resumed> "\1\0\0\0\0\0\0\0", 16) = 8
9741  write(9, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
9739  write(18, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
9741  <... write resumed> )             = 8
9739  <... write resumed> )             = 8
9739  futex(0x55beaa9e2d10, FUTEX_WAKE_PRIVATE, 2147483647 <unfinished ...>
9741  poll([{fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=15,
events=POLLIN}], 3, -1 <unfinished ...>
9739  <... futex resumed> )             = 0
9741  <... poll resumed> )              = 1 ([{fd=9, revents=POLLIN}])
9739  close(18 <unfinished ...>
9741  read(9,  <unfinished ...>
9739  <... close resumed> )             = 0
9741  <... read resumed> "\1\0\0\0\0\0\0\0", 16) = 8
9741  poll([{fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=15,
events=POLLIN}], 3, -1 <unfinished ...>
9739  lstat("/mnt/SLBS/Data", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
9739  inotify_add_watch(12, "/mnt/SLBS/Data",
IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR)
= -1 EINTR (Interrupted system call)
9739  --- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} ---

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Xfce-bugs mailing list