From: Duncan <1i5t5.duncan@cox.net>
To: gentoo-amd64@lists.gentoo.org
Subject: [gentoo-amd64] Re: Problem with Firefox 2
Date: Wed, 22 Nov 2006 04:04:08 +0000 (UTC) [thread overview]
Message-ID: <ek0i7o$jrr$1@sea.gmane.org> (raw)
In-Reply-To: 59541ff30611211041g40985a11q12c08018e9ac005a@mail.gmail.com
"Joaquim Quinteiro Uchoa" <joaquim.uchoa@gmail.com> posted
59541ff30611211041g40985a11q12c08018e9ac005a@mail.gmail.com, excerpted
below, on Tue, 21 Nov 2006 16:41:56 -0200:
> Hello, I'm having a problem with Firefox 2. Every time I start the
> browser, I see the following message:
>
> Bon Echo could not install this item because "install.rdf" (provided by
> the item) is not well-formed or does not exist. Please contact the author
> about this problem.
> [I]t works, but this sucks.
>
> Well, I've tried several things, including starting with -jsconsole and
> using a new profile. I can see anything wrong in
> /usr/lib64/mozilla-firefox/extensions:
> All I need is a way to see what file is being mentioned by Firefox.
I'm not a firefox user so won't attempt to address the issue from that
angle. However, there's another way: emerge if necessary and use strace.
strace basically hooks and reports on part or all of the system calls an
application makes. Output can be WAY longer than you might expect, so you
filter it down, first by using command line switches to only report on
what you are after (in this case, all open-file calls will do), then by
piping the output to grep for further filtering down to a manageable level.
For commandline options you'll want -eopen, to trace only file-open calls.
You /may/ need -f to trace forks as well. The trace actually goes to
STDERR not STDOUT, so you have to redirect STDERR to STDOUT to pipe it to
grep. Something like this:
strace -f -efile 2>&1 | grep install.rdf
Note that you may still get quite some output, if firefox is looking in
multiple locations for the file, with ENOENT (error no entry) errors
returned by the system (and reported by systrace) if the file doesn't
exist, a filenumber returned if it was opened successfully, and permission
errors and the like also possible.
It's not so much of interest here, but one can also use strace to find
just what sort of thing an application is looking for to open and where,
even without knowing the filename exactly. I'll often use it to figure
out where an app keeps its config files, for instance. In that case, you
don't know the name of the file exactly so you can't grep for it, and as I
said, the output can very quickly get overwhelming without any filtering
at all. However, grep -v (return only lines that do NOT match) can be
used in this case, to exclude whole categories that are known NOT to be of
interest. For instance, many X apps will look for icon, font and cursor
files, and if we are looking for config files those aren't of any interest
at all, so we could use a | grep -v icons | grep -v fonts | grep -v
cursors pipeline of greps to filter all those out. If we are looking for
a user config, we can further grep for the user's home dir, avoiding
everything in /usr including all the libraries opened and the like. Since
every library open often involves several attempts at various standard
locations before the library is actually found and opened, that's a HUGE
filter. By this time, the output should actually be getting a bit more
humanly manageable and one can look thru it manually. If not, add a few
more greps to the pipeline to filter it further.
Of course, using strace is quite educational in itself. Few users have
any idea running a single application involves even 1% of the number of
attempted opens it actually does, or that for every library actually
loaded, the system often looks in multiple standard locations for that
library before actually finding it. One VERY QUICKLY gains a new
appreciation for how much actual work goes on behind the scenes, and is
amazed that just opening even a simple app doesn't take a half-hour! =8^)
Anyway, strace can be a very helpful troubleshooting tool, once one learns
how to use it and cope with its often HUGE output level. I've certainly
found it so, and it should prove quite helpful for you here, as well.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
--
gentoo-amd64@gentoo.org mailing list
prev parent reply other threads:[~2006-11-22 4:06 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-21 18:41 [gentoo-amd64] Problem with Firefox 2 Joaquim Quinteiro Uchoa
2006-11-22 4:04 ` Duncan [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='ek0i7o$jrr$1@sea.gmane.org' \
--to=1i5t5.duncan@cox.net \
--cc=gentoo-amd64@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox