[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: