Opening new tabs (via external programs, e.g., via links in thunderbird) takes ~12 seconds.
When I run e.g. "firefox http://www.google.com" from the shell it takes roughly 12 seconds until a new tab in the running firefox instance pops up.
I did serveral things to make sure that is not due to user settings:
- I moved my ~/.mozilla directory to a temporary localtion.
- I created a new user on my linux host, logged in using this user and started firefox .
Since removing the profile didn't fix this problem I had a look at the strace output. Here is an excerpt from the output of "strace -t firefox http://www.google.com"
``` ........ 13:52:27 close(7) = 0 13:52:27 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 7 13:52:27 setsockopt(7, SOL_IP, IP_RECVERR, [1], 4) = 0 13:52:27 connect(7, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("10.20.6.1")}, 16) = 0 13:52:27 poll([{fd=7, events=POLLOUT}], 1, 0) = 1 ([{fd=7, revents=POLLOUT}]) 13:52:27 sendto(7, "U\201\1\0\0\1\0\0\0\0\0\0\10PC-16609\0\0\1\0\1", 26, MSG_NOSIGNAL, NULL, 0) = 26 13:52:27 poll([{fd=7, events=POLLIN}], 1, 6000) = ? ERESTART_RESTARTBLOCK (Interrupted by signal) 13:52:27 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=9546, si_uid=2074, si_status=0, si_utime=7, si_stime=1} --- 13:52:27 restart_syscall(<... resuming interrupted poll ...>) = 0 13:52:33 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 8 13:52:33 setsockopt(8, SOL_IP, IP_RECVERR, [1], 4) = 0 13:52:33 connect(8, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("10.120.20.51")}, 16) = 0 13:52:33 poll([{fd=8, events=POLLOUT}], 1, 0) = 1 ([{fd=8, revents=POLLOUT}]) 13:52:33 sendto(8, "U\201\1\0\0\1\0\0\0\0\0\0\10PC-16609\0\0\1\0\1", 26, MSG_NOSIGNAL, NULL, 0) = 26 13:52:33 poll([{fd=8, events=POLLIN}], 1, 5000) = 1 ([{fd=8, revents=POLLIN}]) 13:52:33 ioctl(8, FIONREAD, [26]) = 0 13:52:33 recvfrom(8, "U\201\201\202\0\1\0\0\0\0\0\0\10PC-16609\0\0\1\0\1", 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("10.120.20.51")}, [28->16]) = 26 13:52:33 close(8) = 0 13:52:33 close(7) = 0 13:52:33 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 7 13:52:33 setsockopt(7, SOL_IP, IP_RECVERR, [1], 4) = 0 13:52:33 connect(7, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("10.120.20.52")}, 16) = 0 13:52:33 poll([{fd=7, events=POLLOUT}], 1, 0) = 1 ([{fd=7, revents=POLLOUT}]) 13:52:33 sendto(7, "U\201\1\0\0\1\0\0\0\0\0\0\10PC-16609\0\0\1\0\1", 26, MSG_NOSIGNAL, NULL, 0) = 26 13:52:33 poll([{fd=7, events=POLLIN}], 1, 3000) = 1 ([{fd=7, revents=POLLIN}]) 13:52:33 ioctl(7, FIONREAD, [26]) = 0 13:52:33 recvfrom(7, "U\201\201\202\0\1\0\0\0\0\0\0\10PC-16609\0\0\1\0\1", 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("10.120.20.52")}, [28->16]) = 26 13:52:33 close(7) = 0 13:52:33 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 7 13:52:33 setsockopt(7, SOL_IP, IP_RECVERR, [1], 4) = 0 13:52:33 connect(7, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("10.20.6.1")}, 16) = 0 13:52:33 poll([{fd=7, events=POLLOUT}], 1, 0) = 1 ([{fd=7, revents=POLLOUT}]) 13:52:33 sendto(7, "U\201\1\0\0\1\0\0\0\0\0\0\10PC-16609\0\0\1\0\1", 26, MSG_NOSIGNAL, NULL, 0) = 26 13:52:33 poll([{fd=7, events=POLLIN}], 1, 6000) = 0 (Timeout) 13:52:39 close(7) = 0 13:52:39 openat(AT_FDCWD, "/usr/lib64/firefox/libnss_myhostname.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 13:52:39 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 7 13:52:39 fstat(7, {st_mode=S_IFREG|0644, st_size=198337, ...}) = 0 13:52:39 mmap(NULL, 198337, PROT_READ, MAP_PRIVATE, 7, 0) = 0x7fbb38d48000 13:52:39 close(7) = 0 13:52:39 openat(AT_FDCWD, "/lib64/libnss_myhostname.so.2", O_RDONLY|O_CLOEXEC) = 7 13:52:39 read(7, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P4\0\0\0\0\0\0"..., 832) = 832 13:52:39 fstat(7, {st_mode=S_IFREG|0755, st_size=94504, ...}) = 0 13:52:39 mmap(NULL, 96552, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 7, 0) = 0x7fbb2b27c000 13:52:39 mmap(0x7fbb2b27f000, 45056, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0x3000) = 0x7fbb2b27f000 13:52:39 mmap(0x7fbb2b28a000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0xe000) = 0x7fbb2b28a000 13:52:39 mmap(0x7fbb2b290000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0x13000) = 0x7fbb2b290000 13:52:39 close(7) = 0 13:52:39 mprotect(0x7fbb2b290000, 12288, PROT_READ) = 0 13:52:39 munmap(0x7fbb38d48000, 198337) = 0 13:52:39 rt_sigprocmask(SIG_BLOCK, [HUP USR1 USR2 PIPE ALRM CHLD TSTP URG VTALRM PROF WINCH IO], [], 8) = 0 13:52:39 uname({sysname="Linux", nodename="MYHOSTNAME", ...}) = 0 13:52:39 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 13:52:39 getpid() = 9529 13:52:39 symlink("127.0.0.1:+9529", "/tmp/firefox/lock") = 0 13:52:39 rt_sigaction(SIGHUP, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGHUP, {sa_handler=0x7fbb39e2cf84, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7fbb40e00e70}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGINT, {sa_handler=0x7fbb39e2cf84, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7fbb40e00e70}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGQUIT, {sa_handler=0x7fbb39e2cf84, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7fbb40e00e70}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGILL, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGILL, {sa_handler=0x7fbb39e2cf84, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7fbb40e00e70}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGABRT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGABRT, {sa_handler=0x7fbb39e2cf84, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7fbb40e00e70}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGSEGV, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGSEGV, {sa_handler=0x7fbb39e2cf84, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7fbb40e00e70}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 rt_sigaction(SIGTERM, {sa_handler=0x7fbb39e2cf84, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER|SA_ONSTACK|SA_SIGINFO, sa_restorer=0x7fbb40e00e70}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 13:52:39 clock_getres(CLOCK_MONOTONIC, {tv_sec=0, tv_nsec=1}) = 0 13:52:39 getresuid([2074], [2074], [2074]) = 0 13:52:39 getresgid([100], [100], [100]) = 0 13:52:39 access("/home/thomas.hisch/.mozilla/firefox", F_OK) = 0 13:52:39 access("/home/thomas.hisch/.cache/mozilla/firefox", F_OK) = 0 13:52:39 access("/home/thomas.hisch/.mozilla/firefox/installs.ini", F_OK) = 0 13:52:39 stat("/home/thomas.hisch/.mozilla/firefox/installs.ini", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0 13:52:39 stat("/home/thomas.hisch/.mozilla/firefox/installs.ini", {st_mode=S_IFREG|0644, st_size=118, ...}) = 0 13:52:39 access("/home/thomas.hisch/.mozilla/firefox/profiles.ini", F_OK) = 0 13:52:39 stat("/home/thomas.hisch/.mozilla/firefox/profiles.ini", {st_mode=S_IFREG|0644, st_size=330, ...}) = 0 13:52:39 stat("/home/thomas.hisch/.mozilla/firefox/profiles.ini", {st_mode=S_IFREG|0644, st_size=330, ...}) = 0 13:52:39 stat("/home/thomas.hisch/.mozilla/firefox/profiles.ini", {st_mode=S_IFREG|0644, st_size=330, ...}) = 0 13:52:39 stat("/home/thomas.hisch/.mozilla/firefox/profiles.ini", {st_mode=S_IFREG|0644, st_size=330, ...}) = 0 13:52:39 openat(AT_FDCWD, "/home/thomas.hisch/.mozilla/firefox/profiles.ini", O_RDONLY) = 7 ......... ```
Được chỉnh sửa bởi thisch vào
Tất cả các câu trả lời (2)
Hi thisch, unfortunately support forum volunteers are not very familiar with the type of output you provided. I'm going to omit some lines just to get a general sense of where the big gaps are:
13:52:27 poll([{fd=7, events=POLLIN}], 1, 6000) = ? ERESTART_RESTARTBLOCK (Interrupted by signal) 13:52:27 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=9546, si_uid=2074, si_status=0, si_utime=7, si_stime=1} --- 13:52:27 restart_syscall(<... resuming interrupted poll ...>) = 0 {black hole of lost time, looks like a 6-second timeout on something} 13:52:33 socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 8 13:52:33 setsockopt(8, SOL_IP, IP_RECVERR, [1], 4) = 0 ... 13:52:33 poll([{fd=7, events=POLLOUT}], 1, 0) = 1 ([{fd=7, revents=POLLOUT}]) 13:52:33 sendto(7, "U\201\1\0\0\1\0\0\0\0\0\0\10PC-16609\0\0\1\0\1", 26, MSG_NOSIGNAL, NULL, 0) = 26 13:52:33 poll([{fd=7, events=POLLIN}], 1, 6000) = 0 (Timeout) {black hole of lost time, looks like a 6-second timeout on something} 13:52:39 close(7) = 0 13:52:39 openat(AT_FDCWD, "/usr/lib64/firefox/libnss_myhostname.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
I couldn't tell you what is happening in there. Do you want to file a bug on https://bugzilla.mozilla.org/ ?
I think that Firefox will scan all profiles present in the profile folder and look in compatibility.ini what Firefox installation and Firefox version has last used this profile to build the installs.ini file and lock profiles against the Firefox installation folder. This scanning will take time, especially when the default profile is already in use and isn't available. If you specify a profile via the startup shortcut then things get complicated and you might even get the Profile Manager.