extremly slow startup of firefox if a nfs-share is not reachable

Bug #183221 reported by scoopex
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
firefox (Ubuntu)
Expired
Undecided
Unassigned
firefox-3.0 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: firefox

Firefox needs a few minutes for startup if a mounted filesystem is not reachable (i.e. a nfs-share).

The "/usr/bin/firefox" wrapper-script uses "/bin/pwd" to gather the current working directory.
--- Strace output
fstat64(3, {st_mode=S_IFDIR|0755, st_size=792, ...}) = 0
close(4) = 0
fstat64(3, {st_mode=S_IFDIR|0755, st_size=792, ...}) = 0
fcntl64(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
getdents64(3, /* 30 entries */, 4096) = 808
fstatat64(3, "bin", {st_mode=S_IFDIR|0755, st_size=2688, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(3, "dev", {st_mode=S_IFDIR|0755, st_size=13960, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(3, "etc", {st_mode=S_IFDIR|0755, st_size=8760, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(3, "lib", {st_mode=S_IFDIR|0755, st_size=5576, ...}, AT_SYMLINK_NOFOLLOW) = 0
fstatat64(3, "nas", <unfinished ...>
---

The last fstat is blocking for a long time - replacing "/bin/pwd" by the shell-builtin "pwd" solves the problem.

$ diff -u /usr/bin/firefox mozilla.fixed
--- /usr/bin/firefox 2007-12-04 12:00:28.000000000 +0100
+++ mozilla.fixed 2008-01-15 16:34:03.000000000 +0100
@@ -106,7 +106,7 @@
   dist_bin="$curdir"
   found=1
 else
- here=`/bin/pwd`
+ here=`pwd`
   while [ -h "$progname" ]; do
     bn=`basename "$progname"`
     cd `dirname "$progname"`
----

Please submit this change to the firefox developer team if you think this change is useful....

Revision history for this message
Alexander Sack (asac) wrote : Re: [Bug 183221] extremly slow startup of firefox if a nfs-share is not reachable

On Tue, Jan 15, 2008 at 04:01:19PM -0000, scoopex wrote:
>
> The last fstat is blocking for a long time - replacing "/bin/pwd" by the
> shell-builtin "pwd" solves the problem.
>
> $ diff -u /usr/bin/firefox mozilla.fixed
> --- /usr/bin/firefox 2007-12-04 12:00:28.000000000 +0100
> +++ mozilla.fixed 2008-01-15 16:34:03.000000000 +0100
> @@ -106,7 +106,7 @@
> dist_bin="$curdir"
> found=1
> else
> - here=`/bin/pwd`
> + here=`pwd`
> while [ -h "$progname" ]; do
> bn=`basename "$progname"`
> cd `dirname "$progname"`
> ----
>

Thanks for that info/patch.

 affects ubuntu/firefox
 status inprogress
 affects ubuntu/firefox-3.0
 status incomplete

Could you verify if this is still an issue in firefox-3.0 ?

 - Alexander

Changed in firefox:
status: New → In Progress
Revision history for this message
Marc Schoechlin (ms-256bit) wrote :

Hi !

On Mon, Feb 25, 2008 at 04:45:06PM -0000, Alexander Sack wrote:
> Could you verify if this is still an issue in firefox-3.0 ?

I don`t thinks so - the firefox 3.0 script looks completly different
and does not make use of /bin/pwd.

Best regards
Marc Schöchlin

Revision history for this message
Alexander Sack (asac) wrote :

not a firefox 3 issue.

Changed in firefox-3.0:
status: Incomplete → Invalid
Paul White (paulw2u)
Changed in firefox (Ubuntu):
status: In Progress → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for firefox (Ubuntu) because there has been no activity for 60 days.]

Changed in firefox (Ubuntu):
status: Incomplete → Expired
Revision history for this message
scoopex (ms-ubuntu) wrote :

Seems to be solved, you can close the issue.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.