Closed Bug 73501 Opened 24 years ago Closed 17 years ago

Large NNTP server subscribe windows are extremely slow to launch.

Categories

(SeaMonkey :: MailNews: Message Display, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME
Future

People

(Reporter: stephend, Unassigned)

References

Details

(Keywords: perf, regression)

Build ID: 2001032604, Windows 2000.

Summary: The "2nd time slower to launch subscribe" bug is back.

Steps to Reproduce:

1.  Setup a news account with the account wizard.
2.  Context click on the news account or do a File | Subscribe on it.
3.  Bring up the subscribe window. (Notice, it comes up almost immediately.)
4.  Cancel this window.
5.  Bring up the window again, by repeating step #3.

Expected Results:

Window appears as fast the 2nd time as it did in the 1st run.

Actual Results:

Window takes noticeably longer to propogate this time around.
QA Contact: esther → stephend
marking nsbeta1-.
Keywords: nsbeta1nsbeta1-
Target Milestone: --- → Future
I just tried this today with build 2001032704, and didn't see the slowness I saw
yesterday.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → WORKSFORME
verified.  I tried this again, no problems with build 2001032904 on
news.mozilla.org using Windows 2000.
Status: RESOLVED → VERIFIED
Re-opening.  Some numbers on my Win2K box:

37.27 seconds - 1st time to launch the subscribe window on news.mcom.com
46.91 seconds - 2nd time to launch (after subscribing to n.p.m.mail-news)
51.85 seconds - 3rd time to launch (after un-subscribing from n.p.m.mail-news)

This is *really* bad.  It takes us 1.08 seconds to launch a subscribe window
from news.mozilla.org.  I suspect some tree badness here.
Severity: normal → major
Status: VERIFIED → REOPENED
Resolution: WORKSFORME → ---
Summary: The "2nd time slower to launch subscribe" bug is back. → news.mcom.com's subscribe window launch time is extremely slow.
Re-nominating for nsbeta1 and Mozilla 0.9.  I'm gonna profile this.
Keywords: nsbeta1-mozilla0.9, nsbeta1
we should have one bug for the "second time is slow" problem and one bug for
"servers for lots of groups" is slow.

I assert like mad in mozilla/content the second time.  I must be doing something
wrong with my subscribe datasource.
Okay, I see this too with news.qualitynet.net, which has around 40,000 groups. 
Seth, I'm not seeing the launch times getting slower on poisonivy.mcom.com
(which is a smaller server), so this bug seems correct in that it is geared
towards large servers only. 
Summary: news.mcom.com's subscribe window launch time is extremely slow. → Large NNTP server subscribe windows are extremely slow to launch.
Keywords: nsCatFood
Blocks: 74644
the second time to launch problem is probably related to these assertions:

NTDLL! 77f7629c()
nsDebug::Assertion(const char * 0x021a495c, const char * 0x021a494c, const char 
* 0x021a4904, int 1524) line 286 + 13 bytes
nsXULContentBuilder::GetElementsForResource(nsIRDFResource * 0x07a26b10, 
nsISupportsArray * 0x0778e8b0) line 1524 + 44 bytes
nsXULContentBuilder::SynchronizeMatch(nsTemplateMatch * 0x07a25cd8, const 
VariableSet & {...}) line 1933 + 21 bytes
nsXULTemplateBuilder::SynchronizeAll(nsIRDFResource * 0x07a26b10, nsIRDFResource 
* 0x0775bfa0, nsIRDFNode * 0x00000000, nsIRDFNode * 0x0166d2a0) line 1273
nsXULTemplateBuilder::OnChange(nsXULTemplateBuilder * const 0x0775f9dc, 
nsIRDFDataSource * 0x0775f090, nsIRDFResource * 0x07a26b10, nsIRDFResource * 
0x0775bfa0, nsIRDFNode * 0x00000000, nsIRDFNode * 0x0166d2a0) line 688 + 27 
bytes
CompositeDataSourceImpl::OnChange(CompositeDataSourceImpl * const 0x0775f094, 
nsIRDFDataSource * 0x0775a0f0, nsIRDFResource * 0x07a26b10, nsIRDFResource * 
0x0775bfa0, nsIRDFNode * 0x00000000, nsIRDFNode * 0x0166d2a0) line 1592
nsSubscribeDataSource::changeEnumFunc(nsISupports * 0x0775f094, void * 
0x0012ab48) line 753
nsSupportsArray::EnumerateForwards(nsSupportsArray * const 0x07a245d0, int 
(nsISupports *, void *)* 0x01105f20 
nsSubscribeDataSource::changeEnumFunc(nsISupports *, void *), void * 0x0012ab48) 
line 357 + 20 bytes
nsSubscribeDataSource::NotifyObservers(nsSubscribeDataSource * const 0x0775a0f4, 
nsIRDFResource * 0x07a26b10, nsIRDFResource * 0x0775bfa0, nsIRDFNode * 
0x0166d2a0, int 0, int 1) line 735
nsSubscribableServer::Notify(nsIRDFResource * 0x07a26b10, nsIRDFResource * 
0x0775bfa0, nsIRDFNode * 0x0166d2a0, int 0, int 1) line 398 + 46 bytes
nsSubscribableServer::NotifyChange(_subscribeTreeNode * 0x0778d040, 
nsIRDFResource * 0x0775bfa0, int 0) line 361 + 43 bytes
nsSubscribableServer::AddTo(nsSubscribableServer * const 0x05fdd7a0, const char 
* 0x07789ef0, int 0, int 1) line 204 + 31 bytes
nsNntpIncomingServer::AddTo(nsNntpIncomingServer * const 0x05f86f20, const char 
* 0x02d76b60, int 0, int 1) line 1115 + 53 bytes
nsNntpIncomingServer::HandleLine(char * 0x02d76b60, unsigned int 23) line 1221 + 
24 bytes
nsMsgLineBuffer::ConvertAndSendBuffer() line 257 + 58 bytes
nsMsgLineBuffer::BufferInput(const char * 0x02dacef1, int 807) line 190 + 8 
bytes
nsNntpIncomingServer::LoadHostInfoFile() line 903 + 32 bytes
nsNntpIncomingServer::StartPopulating(nsNntpIncomingServer * const 0x05f86f20, 
nsIMsgWindow * 0x07a4a7b0, int 0) line 975 + 11 bytes
XPTC_InvokeByIndex(nsISupports * 0x05f86f20, unsigned int 7, unsigned int 2, 
nsXPTCVariant * 0x0012b058) line 139
nsXPCWrappedNativeClass::CallWrappedMethod(JSContext * 0x076a4e70, 
nsXPCWrappedNative * 0x05fc1660, const XPCNativeMemberDescriptor * 0x05fc7664, 
nsXPCWrappedNativeClass::CallMode CALL_METHOD, unsigned int 2, long * 
0x02da8e60, long * 0x0012b240) line 934 + 42 bytes
WrappedNative_CallMethod(JSContext * 0x076a4e70, JSObject * 0x02da4130, unsigned 
int 2, long * 0x02da8e60, long * 0x0012b240) line 250 + 34 bytes
js_Invoke(JSContext * 0x076a4e70, unsigned int 2, unsigned int 0) line 813 + 23 
bytes
js_Interpret(JSContext * 0x076a4e70, long * 0x0012bfc0) line 2706 + 15 bytes
js_Invoke(JSContext * 0x076a4e70, unsigned int 1, unsigned int 2) line 830 + 13 
bytes
js_InternalInvoke(JSContext * 0x076a4e70, JSObject * 0x02c6a068, long 46781720, 
unsigned int 0, unsigned int 1, long * 0x0012c158, long * 0x0012c0e8) line 902 + 
20 bytes
JS_CallFunctionValue(JSContext * 0x076a4e70, JSObject * 0x02c6a068, long 
46781720, unsigned int 1, long * 0x0012c158, long * 0x0012c0e8) line 3334 + 31 
bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x076a6130, void * 0x02c6a068, 
void * 0x02c9d518, unsigned int 1, void * 0x0012c158, int * 0x0012c154, int 0) 
line 940 + 33 bytes
nsJSEventListener::HandleEvent(nsIDOMEvent * 0x07a4f524) line 154 + 64 bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x077492b0, 
nsIDOMEvent * 0x07a4f524, nsIDOMEventTarget * 0x076a5450, unsigned int 1, 
unsigned int 7) line 1033 + 19 bytes
nsEventListenerManager::HandleEvent(nsIPresContext * 0x0774c480, nsEvent * 
0x0012c778, nsIDOMEvent * * 0x0012c734, nsIDOMEventTarget * 0x076a5450, unsigned 
int 7, nsEventStatus * 0x0012c7a0) line 1656 + 39 bytes
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x076a5440, 
nsIPresContext * 0x0774c480, nsEvent * 0x0012c778, nsIDOMEvent * * 0x0012c734, 
unsigned int 1, nsEventStatus * 0x0012c7a0) line 573
DocumentViewerImpl::LoadComplete(DocumentViewerImpl * const 0x076a7890, unsigned 
int 0) line 1059 + 47 bytes
nsDocShell::EndPageLoad(nsIWebProgress * 0x076a65e4, nsIChannel * 0x076e4680, 
unsigned int 0) line 2737
nsWebShell::EndPageLoad(nsIWebProgress * 0x076a65e4, nsIChannel * 0x076e4680, 
unsigned int 0) line 987
nsDocShell::OnStateChange(nsDocShell * const 0x076a7310, nsIWebProgress * 
0x076a65e4, nsIRequest * 0x076e4680, int 131088, unsigned int 0) line 2655
nsWebShell::OnStateChange(nsWebShell * const 0x076a7310, nsIWebProgress * 
0x076a65e4, nsIRequest * 0x076e4680, int 131088, unsigned int 0) line 949
nsDocLoaderImpl::FireOnStateChange(nsIWebProgress * 0x076a65e4, nsIRequest * 
0x076e4680, int 131088, unsigned int 0) line 1325
nsDocLoaderImpl::doStopDocumentLoad(nsIRequest * 0x076e4680, unsigned int 0) 
line 755
nsDocLoaderImpl::DocLoaderIsEmpty(unsigned int 0) line 651
nsDocLoaderImpl::OnStopRequest(nsDocLoaderImpl * const 0x076a65d4, nsIRequest * 
0x076e4680, nsISupports * 0x00000000, unsigned int 0) line 583
nsLoadGroup::RemoveRequest(nsLoadGroup * const 0x076a7220, nsIRequest * 
0x076e4680, nsISupports * 0x00000000, unsigned int 0) line 491 + 44 bytes
nsCachedChromeChannel::HandleStopLoadEvent(PLEvent * 0x077497e0) line 446
PL_HandleEvent(PLEvent * 0x077497e0) line 588 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x076a2130) line 518 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x002e024a, unsigned int 49337, unsigned int 0, 
long 124395824) line 1069 + 9 bytes
USER32! 77e71820()
076a2130()


NTDLL! 77f7629c()
nsDebug::Assertion(const char * 0x021a5184, const char * 0x021a5170, const char 
* 0x021a5128, int 1934) line 286 + 13 bytes
nsXULContentBuilder::SynchronizeMatch(nsTemplateMatch * 0x07a25cd8, const 
VariableSet & {...}) line 1934 + 39 bytes
nsXULTemplateBuilder::SynchronizeAll(nsIRDFResource * 0x07a26b10, nsIRDFResource 
* 0x0775bfa0, nsIRDFNode * 0x00000000, nsIRDFNode * 0x0166d2a0) line 1273
nsXULTemplateBuilder::OnChange(nsXULTemplateBuilder * const 0x0775f9dc, 
nsIRDFDataSource * 0x0775f090, nsIRDFResource * 0x07a26b10, nsIRDFResource * 
0x0775bfa0, nsIRDFNode * 0x00000000, nsIRDFNode * 0x0166d2a0) line 688 + 27 
bytes
CompositeDataSourceImpl::OnChange(CompositeDataSourceImpl * const 0x0775f094, 
nsIRDFDataSource * 0x0775a0f0, nsIRDFResource * 0x07a26b10, nsIRDFResource * 
0x0775bfa0, nsIRDFNode * 0x00000000, nsIRDFNode * 0x0166d2a0) line 1592
nsSubscribeDataSource::changeEnumFunc(nsISupports * 0x0775f094, void * 
0x0012ab48) line 753
nsSupportsArray::EnumerateForwards(nsSupportsArray * const 0x07a245d0, int 
(nsISupports *, void *)* 0x01105f20 
nsSubscribeDataSource::changeEnumFunc(nsISupports *, void *), void * 0x0012ab48) 
line 357 + 20 bytes
nsSubscribeDataSource::NotifyObservers(nsSubscribeDataSource * const 0x0775a0f4, 
nsIRDFResource * 0x07a26b10, nsIRDFResource * 0x0775bfa0, nsIRDFNode * 
0x0166d2a0, int 0, int 1) line 735
nsSubscribableServer::Notify(nsIRDFResource * 0x07a26b10, nsIRDFResource * 
0x0775bfa0, nsIRDFNode * 0x0166d2a0, int 0, int 1) line 398 + 46 bytes
nsSubscribableServer::NotifyChange(_subscribeTreeNode * 0x0778d040, 
nsIRDFResource * 0x0775bfa0, int 0) line 361 + 43 bytes
nsSubscribableServer::AddTo(nsSubscribableServer * const 0x05fdd7a0, const char 
* 0x07789ef0, int 0, int 1) line 204 + 31 bytes
nsNntpIncomingServer::AddTo(nsNntpIncomingServer * const 0x05f86f20, const char 
* 0x02d76b60, int 0, int 1) line 1115 + 53 bytes
nsNntpIncomingServer::HandleLine(char * 0x02d76b60, unsigned int 23) line 1221 + 
24 bytes
nsMsgLineBuffer::ConvertAndSendBuffer() line 257 + 58 bytes
nsMsgLineBuffer::BufferInput(const char * 0x02dacef1, int 807) line 190 + 8 
bytes
nsNntpIncomingServer::LoadHostInfoFile() line 903 + 32 bytes
nsNntpIncomingServer::StartPopulating(nsNntpIncomingServer * const 0x05f86f20, 
nsIMsgWindow * 0x07a4a7b0, int 0) line 975 + 11 bytes
XPTC_InvokeByIndex(nsISupports * 0x05f86f20, unsigned int 7, unsigned int 2, 
nsXPTCVariant * 0x0012b058) line 139
nsXPCWrappedNativeClass::CallWrappedMethod(JSContext * 0x076a4e70, 
nsXPCWrappedNative * 0x05fc1660, const XPCNativeMemberDescriptor * 0x05fc7664, 
nsXPCWrappedNativeClass::CallMode CALL_METHOD, unsigned int 2, long * 
0x02da8e60, long * 0x0012b240) line 934 + 42 bytes
WrappedNative_CallMethod(JSContext * 0x076a4e70, JSObject * 0x02da4130, unsigned 
int 2, long * 0x02da8e60, long * 0x0012b240) line 250 + 34 bytes
js_Invoke(JSContext * 0x076a4e70, unsigned int 2, unsigned int 0) line 813 + 23 
bytes
js_Interpret(JSContext * 0x076a4e70, long * 0x0012bfc0) line 2706 + 15 bytes
js_Invoke(JSContext * 0x076a4e70, unsigned int 1, unsigned int 2) line 830 + 13 
bytes
js_InternalInvoke(JSContext * 0x076a4e70, JSObject * 0x02c6a068, long 46781720, 
unsigned int 0, unsigned int 1, long * 0x0012c158, long * 0x0012c0e8) line 902 + 
20 bytes
JS_CallFunctionValue(JSContext * 0x076a4e70, JSObject * 0x02c6a068, long 
46781720, unsigned int 1, long * 0x0012c158, long * 0x0012c0e8) line 3334 + 31 
bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x076a6130, void * 0x02c6a068, 
void * 0x02c9d518, unsigned int 1, void * 0x0012c158, int * 0x0012c154, int 0) 
line 940 + 33 bytes
nsJSEventListener::HandleEvent(nsIDOMEvent * 0x07a4f524) line 154 + 64 bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x077492b0, 
nsIDOMEvent * 0x07a4f524, nsIDOMEventTarget * 0x076a5450, unsigned int 1, 
unsigned int 7) line 1033 + 19 bytes
nsEventListenerManager::HandleEvent(nsIPresContext * 0x0774c480, nsEvent * 
0x0012c778, nsIDOMEvent * * 0x0012c734, nsIDOMEventTarget * 0x076a5450, unsigned 
int 7, nsEventStatus * 0x0012c7a0) line 1656 + 39 bytes
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x076a5440, 
nsIPresContext * 0x0774c480, nsEvent * 0x0012c778, nsIDOMEvent * * 0x0012c734, 
unsigned int 1, nsEventStatus * 0x0012c7a0) line 573
DocumentViewerImpl::LoadComplete(DocumentViewerImpl * const 0x076a7890, unsigned 
int 0) line 1059 + 47 bytes
nsDocShell::EndPageLoad(nsIWebProgress * 0x076a65e4, nsIChannel * 0x076e4680, 
unsigned int 0) line 2737
nsWebShell::EndPageLoad(nsIWebProgress * 0x076a65e4, nsIChannel * 0x076e4680, 
unsigned int 0) line 987
nsDocShell::OnStateChange(nsDocShell * const 0x076a7310, nsIWebProgress * 
0x076a65e4, nsIRequest * 0x076e4680, int 131088, unsigned int 0) line 2655
nsWebShell::OnStateChange(nsWebShell * const 0x076a7310, nsIWebProgress * 
0x076a65e4, nsIRequest * 0x076e4680, int 131088, unsigned int 0) line 949
nsDocLoaderImpl::FireOnStateChange(nsIWebProgress * 0x076a65e4, nsIRequest * 
0x076e4680, int 131088, unsigned int 0) line 1325
nsDocLoaderImpl::doStopDocumentLoad(nsIRequest * 0x076e4680, unsigned int 0) 
line 755
nsDocLoaderImpl::DocLoaderIsEmpty(unsigned int 0) line 651
nsDocLoaderImpl::OnStopRequest(nsDocLoaderImpl * const 0x076a65d4, nsIRequest * 
0x076e4680, nsISupports * 0x00000000, unsigned int 0) line 583
nsLoadGroup::RemoveRequest(nsLoadGroup * const 0x076a7220, nsIRequest * 
0x076e4680, nsISupports * 0x00000000, unsigned int 0) line 491 + 44 bytes
nsCachedChromeChannel::HandleStopLoadEvent(PLEvent * 0x077497e0) line 446
PL_HandleEvent(PLEvent * 0x077497e0) line 588 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x076a2130) line 518 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x002e024a, unsigned int 49337, unsigned int 0, 
long 124395824) line 1069 + 9 bytes
USER32! 77e71820()
076a2130()
Status: REOPENED → ASSIGNED
marking nsbeta1-
Severity: major → normal
Product: Browser → Seamonkey
Assignee: sspitzer → mail
Status: ASSIGNED → NEW
With Thunderbird I do not see this. I would recomend closing.
WFM also 
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4
Status: NEW → RESOLVED
Closed: 24 years ago17 years ago
Resolution: --- → WORKSFORME
Component: MailNews: Subscribe → MailNews: Message Display
QA Contact: stephend → search
You need to log in before you can comment on or make changes to this bug.