Closed
Bug 215089
Opened 22 years ago
Closed 21 years ago
nsLocalFileOSX::MoveTo fails if no "Temporary Items" folder on volume [was: Bookmarks.html consistantly lost]
Categories
(SeaMonkey :: Bookmarks & History, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla1.5final
People
(Reporter: llaughridge, Assigned: darin.moz)
References
Details
(4 keywords)
Attachments
(1 file)
14.40 KB,
patch
|
ccarlen
:
review+
bryner
:
superreview+
asa
:
approval1.4.1-
mkaply
:
approval1.4.2+
asa
:
approval1.5+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.5b) Gecko/20030804
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.5b) Gecko/20030804
Mozilla deletes the bookmarks.html file resulting in data loss.
Bookmarking a page does not cause data to be written to the bookmarks.html file
right away. It appears to be cached elsewhere. After bookmarking a page,
Mozilla will delete bookmarks.html when the browser window is closed, and will
not re-write the file until another browser window is opened. Quitting Mozilla
when the bookmarks.html file is not present results in data loss.
Reproducible: Always
Steps to Reproduce:
1. Assume a bookmarks.html file exists in *.slt
2. Launch Mozilla - check that bookmarks.html exists
3. Add a bookmark.
4. Verify that bookmarks.html exists, and is the same size as before (the
bookmark has not been written to the file).
5. Close the browser window
6. Verify that bookmarks.html no longer exists.
7. Check the Bookmarks menu - the entry still exists (cached?)
8. If you quit Mozilla now, the bookmarks will be lost!
9. Create a new browser window.
10. Verify that bookmarks.html has now been written, AND is larger than before
reflecting the additional data from (3) above.
11. Repeat steps (4) to (6) to observe the same behaviour again.
12. If you quit Mozilla WITH the bookmarks.html file present, you have about a
2/3 chance that it will not be immediately deleted upon subsequent launch.
Actual Results:
Consistant and repeatable loss of bookmarks.html
Expected Results:
Mozilla should have handled bookmarks.html in a robust manner. The app should
never be in a situation where bookmarks data is unwritten and only exists in cache.
Both existing and new, clean profiles have been tested, with the same results.
This has been occuring with clean installs of 10.2.[3|4|5|6] on G4 notebooks
(12") and workstations (2x1.25GHz). It has happened with every build of mozilla
from 1.4b --> the 3 August nightly.
This occurs only on Mac OS X builds where the users $HOME is on a mounted NFS
volume. It does not occur with profiles on HFS+ volumes. It does not occur
with Solaris/SPARC or Linux/x86 builds with profiles on NFS volumes. I'm not
saying that this is related to any specific Mozilla bug involving NFS. I'm
simply reporting facts that I can observe and reproduce.
Reporter | ||
Updated•22 years ago
|
Flags: blocking1.5b?
Comment 1•22 years ago
|
||
unable to reproduce with latest trunk builds on OS X
Comment 2•22 years ago
|
||
I have the same problem. All recently added bookmarks are lost when mozilla is
shut down improperly. Any way to fix this?
Reporter | ||
Comment 3•22 years ago
|
||
If 'trunk builds' == the 20 August nightly, then it is absolutely reproducible,
still. Sorry.
Flags: blocking1.5?
Comment 4•22 years ago
|
||
This also happens with profiles in AFS (we symlink ~/Library into AFS), both
netscape 7.1 and moz trunk.
This is really annoying, and it didn't happen with CFM versions of moz.
Updated•22 years ago
|
Flags: blocking1.5b? → blocking1.5b-
Updated•22 years ago
|
Keywords: dataloss,
regression
Assignee | ||
Comment 5•22 years ago
|
||
hmm... i have no mac, and am therefore not able to test this bug out, but the
following code snipet from nsBookmarksService.cpp confuses me:
NS_IMETHODIMP nsBookmarksService::Observe(...)
{
...
if (!nsCRT::strcmp(aTopic, "profile-before-change"))
{
// The profile has not changed yet.
rv = Flush();
if (!nsCRT::strcmp(someData, NS_LITERAL_STRING("shutdown-cleanse").get()))
{
nsCOMPtr<nsIFile> bookmarksFile;
rv =
GetBookmarksFile(getter_AddRefs(bookmarksFile));
if (bookmarksFile)
{
bookmarksFile->Remove(PR_FALSE);
}
}
}
...
why in the world do we remove the bookmarks file here?
Comment 6•21 years ago
|
||
From what I see, shutdown-cleanse only occurs in unusual situations, in
particular in response to a user requester in CProfileManager::DoLogout() in
embedding/browser/powerplant/source/CProfileManager.cpp
* "shutdown-persist"
* The user is logging out and whatever data the observer stores
* for the current profile should be released from memory and
* saved to disk.
*
* "shutdown-cleanse"
* The user is logging out and whatever data the observer stores
* for the current profile should be released from memory and
* deleted from disk.
Without knowing exactly the content of the requester, I'm not sure why it would
be invoked anyways. It certainly could use some more commenting. Not sure if
this is the cause, but it's possible.
I suspect this isn't the issue, and it's instead one with the logic to write new
bookmarks files atomically, but it's worth checking.
Flags: blocking1.5? → blocking1.5+
Updated•21 years ago
|
Flags: blocking1.4.x?
Comment 7•21 years ago
|
||
I got an email from a user (Mike Breeze) with Win2000 and Netscape 7.1 that they
have this problem too (or if not, a similar problem).
OS->All
Hardware->All
OS: MacOS X → All
Hardware: Macintosh → All
Comment 8•21 years ago
|
||
re comment 5
I don´t know, if this is relevant to this bug, but I made some observations:
1. switch to another profile or create a new one, open bookmarkmanager, and you
see as name: Bookmarks for [old profilename]
This is easily reproducible, don´t know, if a bug exists.
2. I´m using nightlies with my default profile, including mail. My default
profile has NOT the standard Mozilla/Netscape name. Normally each of my older
Mozillas is started with it´s own profile.
I started Mozilla 1.0.2 with my default profile, tested a bug, then ended it.
I started Mozilla Nightly, I think from a shortcut with profile name supplied,
but I had a fresh profile, no bookmarks in the toolbar, no mail.
While still running, I opened windows explorer, and made a copy of my default
profile.
I think, at the second restart of mozilla my old profile was in use again,
no corrections necessary.
I didn´t file a bug, as I´ve got to investigate this better.
I never lost my bookmarks, since using 0.9.x
Comment 9•21 years ago
|
||
part 2 of my previous post is irrelevant, the shortcut had option -P"Profile-Name"
instead of -P "Profile-Name", there was a space missing, so the profile wasn´t
changed. Sorry for the spam.
Assignee | ||
Comment 10•21 years ago
|
||
using Len's machine, i'm able to reproduce this bug (thanks Len!)... now to
figure this out...
Assignee | ||
Comment 11•21 years ago
|
||
i cannot seem to repro this bug using my debug seamonkey build under linux.
Assignee | ||
Comment 12•21 years ago
|
||
ok, i learned some more about what the problem is here:
at shutdown, nsBookmarksService::Flush is getting called, and WriteBookmarks is
getting called. the temp bookmarks file (bookmarks-1.html) is getting created;
however, when we go to move bookmarks-1.html to bookmarks.html, we fail. we
fail deep inside MoreFilesX.c in FSMoveRenameObjectUnicode (line 1389) with the
error that there exists no "Temporary Items" folder on the specified volume.
simply creating a folder in the user's home directory called "Temporary Items"
makes this bug go away.
now, i have no idea why we need to depend on the existence of the "Temporary
Items" folder in order to simply move files around the file system. maybe we
should "fix" this bug by having nsLocalFileOSX.cpp catch this error and do the
fallback copy method of moving/renaming files. or maybe we can use some other
method of moving/renaming files under OSX.
conrad: do you have any suggestions? (btw: this bug results from folks storing
their profiles on a NFS drive, and this particular bug is OSX only.)
rjesup: since this bug has been isolated as a Mac OSX specific problem, i think
we should really file a new bug for the WIN32 version.
Assignee: pierre_tmp → darin
OS: All → MacOS X
Hardware: All → Macintosh
Assignee | ||
Updated•21 years ago
|
Status: NEW → ASSIGNED
Summary: Bookmarks.html consistantly lost → nsLocalFileOSX::MoveTo fails if no "Temporary Items" folder on volume [was: Bookmarks.html consistantly lost]
Target Milestone: --- → mozilla1.5final
Assignee | ||
Comment 13•21 years ago
|
||
ok, more info...
FindFolders(..., kTemporaryFolder, ...);
is failing with the error -5000 (afpAccessDenied), which might just be another
way of saying that the directory doesn't exist.
might be wierd/out-of-place to catch this error in nsLocalFileOSX.cpp:MoveTo.
maybe we should just always failover to the copy case?
Assignee | ||
Comment 14•21 years ago
|
||
ok, more info:
looks like newer versions of MoreFiles actually fixes this bug. in the
changelog for MoreFilesX.c:
<4> 8/22/02 JL [3016251]
Changed FSMoveRenameObjectUnicode to not use
the Temporary folder because it isn't available on
NFS volumes.
does anyone know where to get a more recent copy of MoreFiles?
Assignee | ||
Comment 15•21 years ago
|
||
ok, thanks to bryner for pointing me at the latest copy of MoreFilesX on apple's
website. i'm going to verify that it fixes this bug.
Assignee | ||
Comment 16•21 years ago
|
||
ok, this patch fixes the problem (without requiring folks to create a
"Temporary Items" folder).
Assignee | ||
Updated•21 years ago
|
Attachment #131085 -
Flags: superreview?(bryner)
Attachment #131085 -
Flags: review?(ccarlen)
Comment 17•21 years ago
|
||
Comment on attachment 131085 [details] [diff] [review]
v1 patch : update to latest version of MoreFilesX
Good find. r=ccarlen
Attachment #131085 -
Flags: review?(ccarlen) → review+
Updated•21 years ago
|
Attachment #131085 -
Flags: superreview?(bryner) → superreview+
Assignee | ||
Comment 18•21 years ago
|
||
Comment on attachment 131085 [details] [diff] [review]
v1 patch : update to latest version of MoreFilesX
requesting approval for 1.5 final. patch is simply to update our copy of
MoreFilesX.
Attachment #131085 -
Flags: approval1.5?
Comment 19•21 years ago
|
||
Comment on attachment 131085 [details] [diff] [review]
v1 patch : update to latest version of MoreFilesX
a=asa (on behalf of drivers) for checkin to Mozilla 1.5
Attachment #131085 -
Flags: approval1.5? → approval1.5+
Reporter | ||
Comment 20•21 years ago
|
||
On behalf of myself, the (now 20 and counting) users at my company, and
enterprise users everywhere:
Thank You All Very Much, especially Darin.
Now, on to 166369 (hopefully already fixed by this same patch), and 201291!
I'll provide remote access to a G4 2x1.25 for anyone willing and able to get
these knocked out before 1.5 final.
Thanks again,
Len
IT Director
Kitchen & Associates Architectural Services
Assignee | ||
Comment 21•21 years ago
|
||
fixed-on-trunk (for mozilla 1.5)
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 22•21 years ago
|
||
Comment on attachment 131085 [details] [diff] [review]
v1 patch : update to latest version of MoreFilesX
we probably want this on the 1.4 branch as well.
Attachment #131085 -
Flags: approval1.4.1?
Updated•21 years ago
|
Flags: blocking1.4.1? → blocking1.4.1-
Comment 23•21 years ago
|
||
Comment on attachment 131085 [details] [diff] [review]
v1 patch : update to latest version of MoreFilesX
too late for 1.4.1. if you'd like to see this in the next 1.4.x release please
set the approval1.4.2? flag.
Attachment #131085 -
Flags: approval1.4.1? → approval1.4.1-
Assignee | ||
Updated•21 years ago
|
Attachment #131085 -
Flags: approval1.4.2?
Comment 24•21 years ago
|
||
*** Bug 219243 has been marked as a duplicate of this bug. ***
Comment 25•21 years ago
|
||
Comment on attachment 131085 [details] [diff] [review]
v1 patch : update to latest version of MoreFilesX
a=mkaply for 1.4.2
Attachment #131085 -
Flags: approval1.4.2? → approval1.4.2+
Updated•20 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•