Package: thunar
Version: 1.2.3-2
Severity: normal
When thunar is started the first time after login, it takes several
seconds to load. Subsequent calls (with all thunar processes gone) take
less than a second.
Moreover, the first thunar call results in two open windows
showing the home directory. Subsequent calls open only one window.
From the 'strace -t thunar' output, the problem seems to be a timeout
when polling some fd:
13:42:42 getcwd(/home/nikratio, 4096) = 15
13:42:42 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC, 0) = 6
13:42:42 connect(6, {sa_family=AF_FILE, path=@/tmp/dbus-22b4F9p8uu}, 23) = 0
13:42:42 fcntl(6, F_GETFL) = 0x2 (flags O_RDWR)
13:42:42 fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK) = 0
13:42:42 geteuid() = 1000
13:42:42 getsockname(6, {sa_family=AF_FILE, NULL}, [2]) = 0
13:42:42 poll([{fd=6, events=POLLOUT}], 1, 0) = 1 ([{fd=6, revents=POLLOUT}])
13:42:42 sendto(6, \0, 1, MSG_NOSIGNAL, NULL, 0) = 1
13:42:42 sendto(6, AUTH EXTERNAL 31303030\r\n, 24, MSG_NOSIGNAL, NULL, 0) = 24
13:42:42 poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}])
13:42:42 read(6, OK d78f3adc460bf68bda89c78a0..., 2048) = 37
13:42:42 poll([{fd=6, events=POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
13:42:42 sendto(6, NEGOTIATE_UNIX_FD\r\n, 19, MSG_NOSIGNAL, NULL, 0) = 19
13:42:42 poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}])
13:42:42 read(6, AGREE_UNIX_FD\r\n, 2048) = 15
13:42:42 poll([{fd=6, events=POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])
13:42:42 sendto(6, BEGIN\r\n, 7, MSG_NOSIGNAL, NULL, 0) = 7
13:42:42 poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6,
revents=POLLOUT}])
13:42:42 sendmsg(6, {msg_name(0)=NULL,
msg_iov(2)=[{l\1\0\1\0\0\0\0\1\0\0\0n\0\0\0\1\1o\0\25\
13:42:42 poll([{fd=6, events=POLLIN}], 1, 25000) = 1 ([{fd=6, revents=POLLIN}])
13:42:42 recvmsg(6, {msg_name(0)=NULL,
msg_iov(1)=[{l\2\1\1\n\0\0\0\1\0\0\0=\0\0\0\6\1s\0\5\0
13:42:42 recvmsg(6, 0x7fffcd8d5da0, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource
temporarily unavai
13:42:42 sendmsg(6, {msg_name(0)=NULL,
msg_iov(2)=[{l\1\2\1=\0\0\0\2\0\0\0{\0\0\0\1\1o\0\25\0
13:42:42 poll([{fd=6, events=POLLIN}], 1, 25000) = 0 (Timeout)
13:43:07 umask(0) = 02
13:43:07 umask(02) = 0
13:43:07 mkdir(/home, 0777) = -1 EEXIST (File exists)
[...]
13:43:07 munmap(0x7f0295562000, 4096) = 0
13:43:07 inotify_add_watch(8, /home/nikratio/.desktop,
IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN
13:43:07 socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC, 0) = 11
13:43:07 connect(11, {sa_family=AF_FILE, path=@/tmp/dbus-22b4F9p8uu}, 23) = 0
13:43:07 fcntl(11, F_GETFL) = 0x2 (flags O_RDWR)
13:43:07 fcntl(11, F_SETFL, O_RDWR|O_NONBLOCK) = 0
13:43:07 geteuid() = 1000
13:43:07 getsockname(11, {sa_family=AF_FILE, NULL}, [2]) = 0
13:43:07 poll([{fd=11, events=POLLOUT}], 1, 0) = 1 ([{fd=11, revents=POLLOUT}])
13:43:07 sendto(11, \0, 1, MSG_NOSIGNAL, NULL, 0) = 1
13:43:07 sendto(11, AUTH EXTERNAL 31303030\r\n, 24, MSG_NOSIGNAL, NULL, 0) =
24
13:43:07 poll([{fd=11, events=POLLIN}], 1, -1) = 1 ([{fd=11, revents=POLLIN}])
13:43:07 read(11, OK d78f3adc460bf68bda89c78a0..., 2048) = 37
13:43:07 poll([{fd=11, events=POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
13:43:07 sendto(11, NEGOTIATE_UNIX_FD\r\n, 19, MSG_NOSIGNAL, NULL, 0) = 19
13:43:07 poll([{fd=11, events=POLLIN}], 1, -1) = 1 ([{fd=11, revents=POLLIN}])
13:43:07 read(11, AGREE_UNIX_FD\r\n, 2048) = 15
13:43:07 poll([{fd=11, events=POLLOUT}], 1, -1) = 1 ([{fd=11, revents=POLLOUT}])
13:43:07 sendto(11, BEGIN\r\n, 7, MSG_NOSIGNAL, NULL, 0) = 7
13:43:07 poll([{fd=11, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=11,
revents=POLLOUT}])
13:43:07 sendmsg(11, {msg_name(0)=NULL,
msg_iov(2)=[{l\1\0\1\0\0\0\0\1\0\0\0n\0\0\0\1\1o\0\25
13:43:07 poll([{fd=11, events=POLLIN}], 1, 25000) = 1 ([{fd=11,
revents=POLLIN}])
13:43:07 recvmsg(11, {msg_name(0)=NULL,
msg_iov(1)=[{l\2\1\1\n\0\0\0\1\0\0\0=\0\0\0\6\1s\0\5\
13:43:07 recvmsg(11, 0x7fffcd8d45e0, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource
temporarily unava
13:43:07 sendmsg(11, {msg_name(0)=NULL,
msg_iov(2)=[{l\1\0\1%\0\0\0\2\0\0\0\230\0\0\0\1\1o\0\
13:43:07 poll([{fd=11, events=POLLIN}], 1, 25000) = 1 ([{fd=11,
revents=POLLIN}])
13:43:07 recvmsg(11, {msg_name(0)=NULL,
msg_iov(1)=[{l\2\1\1\254\0\0\0/\0\0\0E\0\0\0\6\1s\0\5
13:43:07 recvmsg(11, 0x7fffcd8d4730, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource
temporarily unava
13:43:07 sendmsg(11, {msg_name(0)=NULL,
msg_iov(2)=[{l\1\0\1\0\0\0\0\3\0\0\0f\0\0\0\1\1o\0\23
13:43:07 poll([{fd=11, events=POLLIN}], 1, 25000) = 0 (Timeout)
13:43:32 access(/, W_OK) = -1 EACCES (Permission denied)
13:43:32 stat(/, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
[...]
This is reproducible reliably.
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.0.0-1-amd64 (SMP w/2 CPU cores)
Locale: