netscape disk cache woes; more info and workaround
Following is some more info on a problem I reported a few weeks
ago on this list. At the end is a workaround I've found, in case
anyone else has had this problem, though I still don't know the
real reason for the problem.
Summary of problem:
- netscape disk cache directory stays empty except for index.db file;
- used to work under Slackware;
- tried lots of things;
- `clear disk cache' doesn't help.
I wrote:
> Serves me right for using non-free software I guess; if I had some
> source I could at least have fun _trying_ to find something out...
Well I decided to see what I could find out anyway, and learn about
"lsof" and "strace" in the process. I also installed RedHat to a
free partition to see if it worked for me there - it did.
(The best thing about RedHat install: floppyless install direct
from cdrom, presumably using loadlin - very nifty; hint, hint :-)
The worst thing: I don't like using X as root to use the graphical config
utilities, though I guess you could get around this.)
Following are extracts from "strace netscape" output under RedHat and
then under Debian, under approximately "test" (ie "similar") conditions:
(Note: running as root doesn't make any difference in Debian case.)
--redhat-->
getpid() = 468
stat("/root/.netscape/acache/0F", 0xbfffe3d4) = -1 ENOENT (No such file or directory)
readlink("/root", 0xbfffd794, 1023) = -1 EINVAL (Invalid argument)
readlink("/root/.netscape", 0xbfffd794, 1023) = -1 EINVAL (Invalid argument)
readlink("/root/.netscape/acache", 0xbfffd794, 1023) = -1 EINVAL (Invalid argument)
readlink("/root/.netscape/acache/0F", 0xbfffd794, 1023) = -1 ENOENT (No such file or directory)
mkdir("/root/.netscape/acache/0F", 0755) = 0
stat("/root/.netscape/acache/0F/cache336BE64F00001D4.html", 0xbfffe3f8) = -1 ENOENT (No such file or directory)
open("/root/.netscape/acache/0F/cache336BE64F00001D4.html", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 16
fchmod(16, 0600) = 0
write(6, "=\1\4\0000\2\0\0030\0\0\0\367\0\22"..., 16) = 16
fstat(16, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
<----
--debian-->
getpid() = 356
stat("/home/dwp/.netscape/acache/18", 0xbfffe560) = -1 ENOENT (No such file or directory)
readlink("/home", 0xbfffd920, 1023) = -1 EINVAL (Invalid argument)
readlink("/home/dwp", 0xbfffd920, 1023) = -1 EINVAL (Invalid argument)
readlink("/home/dwp/.netscape", 0xbfffd920, 1023) = -1 EINVAL (Invalid argument)
readlink("/home/dwp/.netscape/acache", 0xbfffd920, 1023) = -1 EINVAL (Invalid argument)
readlink("/home/dwp/.netscape/acache/18", 0xbfffd920, 1023) = -1 ENOENT (No such file or directory)
stat("/home/dwp/.netscape/acache/18/cache336BE9B80000164.html", 0xbfffe584) = -1 ENOENT (No such file or directory)
open("/home/dwp/.netscape/acache/18/cache336BE9B80000164.html", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 ENOENT (No such file or directory)
write(6, "=\1\4\0000\2\0\0020\0\0\0`\1\22\0"..., 16) = 16
<----
Ie, for some reason, under Debian the call to mkdir is ommitted,
and then (naturally) file creation for the cached document fails.
Why would the mkdir be skipped??
Maybe:
- Different libraries? It _is_ the case that some lib versions (eg libc)
are different between the two cases (eg using "ldd") , and that my
old Slackware system from what I can tell used the same libs as
this install of RedHat (ie older libs than my Debian install).
But why would no-one else using Debian have noticed?
- Different kernel? But using the kernel-image from my Debian CD
(Infomagic Dec96) doesn't fix the problem.
- Different configuration? Nothing that I've been able to think
of has helped...
- Something really silly and trivial? Probably...
- My computer has become sentient and is out to get me...
I have lots more info and strace output if anyone is interested :-)
Anyway, based on the above strace results, I have developed the following
workaround: manually create the directories [01][0-9A-Z] under my netscape
cache dir; seems to work ok!
(Are these all the directories that are required, ie used?)
-- David
--
David Pfitzner dwp@mso.anu.edu.au
--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org .
Trouble? e-mail to templin@bucknell.edu .
Reply to: