Closed
Bug 211614
Opened 23 years ago
Closed 16 years ago
an empty or invalid chrome.rdf should be clobbered
Categories
(Core :: XUL, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: timeless, Assigned: timeless)
References
Details
tested: mozilla 1.4 final, a cvs build from trunk
the first hundred or so times that i ran mozilla 1.4 it crashed or quit very
early because there wasn't enough memory to run anything.
unfortunately somehow one of those runs resulted in a 0 byte chrome.rdf file.
There are a few problems here:
1. Something should validate or delete chrome.rdf
Here's the call that doesn't do anything useful:
rv = BlockingParse(mURL, this);
The problem is that empty files and missing files are NS_OK.
stack:
RDFXMLDataSourceImpl::Refresh(RDFXMLDataSourceImpl * const 0x03ba5034, int 1)
line 951
nsChromeRegistry::LoadDataSource(const nsACString & {...}, nsIRDFDataSource * *
0x0109c064, int 0, const char * 0x00000000) line 1328 + 34 bytes
nsChromeRegistry::AddToCompositeDataSource(int 0) line 3223 + 56 bytes
nsChromeRegistry::LoadInstallDataSource() line 3373 + 10 bytes
nsChromeRegistry::CheckForNewChrome(nsChromeRegistry * const 0x0109c028) line
3489 + 8 bytes
nsChromeRegistry::Init() line 428
nsChromeRegistryConstructor(nsISupports * 0x00000000, const nsID & {...}, void
* * 0x0012f1f4) line 50 + 128 bytes
nsGenericFactory::CreateInstance(nsGenericFactory * const 0x03ba9010,
nsISupports * 0x00000000, const nsID & {...}, void * * 0x0012f1f4) line 86 + 21
bytes
nsComponentManagerImpl::CreateInstanceByContractID(nsComponentManagerImpl *
const 0x0043e010, const char * 0x07d5ac24, nsISupports * 0x00000000, const nsID
& {...}, void * * 0x0012f1f4) line 2062 + 24 bytes
nsComponentManagerImpl::GetServiceByContractID(nsComponentManagerImpl * const
0x0043e014, const char * 0x07d5ac24, const nsID & {...}, void * * 0x0012f258)
line 2499 + 50 bytes
nsGetServiceByContractID::operator()(const nsID & {...}, void * * 0x0012f258)
line 121 + 38 bytes
nsCOMPtr<nsIChromeRegistry>::assign_from_helper(const nsCOMPtr_helper & {...},
const nsID & {...}) line 965 + 18 bytes
nsCOMPtr<nsIChromeRegistry>::operator=(const nsCOMPtr_helper & {...}) line 588
nsChromeProtocolHandler::NewURI(nsChromeProtocolHandler * const 0x03b44410,
const nsACString & {...}, const char * 0x00000000, nsIURI * 0x00000000, nsIURI
* * 0x0012f850) line 604 + 30 bytes
nsIOService::NewURI(nsIOService * const 0x03b93e78, const nsACString & {...},
const char * 0x00000000, nsIURI * 0x00000000, nsIURI * * 0x0012f850) line 405 +
39 bytes
NS_NewURI(nsIURI * * 0x0012f850, const nsACString & {...}, const char *
0x00000000, nsIURI * 0x00000000, nsIIOService * 0x03b93e78) line 114 + 28 bytes
NS_NewURI(nsIURI * * 0x0012f850, const char * 0x03b9ab70, nsIURI * 0x00000000,
nsIIOService * 0x00000000) line 134 + 33 bytes
nsWindowWatcher::URIfromURL(const char * 0x03b9ab70, nsIDOMWindow * 0x00000000,
nsIURI * * 0x0012f850) line 1148 + 24 bytes
nsWindowWatcher::OpenWindowJS(nsWindowWatcher * const 0x03b8df0c, nsIDOMWindow
* 0x00000000, const char * 0x03b9ab70, const char * 0x0741ea0c, const char *
0x0741e614, int 1, unsigned int 1, long * 0x010a2460, nsIDOMWindow * *
0x0012fa20) line 491 + 40 bytes
nsWindowWatcher::OpenWindow(nsWindowWatcher * const 0x03b8df08, nsIDOMWindow *
0x00000000, const char * 0x03b9ab70, const char * 0x0741ea0c, const char *
0x0741e614, nsISupports * 0x03b55db8, nsIDOMWindow * * 0x0012fa20) line 452 +
48 bytes
nsProfile::LoadDefaultProfileDir(nsCString &
{"chrome://communicator/content/profile/profileSelection.xul"}, int 1) line 540
+ 94 bytes
nsProfile::StartupWithArgs(nsProfile * const 0x010aed38, nsICmdLineService *
0x01049168, int 1) line 356 + 16 bytes
nsAppShellService::DoProfileStartup(nsAppShellService * const 0x0108e310,
nsICmdLineService * 0x01049168, int 1) line 265 + 31 bytes
InitializeProfileService(nsICmdLineService * 0x01049168) line 928 + 31 bytes
main1(int 1, char * * 0x00444340, nsISupports * 0x010490b8) line 1203 + 14 bytes
main(int 1, char * * 0x00444340) line 1670 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! SetUnhandledExceptionFilter + 92 bytes
Deleting is too draconian, particularly since mozilla can corrupt its
own files. I think it would be better to rename it.
Comment 2•23 years ago
|
||
tenthumbs: chrome.rdf is a generated file, constructed from installed-chrome.txt
If it's corrupted, why would we want to keep it?
> If it's corrupted, why would we want to keep it?
Data recovery, for one. Obviously it contains new information or it
wouldn't need to exist. There is precedent, prefs.bak and Invalid.mfasl
to name a few.
Comment 4•23 years ago
|
||
tenthumbs: This is talking about chrome.rdf in the application chrome directory,
which is just a "cache" of installed-chrome.txt and the contents.rdf that it
references. There is not any user information stored in it (that is stored in
the profile chrome.rdf, which we might should consider renaming).
*** Bug 249752 has been marked as a duplicate of this bug. ***
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: shrir → xptoolkit.widgets
Comment 6•16 years ago
|
||
chrome.rdf is obsolete
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•