Closed Bug 51546 Opened 25 years ago Closed 25 years ago

Acct Settings: Server panel doesn't fully display until relaunch

Categories

(SeaMonkey :: MailNews: Account Configuration, defect, P2)

defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: laurel, Assigned: sspitzer)

References

Details

(Keywords: regression, Whiteboard: [nsbeta3+] fix in hand)

Attachments

(1 file)

Using sep6 commercial build, linux, mac and NT I'm not able to access the Server panel in account settings in the session after migration. It will either display blank or will display previously selected panel's contents. After exit and relaunch, I get the panel to display, but some fields (port, server name,etc.) are blank. After closing the account settings dialog and reopening it a few times, then the panel will display all fields. 1. Migrate account (haven't tried new profile), go to mail window, login to account. 2. Edit|Account Settings, choose the mail account's Server panel. Result: I can't access it, it is either blank or won't display the proper panel's contents (will display the identity/main panel stuff). 3. Exit and relaunch, login to mail account, access server panel in Account Settings. Result: panel draws, but the top section with server name, port, etc doesn't fill in the fields. 4. Close the Account Settings dialog and open it again. Result: now panel displays OK, next launch maybe/maybe not.
QA Contact: lchiang → laurel
Summary: AccAcct Settings: Server panel doesn't fully display until relaunch → Acct Settings: Server panel doesn't fully display until relaunch
I just saw this with a new profile (NT 4.0) and noticed that when the top fields are blank (server, port, etc.) if you change a field which is displayed, it doesn't take. Upon the next launch of the dialog, it is overwritten with the defaults (or in migration case, migrated values).
I saw this as well. Doesn't really matter if migrated or new profile. I've had my profile for a while now. workaround is to open the dlg a few times, but that's not very good.
Assignee: alecf → sspitzer
Keywords: nsbeta3, regression
Whiteboard: [nsbeta3+] working on this now (9-8-00)
Target Milestone: --- → M18
this is a dup of #51427 since I'm working on that, I'll take this bug. bringing over the status whiteboard and keywords
*** Bug 51427 has been marked as a duplicate of this bug. ***
I've seen this on linux and win32. on win32, I see this error on the console: Failed to load jar:file:///C|/Program%20Files/Netscape/Netscape%206/chrome/messe nger.pkg!/messenger/content/am-server.js on linux, Failed to load file:///opt/50/package/chrome/packages/messenger/messenger/content/am-server.js off to go see what's going on.
Status: NEW → ASSIGNED
Moving to P2 - high profile functionality.
Priority: P3 → P2
adding warren to the cc list. this may be the same as bug #51267 I'm able to reproduce this on winnt pretty often.
Depends on: 51267
ok, I have more information about what's going on. It looks like the JAR channel is getting cancelled on us. here's the stack trace: nsFileTransport::Cancel(nsFileTransport * const 0x042a65a0, unsigned int 2152398850) line 206 nsJARChannel::Cancel(nsJARChannel * const 0x042a7470, unsigned int 2152398850) line 252 + 30 bytes nsLoadGroup::Cancel(nsLoadGroup * const 0x03e6b8f0, unsigned int 2152398850) line 247 + 16 bytes nsDocLoaderImpl::Stop(nsDocLoaderImpl * const 0x03e6b950) line 277 + 31 bytes nsURILoader::Stop(nsURILoader * const 0x01ddd0b0, nsISupports * 0x03e6b968) line 635 + 23 bytes nsDocShell::StopLoad(nsDocShell * const 0x03e6a270) line 387 nsDocShell::InternalLoad(nsDocShell * const 0x03e6a270, nsIURI * 0x042a5860, nsIURI * 0x00000000, nsISupports * 0x01ea5870, int 1, int -842150451, const char * 0x00000000, nsIInputStream * 0x00000000, nsIInputStream * 0x00000000, int 0, nsISHEntry * 0x00000000) line 2814 + 12 bytes nsDocShell::LoadURI(nsDocShell * const 0x03e6a270, nsIURI * 0x042a5860, nsIDocShellLoadInfo * 0x042a58f0) line 316 + 57 bytes nsHTMLFrameInnerFrame::DoLoadURL(nsIPresContext * 0x03fc1310) line 924 + 56 bytes nsHTMLFrameInnerFrame::ReloadURL(nsIPresContext * 0x03fc1310) line 990 nsHTMLFrameOuterFrame::AttributeChanged(nsHTMLFrameOuterFrame * const 0x012e8ecc, nsIPresContext * 0x03fc1310, nsIContent * 0x0408d250, int 0, nsIAtom * 0x01e5f420 {"src"}, int 3) line 427 + 12 bytes nsCSSFrameConstructor::AttributeChanged(nsCSSFrameConstructor * const 0x03fc5ad0, nsIPresContext * 0x03fc1310, nsIContent * 0x0408d250, int 0, nsIAtom * 0x01e5f420 {"src"}, int 2) line 10018 + 35 bytes StyleSetImpl::AttributeChanged(StyleSetImpl * const 0x03fc5b90, nsIPresContext * 0x03fc1310, nsIContent * 0x0408d250, int 0, nsIAtom * 0x01e5f420 {"src"}, int -1) line 1195 PresShell::AttributeChanged(PresShell * const 0x03fc5768, nsIDocument * 0x03fc6df0, nsIContent * 0x0408d250, int 0, nsIAtom * 0x01e5f420 {"src"}, int -1) line 3421 + 57 bytes nsXULDocument::AttributeChanged(nsXULDocument * const 0x03fc6df0, nsIContent * 0x0408d250, int 0, nsIAtom * 0x01e5f420 {"src"}, int -1) line 1654 nsXULElement::SetAttribute(nsXULElement * const 0x0408d250, nsINodeInfo * 0x040fd8d0, const basic_nsAReadableString<unsigned short> & {...}, int 1) line 2759 nsXULElement::SetAttribute(nsXULElement * const 0x0408d254, const basic_nsAReadableString<unsigned short> & {...}, const basic_nsAReadableString<unsigned short> & {...}) line 1229 + 31 bytes ElementSetAttribute(JSContext * 0x03e95370, JSObject * 0x01348580, unsigned int 2, long * 0x01365df0, long * 0x001296e4) line 239 + 26 bytes js_Invoke(JSContext * 0x03e95370, unsigned int 2, unsigned int 0) line 731 + 23 bytes js_Interpret(JSContext * 0x03e95370, long * 0x0012a06c) line 2538 + 15 bytes js_Invoke(JSContext * 0x03e95370, unsigned int 1, unsigned int 2) line 748 + 13 bytes js_InternalInvoke(JSContext * 0x03e95370, JSObject * 0x01348488, long 20381328, unsigned int 0, unsigned int 1, long * 0x0012a200, long * 0x0012a190) line 821 + 19 bytes JS_CallFunctionValue(JSContext * 0x03e95370, JSObject * 0x01348488, long 20381328, unsigned int 1, long * 0x0012a200, long * 0x0012a190) line 3175 + 31 bytes nsJSContext::CallEventHandler(nsJSContext * const 0x03e8e4d0, void * 0x01348488, void * 0x0136fe90, unsigned int 1, void * 0x0012a200, int * 0x0012a1fc, int 0) line 906 + 33 bytes nsJSEventListener::HandleEvent(nsIDOMEvent * 0x042a5d84) line 154 + 64 bytes nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x040811a0, nsIDOMEvent * 0x042a5d84, nsIDOMEventTarget * 0x040812f8, unsigned int 8, unsigned int 7) line 788 + 19 bytes nsEventListenerManager::HandleEvent(nsIPresContext * 0x03fc1310, nsEvent * 0x0012aa6c, nsIDOMEvent * * 0x0012a9fc, nsIDOMEventTarget * 0x040812f8, unsigned int 7, nsEventStatus * 0x0012aa90) line 1289 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x040812f0, nsIPresContext * 0x03fc1310, nsEvent * 0x0012aa6c, nsIDOMEvent * * 0x0012a9fc, unsigned int 1, nsEventStatus * 0x0012aa90) line 3307 nsXULTreeElement::FireOnSelectHandler(nsXULTreeElement * const 0x041004dc) line 452 nsXULTreeElement::SetSuppressOnSelect(nsXULTreeElement * const 0x041004d8, int 0) line 152 SetXULTreeElementProperty(JSContext * 0x03e95370, JSObject * 0x01348488, long -5, long * 0x0012b3c4) line 176 + 19 bytes js_Interpret(JSContext * 0x03e95370, long * 0x0012b544) line 2399 + 953 bytes js_Invoke(JSContext * 0x03e95370, unsigned int 1, unsigned int 2) line 748 + 13 bytes js_InternalInvoke(JSContext * 0x03e95370, JSObject * 0x0136feb0, long 20220952, unsigned int 0, unsigned int 1, long * 0x0012b6d8, long * 0x0012b668) line 821 + 19 bytes JS_CallFunctionValue(JSContext * 0x03e95370, JSObject * 0x0136feb0, long 20220952, unsigned int 1, long * 0x0012b6d8, long * 0x0012b668) line 3175 + 31 bytes nsJSContext::CallEventHandler(nsJSContext * const 0x03e8e4d0, void * 0x0136feb0, void * 0x01348c18, unsigned int 1, void * 0x0012b6d8, int * 0x0012b6d4, int 0) line 906 + 33 bytes nsJSEventListener::HandleEvent(nsIDOMEvent * 0x042a6ad4) line 154 + 64 bytes nsXBLEventHandler::ExecuteHandler(nsXBLEventHandler * const 0x0421c2e0, const basic_nsAReadableString<unsigned short> & {...}, nsIDOMEvent * 0x042a6ad4) line 593 nsXBLEventHandler::MouseClick(nsIDOMEvent * 0x042a6ad4) line 298 + 36 bytes nsEventListenerManager::HandleEvent(nsIPresContext * 0x03fc1310, nsEvent * 0x0012d1d8, nsIDOMEvent * * 0x0012d0fc, nsIDOMEventTarget * 0x040de6d8, unsigned int 2, nsEventStatus * 0x0012d4d0) line 861 + 23 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x040de6d0, nsIPresContext * 0x03fc1310, nsEvent * 0x0012d1d8, nsIDOMEvent * * 0x0012d0fc, unsigned int 2, nsEventStatus * 0x0012d4d0) line 3307 nsXULElement::HandleDOMEvent(nsXULElement * const 0x040de2d0, nsIPresContext * 0x03fc1310, nsEvent * 0x0012d1d8, nsIDOMEvent * * 0x0012d0fc, unsigned int 2, nsEventStatus * 0x0012d4d0) line 3324 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x03e6c560, nsIPresContext * 0x03fc1310, nsEvent * 0x0012d1d8, nsIDOMEvent * * 0x0012d0fc, unsigned int 2, nsEventStatus * 0x0012d4d0) line 3324 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x03e6c230, nsIPresContext * 0x03fc1310, nsEvent * 0x0012d1d8, nsIDOMEvent * * 0x0012d0fc, unsigned int 2, nsEventStatus * 0x0012d4d0) line 3324 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x03e6c870, nsIPresContext * 0x03fc1310, nsEvent * 0x0012d1d8, nsIDOMEvent * * 0x0012d0fc, unsigned int 2, nsEventStatus * 0x0012d4d0) line 3324 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x040fb580, nsIPresContext * 0x03fc1310, nsEvent * 0x0012d1d8, nsIDOMEvent * * 0x0012d0fc, unsigned int 1, nsEventStatus * 0x0012d4d0) line 3324 + 39 bytes PresShell::HandleEventInternal(nsEvent * 0x0012d1d8, nsIView * 0x00000000, nsEventStatus * 0x0012d4d0) line 4042 + 45 bytes PresShell::HandleEventWithTarget(PresShell * const 0x03fc5760, nsEvent * 0x0012d1d8, nsIFrame * 0x0130a2d8, nsIContent * 0x040fb580, nsEventStatus * 0x0012d4d0) line 4023 + 18 bytes nsEventStateManager::CheckForAndDispatchClick(nsEventStateManager * const 0x0410c690, nsIPresContext * 0x03fc1310, nsMouseEvent * 0x0012d5e0, nsEventStatus * 0x0012d4d0) line 1815 + 59 bytes nsEventStateManager::PostHandleEvent(nsEventStateManager * const 0x0410c698, nsIPresContext * 0x03fc1310, nsEvent * 0x0012d5e0, nsIFrame * 0x0130a2d8, nsEventStatus * 0x0012d4d0, nsIView * 0x03fbb840) line 896 + 28 bytes PresShell::HandleEventInternal(nsEvent * 0x0012d5e0, nsIView * 0x03fbb840, nsEventStatus * 0x0012d4d0) line 4062 + 43 bytes PresShell::HandleEvent(PresShell * const 0x03fc5764, nsIView * 0x03fbb840, nsGUIEvent * 0x0012d5e0, nsEventStatus * 0x0012d4d0, int 1, int & 1) line 3977 + 23 bytes nsView::HandleEvent(nsView * const 0x03fbb840, nsGUIEvent * 0x0012d5e0, unsigned int 28, nsEventStatus * 0x0012d4d0, int 1, int & 1) line 379 nsViewManager2::DispatchEvent(nsViewManager2 * const 0x03fc5f30, nsGUIEvent * 0x0012d5e0, nsEventStatus * 0x0012d4d0) line 1429 HandleEvent(nsGUIEvent * 0x0012d5e0) line 68 nsWindow::DispatchEvent(nsWindow * const 0x03fbf1a4, nsGUIEvent * 0x0012d5e0, nsEventStatus & nsEventStatus_eIgnore) line 614 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012d5e0) line 635 nsWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000 {x=??? y=???}) line 3811 + 21 bytes ChildWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000 {x=??? y=???}) line 4021 nsWindow::ProcessMessage(unsigned int 514, unsigned int 0, long 1704004, long * 0x0012d95c) line 2889 + 24 bytes nsWindow::WindowProc(HWND__ * 0x039203e2, unsigned int 514, unsigned int 0, long 1704004) line 883 + 27 bytes USER32! 77e71820() I'll continue to debug.
updating summary. this is most likely a duplicate of 51267. adding attinasi, in case he's going to work on debugging 51267
Summary: Acct Settings: Server panel doesn't fully display until relaunch → intermittent jar loading failure: (Acct Settings: Server panel doesn't fully display until relaunch)
to answer a question rpotts had: in nsXULElement::SetAttribute(), we are setting the "src" attribute to "chrome://messenger/content/am-server.xul" in nsJARChannel::Cancel(), it looks like we are cancelling the loading of am-server.xul
yep, it looks like we are calling ElementSetAttribute() with "src" and "chrome://messenger/content/am-server.xul" twice. I'm off to figure out why now.
ok, I've got a workaround fix for this. here's what was going on: when we selected the item in the account manager tree, the onselect would get called twice. once on the mousedown, and once on the mouseclick. (according to putterman, this is a know bug. hyatt and bienvenu worked out a fix for our folder pane loading folders twice.) I have a fix to the onselect handler to return right away if the current serverId and pageId are the exact same as the last time the onselect hander was called. this prevents us from setting the frame src twice, which was causing use to intermittently cancel loading files from the jar. note: this means that this bug is not related to #51267. thanks to putterman, mscott, warren, and rpotts for helping track down this beast. I'll check in the fix as soon as I can get alecf to review it.
No longer depends on: 51267
Summary: intermittent jar loading failure: (Acct Settings: Server panel doesn't fully display until relaunch) → Acct Settings: Server panel doesn't fully display until relaunch
Whiteboard: [nsbeta3+] working on this now (9-8-00) → [nsbeta3+] fix in hand
*** Bug 41856 has been marked as a duplicate of this bug. ***
I've checked in the work around, so marking this fixed. I'll go log a separate bug on hyatt about the onselect handler getting called twice. (unless that bug already exists)
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
OK using: 2000-09-19-08 commercial build linux rh6.0 2000-09-19-05 commercial build NT 4.0
OK using 2000-09-20-08 commercial build mac OS 9.0
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: