Closed
Bug 46800
Opened 24 years ago
Closed 24 years ago
msglocal.dll shouldn't be loaded at startup
Categories
(MailNews Core :: Backend, defect, P3)
Tracking
(Not tracked)
Future
People
(Reporter: bratell, Assigned: mscott)
References
Details
(Keywords: perf)
msglocal.dll is for some reason loaded at startup even when no mail functions
are used. I started the browser and browsed a little at random and no (real)
functions in the dll were called. The functions called were:
nsMsgLocalMailFolderConstructor
nsMsgLocalModule::AddRef(void)
nsMsgLocalModule::QueryInterface(nsID const&,void * *)
nsMsgLocalModule::Release(void)
NSGetModule
nsMsgLocalModule::GetClassObject(nsIComponentManager *,nsID const&,nsID
const&,void * *)
nsMsgLocalModule::Initialize(void)
nsMsgLocalModule::nsMsgLocalModule(void)
nsMsgLocalMailFolder::AddRef(void)
nsMsgLocalMailFolder::Release(void)
nsMsgLocalMailFolder::QueryInterface(nsID const&,void * *)
nsMsgLocalMailFolder::CreateBaseMessageURI(char const*)
nsMsgLocalMailFolder::Init(char const*)
nsMsgLocalMailFolder::nsMsgLocalMailFolder(void)
Clearly none of these justifies the loading of the dll. I think this might be
connected to the loading of msgbsutl.dll (bug 46797) but I haven't checked
further what's causing the load. It might be an easy kill though, decreasing
startup time and reducing memory footprint.
Reporter | ||
Updated•24 years ago
|
Reporter | ||
Comment 1•24 years ago
|
||
So far I've seen that this dll gets dragged in by something RDF related. One
offender seems to be
RDFServiceImpl::GetResource("mailbox://danbr843@mail.student.liu.se/Drafts",
...);
so maybe you got to have a mail account for this to happen.
danbr843@mail.student.liu.se is my account where I test mail.
I don't know how it got here but the stack trace below may help someone. It's
CreateNewLocalStore that triggers everything as far as I can see.
RDFServiceImpl::GetResource(RDFServiceImpl * const 0x00ccbbf8, const char *
0x0012e560, nsIRDFResource * * 0x0012ea94) line 649 + 40 bytes
RDFServiceImpl::GetUnicodeResource(RDFServiceImpl * const 0x00ccbbf8, const
unsigned short * 0x0012e858, nsIRDFResource * * 0x0012ea94) line 701 + 38 bytes
RDFContentSinkImpl::GetIdAboutAttribute(const nsIParserNode & {...},
nsIRDFResource * * 0x0012ea94) line 1014 + 34 bytes
RDFContentSinkImpl::OpenObject(const nsIParserNode & {...}) line 1287 + 39 bytes
RDFContentSinkImpl::OpenContainer(RDFContentSinkImpl * const 0x0259abf0, const
nsIParserNode & {...}) line 543 + 15 bytes
CWellFormedDTD::HandleStartToken(CToken * 0x00d18188) line 638 + 22 bytes
CWellFormedDTD::HandleToken(CWellFormedDTD * const 0x025b9ba0, CToken *
0x00d18188, nsIParser * 0x025f09a0) line 521 + 12 bytes
CWellFormedDTD::BuildModel(CWellFormedDTD * const 0x025b9ba0, nsIParser *
0x025f09a0, nsITokenizer * 0x02599b20, nsITokenObserver * 0x00000000,
nsIContentSink * 0x0259abf0) line 258 + 20 bytes
nsParser::BuildModel() line 1979 + 34 bytes
nsParser::ResumeParse(int 1, int 0) line 1860 + 11 bytes
nsParser::OnDataAvailable(nsParser * const 0x025f09a8, nsIChannel * 0x025bc2b0,
nsISupports * 0x00000000, nsIInputStream * 0x025fb1c0, unsigned int 0, unsigned
int 1024) line 2310 + 19 bytes
RDFXMLDataSourceImpl::OnDataAvailable(RDFXMLDataSourceImpl * const 0x0253fd70,
nsIChannel * 0x025bc2b0, nsISupports * 0x00000000, nsIInputStream * 0x025fb1c0,
unsigned int 0, unsigned int 1024) line 1090
rdf_BlockingParse(nsIURI * 0x024d5b58, nsIStreamListener * 0x0253fd70) line 612
+ 38 bytes
RDFXMLDataSourceImpl::Refresh(RDFXMLDataSourceImpl * const 0x0253fd64, int 1)
line 914 + 58 bytes
LocalStoreImpl::Refresh(LocalStoreImpl * const 0x00d2e618, int 1) line 337 + 27
bytes
NS_NewLocalStore(nsILocalStore * * 0x0012f32c) line 242 + 18 bytes
CreateNewLocalStore(nsISupports * 0x00000000, const nsID & {...}, void * *
0x0012f3d0) line 109 + 53 bytes
nsGenericFactory::CreateInstance(nsGenericFactory * const 0x00d2e3b8,
nsISupports * 0x00000000, const nsID & {...}, void * * 0x0012f3d0) line 48
nsComponentManagerImpl::CreateInstance(nsComponentManagerImpl * const
0x009a8b00, const nsID & {...}, nsISupports * 0x00000000, const nsID & {...},
void * * 0x0012f3d0) line 1237 + 24 bytes
nsComponentManager::CreateInstance(const nsID & {...}, nsISupports * 0x00000000,
const nsID & {...}, void * * 0x0012f3d0) line 82
nsServiceManagerImpl::GetService(nsServiceManagerImpl * const 0x009a8300, const
nsID & {...}, const nsID & {...}, nsISupports * * 0x0012f634,
nsIShutdownListener * 0x00000000) line 346 + 19 bytes
nsServiceManager::GetService(const nsID & {...}, const nsID & {...}, nsISupports
* * 0x0012f634, nsIShutdownListener * 0x00000000) line 562
nsXULDocument::Init() line 3976 + 23 bytes
NS_NewXULDocument(nsIXULDocument * * 0x0012f668) line 560 + 8 bytes
CreateNewXULDocument(nsISupports * 0x00000000, const nsID & {...}, void * *
0x0012f734) line 103 + 53 bytes
nsGenericFactory::CreateInstance(nsGenericFactory * const 0x00d37760,
nsISupports * 0x00000000, const nsID & {...}, void * * 0x0012f734) line 48
nsComponentManagerImpl::CreateInstance(nsComponentManagerImpl * const
0x009a8b00, const nsID & {...}, nsISupports * 0x00000000, const nsID & {...},
void * * 0x0012f734) line 1237 + 24 bytes
nsComponentManager::CreateInstance(const nsID & {...}, nsISupports * 0x00000000,
const nsID & {...}, void * * 0x0012f734) line 82
nsLayoutDLF::CreateRDFDocument(nsISupports * 0x00000000, nsCOMPtr<nsIDocument> *
0x0012f734, nsCOMPtr<nsIDocumentViewer> * 0x0012f730) line 424 + 42 bytes
nsLayoutDLF::CreateRDFDocument(const char * 0x01da5900, nsIChannel * 0x024d29b8,
nsILoadGroup * 0x00df02d0, const char * 0x0012fa68, nsISupports * 0x00df0048,
nsISupports * 0x00000000, nsIStreamListener * * 0x0012fabc, nsIContentViewer * *
0x0012f96c) line 450 + 20 bytes
nsLayoutDLF::CreateInstance(nsLayoutDLF * const 0x00d384c0, const char *
0x01da5900, nsIChannel * 0x024d29b8, nsILoadGroup * 0x00df02d0, const char *
0x0012fa68, nsISupports * 0x00df0048, nsISupports * 0x00000000,
nsIStreamListener * * 0x0012fabc, nsIContentViewer * * 0x0012f96c) line 286 + 40
bytes
nsDocShell::NewContentViewerObj(nsDocShell * const 0x00df0028, const char *
0x0012fa68, nsIChannel * 0x024d29b8, nsILoadGroup * 0x00df02d0,
nsIStreamListener * * 0x0012fabc, nsIContentViewer * * 0x0012f96c) line 2442 +
132 bytes
nsDocShell::CreateContentViewer(nsDocShell * const 0x00df0028, const char *
0x0012fa68, nsIChannel * 0x024d29b8, nsIStreamListener * * 0x0012fabc) line 2382
+ 60 bytes
nsDSURIContentListener::DoContent(nsDSURIContentListener * const 0x00df01b0,
const char * 0x0012fa68, int 0, const char * 0x1009fc78 gCommonEmptyBuffer,
nsIChannel * 0x024d29b8, nsIStreamListener * * 0x0012fabc, int * 0x0012fa4c)
line 100 + 33 bytes
nsDocumentOpenInfo::DispatchContent(nsIChannel * 0x024d29b8, nsISupports *
0x00000000) line 359 + 109 bytes
nsDocumentOpenInfo::OnStartRequest(nsDocumentOpenInfo * const 0x00de46e0,
nsIChannel * 0x024d29b8, nsISupports * 0x00000000) line 233 + 16 bytes
nsResChannel::OnStartRequest(nsResChannel * const 0x024d29bc, nsIChannel *
0x024d2c38, nsISupports * 0x00000000) line 678
nsFileChannel::OnStartRequest(nsFileChannel * const 0x024d2c40, nsIChannel *
0x024d2cf0, nsISupports * 0x00000000) line 619
nsOnStartRequestEvent::HandleEvent(nsOnStartRequestEvent * const 0x024d3db8)
line 210 + 26 bytes
nsStreamListenerEvent::HandlePLEvent(PLEvent * 0x024d3e10) line 97 + 12 bytes
PL_HandleEvent(PLEvent * 0x024d3e10) line 587 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x00cd8310) line 528 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x000a1140, unsigned int 49519, unsigned int 0,
long 13468432) line 1043 + 9 bytes
USER32! 77e13eb0()
USER32! 77e1401a()
USER32! 77e192da()
nsAppShellService::Run(nsAppShellService * const 0x00cdc018) line 387
main1(int 1, char * * 0x009a7e60, nsISupports * 0x00000000) line 913 + 32 bytes
main(int 1, char * * 0x009a7e60) line 1093 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e87903()
Assignee | ||
Comment 2•24 years ago
|
||
this is a dup of a putterman bug that's been futured for this release.
Target Milestone: --- → Future
Updated•24 years ago
|
Comment 6•24 years ago
|
||
Marking nsbeta1-. This would probably get solved by fixing the other bugs out
there about loading mail dll's because of the way we store resources in
localstore.rdf.
Comment 7•24 years ago
|
||
The only bug I could find that sounded like the one you said would fix this was
bug 12896 which was not nominated , not flagged with the perf keyword, and
Futured. Is that the one you think would probably fix this?
Depends on: 12896
Comment 8•24 years ago
|
||
this is a dup of 12896.
*** This bug has been marked as a duplicate of 12896 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
verified dup.
Status: RESOLVED → VERIFIED
Updated•20 years ago
|
Product: MailNews → Core
Updated•16 years ago
|
Product: Core → MailNews Core
You need to log in
before you can comment on or make changes to this bug.
Description
•