Closed
Bug 40180
Opened 25 years ago
Closed 25 years ago
Mozilla continues to update profile when it is in the trash (mac-only)
Categories
(Core Graveyard :: Profile: BackEnd, defect, P1)
Tracking
(Not tracked)
VERIFIED
FIXED
M17
People
(Reporter: jrgmorrison, Assigned: racham)
Details
(Whiteboard: [nsbeta2+])
Overview Description:
Mozilla profile directory missing --> causes crash on mac os9.0
I don't know how I initially got into this state, but here are
steps to set yourself up for a crash. Something is wrong with
the profile creation logic on mac.
Note: while the scenario below seems like luser error, these are
just the steps to reproduce what happened to me -- i.e., my profile
directory "spontaneously" vanished, and this just simulates what
happens after that time. (I have no idea how my profile directory
got nuked, though).
Steps to Reproduce:
1) Delete the Mozilla Registry and the Mozilla directory in the
Documents folder (this is the default location for profiles, right?)
2) start mozilla -- this causes a default profile to be created
3) exit mozilla, and then delete the Mozilla folder, but keep the
Mozilla Registry
4) start mozilla -- a _document_ called Mozilla is created in the
Documents directory, with contents being those of the default
home page as HTML -- http://home.netscape.com/
5) now start mailnews from browser. If it does not crash immediately,
then try to use the mailnews window to do something, or resize it
a few times. Eventually it will crash (and it's useless in meantime).
Reproducibility: always
Actual Results: a crash (and the profile directory is now a document)
Expected Results: whatever the plan is for starting in the absence of
a profile directory -- I suppose: create one :-]
Build Date & Platform Bug Found: 2000052208 mac os 9.0 comm. build
Additional Builds and Platforms Tested On:
does not crash on linux/win32 20000522
Additional Information:
On one occasion, while starting I got some error dialogs about bogus
content in prefs.js.
macsbug stack trace (although this may just be a "victim" of the bogus
profile situation).
Calling chain using A6/R1 links
Back chain ISA Caller
00000000 PPC 1F25C7FC
0F195140 PPC 1F248504 main+00140
0F1950E0 PPC 1F2479C0 main1(int, char**, nsISupports*)+00944
0F194E20 PPC 1EF2018C nsAppShellService::Run()+00018
0F194DE0 PPC 1ED7518C nsAppShell::Run()+00038
0F194D90 PPC 1ED75888 nsMacMessagePump::DoMessagePump()+0003C
0F194D40 PPC 1ED75E90 nsMacMessagePump::DispatchEvent(int,
EventRecord*)+00174
0F194CF0 PPC 1ED8CC84 Repeater::DoRepeaters(const EventRecord&)+00030
0F194CB0 PPC 1ED557E4 nsMacNSPREventQueueHandler::RepeatAction(const
EventRecord&)+0000C
0F194C70 PPC 1ED558FC
nsMacNSPREventQueueHandler::ProcessPLEventQueue()+000B0
0F194C00 PPC 1F0A8C88 nsEventQueueImpl::ProcessPendingEvents()+00038
0F194BA0 PPC 1F1045D4 PL_ProcessPendingEvents+0004C
0F194B60 PPC 1F1046BC PL_HandleEvent+00020
0F194B20 PPC 1EC30D90
nsStreamListenerEvent::HandlePLEvent(PLEvent*)+00024
0F194AD0 PPC 1EC31C48 nsOnStopRequestEvent::HandleEvent()+00070
0F194A80 PPC 1EC4D584 nsStreamIOChannel::OnStopRequest(nsIChannel*,
nsISupports*, unsigned int, const unsigned short*)+00068
0F194A30 PPC 1EC4A4F8 nsLoadGroup::RemoveChannel(nsIChannel*,
nsISupports*, unsigned int, const unsigned short*)+00104
0F1949B0 PPC 1EC28FD0 nsDocLoaderImpl::OnStopRequest(nsIChannel*,
nsISupports*, unsigned int, const unsigned short*)+00060
0F194960 PPC 1EC29128 nsDocLoaderImpl::DocLoaderIsEmpty(unsigned
int)+00028
0F194900 PPC 1EC29200 nsDocLoaderImpl::DocLoaderIsEmpty(unsigned
int)+00100
0F1948A0 PPC 1EC2956C
nsDocLoaderImpl::FireOnEndDocumentLoad(nsDocLoaderImpl*, nsIChannel*, unsigned
int)+00138
0F194820 PPC 1F13631C nsWebShell::OnEndDocumentLoad(nsIDocumentLoader*,
nsIChannel*, unsigned int)+0030C
0F1941D0 PPC 1EF16A8C
nsWebShellWindow::OnEndDocumentLoad(nsIDocumentLoader*, nsIChannel*, unsigned
int)+00230
0F194060 PPC 1EF35498 nsXULWindow::OnChromeLoaded()+00060
0F193FD0 PPC 1EF359E0 nsXULWindow::LoadPositionAndSizeFromXUL(int,
int)+0035C
0F193BA0 PPC 1EF34210 nsXULWindow::SetSize(int, int, int)+00028
0F193B60 PPC 1ED6D654 nsMacWindow::Resize(int, int, int)+00110
0F193B00 PPC 1ED5242C nsWindow::Resize(int, int, int)+00070
0F193AC0 PPC 1ED543D0 nsWindow::ReportSizeEvent()+0006C
0F193A40 PPC 1ED53F88 nsWindow::DispatchWindowEvent(nsGUIEvent&)+00018
0F193A00 PPC 1ED53EB4 nsWindow::DispatchEvent(nsGUIEvent*,
nsEventStatus&)+00094
0F1939B0 PPC 1EF138D4 nsWebShellWindow::HandleEvent(nsGUIEvent*)+0014C
0F1937B0 PPC 1F13B4E4 nsWebShell::SetPositionAndSize(int, int, int, int,
int)+00048
0F193760 PPC 1F14DF38 nsDocShell::SetPositionAndSize(int, int, int, int,
int)+00060
0F193700 PPC 1EA6B9B0 DocumentViewerImpl::SetBounds(const nsRect&)+00038
0F1936C0 PPC 1ED524F4 nsWindow::Resize(int, int, int, int, int)+00048
0F193670 PPC 1ED5242C nsWindow::Resize(int, int, int)+00070
0F193630 PPC 1ED543D0 nsWindow::ReportSizeEvent()+0006C
0F1935B0 PPC 1ED53F88 nsWindow::DispatchWindowEvent(nsGUIEvent&)+00018
0F193570 PPC 1ED53EB4 nsWindow::DispatchEvent(nsGUIEvent*,
nsEventStatus&)+00094
0F193520 PPC 1D8403E4 HandleEvent(nsGUIEvent*)+00058
0F1934D0 PPC 1D849270 nsViewManager2::DispatchEvent(nsGUIEvent*,
nsEventStatus*)+00194
0F1933A0 PPC 1D847630 nsViewManager2::SetWindowDimensions(int,
int)+00064
0F193350 PPC 1E780498 PresShell::ResizeReflow(nsIView*, int, int)+0001C
0F193310 PPC 1E77AD8C PresShell::ResizeReflow(int, int)+002D4
0F193150 PPC 1EA26C40 ViewportFrame::Reflow(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+001EC
0F192FC0 PPC 1E758274 nsContainerFrame::ReflowChild(nsIFrame*,
nsIPresContext*, nsHTMLReflowMetrics&, const nsHTMLReflowState&, int, int,
unsigned int, unsigned int&)+000C8
0F192F50 PPC 1EB0F7F0 nsRootBoxFrame::Reflow(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+0000C
0F192F10 PPC 1EA53DD8 nsBoxFrame::Reflow(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+00214
0F192E30 PPC 1EA54528 nsBoxFrame::Layout(nsBoxLayoutState&)+0003C
0F192DF0 PPC 1EB08290 nsContainerBox::Layout(nsBoxLayoutState&)+00078
0F192DA0 PPC 1EB0C818 nsStackLayout::Layout(nsIBox*,
nsBoxLayoutState&)+000D8
0F192D00 PPC 1EA54528 nsBoxFrame::Layout(nsBoxLayoutState&)+0003C
0F192CC0 PPC 1EB08290 nsContainerBox::Layout(nsBoxLayoutState&)+00078
0F192C70 PPC 1EB09B38 nsSprocketLayout::Layout(nsIBox*,
nsBoxLayoutState&)+0081C
0F192A90 PPC 1EA54528 nsBoxFrame::Layout(nsBoxLayoutState&)+0003C
0F192A50 PPC 1EB08290 nsContainerBox::Layout(nsBoxLayoutState&)+00078
0F192A00 PPC 1EB09B38 nsSprocketLayout::Layout(nsIBox*,
nsBoxLayoutState&)+0081C
0F192820 PPC 1EA54528 nsBoxFrame::Layout(nsBoxLayoutState&)+0003C
0F1927E0 PPC 1EB08290 nsContainerBox::Layout(nsBoxLayoutState&)+00078
0F192790 PPC 1EB09B38 nsSprocketLayout::Layout(nsIBox*,
nsBoxLayoutState&)+0081C
0F1925B0 PPC 1EB055E8
nsBoxToBlockAdaptor::Layout(nsBoxLayoutState&)+00138
0F1924F0 PPC 1EB05D70 nsBoxToBlockAdaptor::Reflow(nsBoxLayoutState&,
nsIPresContext*, nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&,
int, int, int, int, int)+00640
0F192270 PPC 1EAC9E20 nsTreeOuterFrame::Reflow(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+002A4
0F1920C0 PPC 1E818A2C nsTableOuterFrame::Reflow(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+00240
0F191E90 PPC 1E816FF4
nsTableOuterFrame::OuterReflowChild(nsIPresContext*, nsIFrame*, const
nsHTMLReflowState&, nsHTMLReflowMetrics&, int*, nsSize&, nsMargin&, nsMargin&,
nsReflowReason, unsigned int&)+001E4
0F191D50 PPC 1E758274 nsContainerFrame::ReflowChild(nsIFrame*,
nsIPresContext*, nsHTMLReflowMetrics&, const nsHTMLReflowState&, int, int,
unsigned int, unsigned int&)+000C8
0F191CE0 PPC 1EA14568 nsTreeFrame::Reflow(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+000A0
0F191C50 PPC 1E80D008 nsTableFrame::Reflow(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+00420
0F191B00 PPC 1E80DD38 nsTableFrame::ResizeReflowPass2(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+00184
0F191A60 PPC 1E8107D8
nsTableFrame::ReflowMappedChildren(nsIPresContext*, nsHTMLReflowMetrics&,
InnerTableReflowState&, unsigned int&)+00338
0F1917D0 PPC 1E758274 nsContainerFrame::ReflowChild(nsIFrame*,
nsIPresContext*, nsHTMLReflowMetrics&, const nsHTMLReflowState&, int, int,
unsigned int, unsigned int&)+000C8
0F191760 PPC 1E81F5C0 nsTableRowGroupFrame::Reflow(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+0018C
0F191680 PPC 1E81DA30
nsTableRowGroupFrame::ReflowMappedChildren(nsIPresContext*,
nsHTMLReflowMetrics&, RowGroupReflowState&, unsigned int&, nsTableRowFrame*,
nsReflowReason, int, int)+002D8
0F1914C0 PPC 1E758274 nsContainerFrame::ReflowChild(nsIFrame*,
nsIPresContext*, nsHTMLReflowMetrics&, const nsHTMLReflowState&, int, int,
unsigned int, unsigned int&)+000C8
0F191450 PPC 1E81F5C0 nsTableRowGroupFrame::Reflow(nsIPresContext*,
nsHTMLReflowMetrics&, const nsHTMLReflowState&, unsigned int&)+0018C
0F191370 PPC 1E81D83C
nsTableRowGroupFrame::ReflowMappedChildren(nsIPresContext*,
nsHTMLReflowMetrics&, RowGroupReflowState&, unsigned int&, nsTableRowFrame*,
nsReflowReason, int, int)+000E4
0F1911B0 PPC 1EA9F8B4
nsTreeRowGroupFrame::GetFirstFrameForReflow(nsIPresContext*)+00210
0F191070 PPC 1EE44524 nsXULElement::ChildCount(int&) const+00018
0F191030 PPC 1EE48D64 nsXULElement::EnsureContentsGenerated()
const+000E4
0F190FB0 PPC 1EDF1018 nsXULDocument::CreateContents(nsIContent*)+00098
0F190F60 PPC 1EE783F8
nsXULTemplateBuilder::CreateContents(nsIContent*)+00054
0F190F10 PPC 1EE7D39C
nsXULTemplateBuilder::CreateTemplateAndContainerContents(nsIContent*,
nsIContent**, int*)+00128
0F190DF0 PPC 1EE7D688
nsXULTemplateBuilder::CreateContainerContents(nsIContent*, nsIRDFResource*,
int, nsIContent**, int*)+0020C
0F190C70 PPC 1EE6E3D0 RootNode::Propogate(const InstantiationSet&,
void*)+00040
0F190C00 PPC 1EE6E6D8 TestNode::Propogate(const InstantiationSet&,
void*)+0009C
0F190B60 PPC 1EE6E670 TestNode::Propogate(const InstantiationSet&,
void*)+00034
0F190AC0 PPC 1EE754C4
RDFContainerMemberTestNode::FilterInstantiations(InstantiationSet&, void*)
const+012A8
0F1905A0 PPC 1EDD9F04
CompositeEnumeratorImpl::HasMoreElements(int*)+00080
0F190500 PPC 1EDDA8F0
CompositeAssertionEnumeratorImpl::GetEnumerator(nsIRDFDataSource*,
nsISimpleEnumerator**)+00038
0F1904C0 PPC 1D59295C nsMsgFolderDataSource::GetTargets(nsIRDFResource*,
nsIRDFResource*, int, nsISimpleEnumerator**)+000BC
0F190430 PPC 1D8812FC
nsImapMailFolder::GetSubFolders(nsIEnumerator**)+00274
0F190350 PPC 1D8CECDC nsMsgFolder::SetPrefFlag()+00358
0F190180 PPC 1D4EA510 nsMsgFolder::SetFlag(unsigned int)+00060
0F190130 PPC 1D4EA724 nsMsgFolder::OnFlagChange(unsigned int)+00058
0F190090 PPC 1D4BF26C
nsMsgLocalMailFolder::GetDBFolderInfoAndDB(nsIDBFolderInfo**,
nsIMsgDatabase**)+00064
0F190010 PPC 1F089844 nsComponentManager::CreateInstance(const nsID&,
nsISupports*, const nsID&, void**)+00054
0F18FFC0 PPC 1F0A2F10 nsComponentManagerImpl::CreateInstance(const
nsID&, nsISupports*, const nsID&, void**)+00074
0F18FF60 PPC 1F0A293C nsComponentManagerImpl::FindFactory(const nsID&,
nsIFactory**)+000EC
0F18FEE0 PPC 1F0ED36C nsNativeComponentLoader::GetFactory(const nsID&,
const char*, const char*, nsIFactory**)+001C4
0F18FA50 PPC 1F0EFE8C
nsNativeComponentLoader::GetFactoryFromModule(nsDll*, const nsID&,
nsIFactory**)+00044
0F18F9D0 PPC 1F095A04 nsDll::GetModule(nsISupports*, nsIModule**)+00084
0F18F980 PPC 1F0958CC nsDll::FindSymbol(const char*)+00044
0F18F940 PPC 1F1E39FC PR_FindSymbol+00038
Closing log
Updated•25 years ago
|
Summary: Mozilla profile directory missing --> causes crash on mac os9.0 → Mozilla profile directory missing --> causes crash on mac os9.0
Comment 1•25 years ago
|
||
I am getting something else- equally troubling on Mac OS 8.5.1
First off, my Documents folder has a subfolder - Users50, which will contain the
first default profile folder created in step 2 unlike John's
(Documents/Mozilla/Users50/default
After exiting, deleting the users50 folder and subfolder default (comparable to
John's Mozilla/Users50/default(but not Mozilla Registry), I can run Mozilla and
it creates a default profile (expected behavior-with default prefs)- with all
the profile files/folders in the mozilla-mac-M16 folder with the program files.
The good news is that I do not crash- but my profile is intermingled with the
app
Reporter | ||
Comment 2•25 years ago
|
||
You know, I saw this happen once (profile mixed into the app folder), but
assumed that it was a transient effect during the chrome restructuring. I
blew away my Mozilla Registry, and everything was fine after that point.
However, if this is still happening, then this wasn't just a side-effect of
the chrome changes.
I don't have a Mac 9.0. I didn't get a crash on my 8.6 (OS) machine. When we
delete profile directory and keep registry and run browser with that profile...I
noticed that app folder is considered as profile folder and profile contents are
mingled with app folder. It works fine on windows and Linux as the path to the
directory in the mozregistry is recovered and honored. On Mac, the profile
directory name is stored as a presistent format which then was not retrieved to
build the directory of the profile we choose.
This could be a problamatic in situations where user has multiple profile and
his users directory is nuked.....all profiles pointing to app folder and one
profile overwriting other profile contents..
I think as a fix to this, we need to build the path (get the default path and
append the profile name) for the profile and thus make an exclusive place for
each profile.
THIS IS A MAC ONLY ISSUE.. Adding nsbeta2 keyword.
John, stack trace didn't suggest directly that it is due the missing profile
dir...does the crash still happen....?
Reporter | ||
Comment 6•25 years ago
|
||
Yeah. The stack is pointing elsewhere, but my guess is that the memory is
just trounced somewhere because I can get random fragments of browser/mail UI
painting on the screen before the crash occurs (sorry, difficult to explain
what it looks like).
Using the steps to reproduce above, I still get the crash today -- but this
time I got no stack at all -- but I'm not surprised (I think things are set
up for a fall, and some method eventually gets to be the victim).
Reporter | ||
Comment 8•25 years ago
|
||
Okay, bhuvan and I tested a revised profile.shlb on my system, and I no
longer get the crash. However, there is still a problem:
1) drag documents:Mozilla to the trash
2) Start mozilla
A file called 'Mozilla' is created in the Documents: folder, and it contains
the HTML from my startup page. But the browser starts OK.
However, now, if a change any preferences, the changes are written to the
profile that I threw in the Trash! This is not good -- a user could run for
quite a while in this mode, then empty their trash one day and lose all of
their preferences, their history, their bookmarks, etc.
Clearly, the filespec should not return a ref to a directory in the trash,
treating this as just another normal file/folder.
Severity: critical → major
Keywords: crash
changing priority to P1. Not at all good to update trash contents.....! I will
check the issue at the point filespec level.
Priority: P3 → P1
Reporter | ||
Comment 11•25 years ago
|
||
re-summarize, and remove crash keyword. No longer a crash, but serious
nonetheless.
Keywords: crash
Summary: Mozilla profile directory missing --> causes crash on mac os9.0 → Mozilla continues to update profile when it is in the trash (mac-only)
Assignee | ||
Comment 12•25 years ago
|
||
Fix checked in. With this change when a profile directory is physically deleted,
on Mac, the folder in the trash gets ignored and a new folder gets created under
the deafult location. Thanks john....for letting me use your 9.0 machine and
helping me test intermediate shlb files.
On other platforms, the behavior remains as usual. On physical
deletion, Whereever the profile directory was, it ges recreated in the same
place again.
Marking fixed.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Comment 13•25 years ago
|
||
build 2000061908- Mac OS9.0
was able to reproduce part of this bug (updating folder in trash) with older
build and confirmed it does not happen with latest build
Status: RESOLVED → VERIFIED
Updated•9 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•