Closed
Bug 50731
Opened 24 years ago
Closed 24 years ago
Cartman hangs when a request for encryption is made
Categories
(Core Graveyard :: Security: UI, defect, P3)
Tracking
(Not tracked)
VERIFIED
WORKSFORME
People
(Reporter: morse, Assigned: ddrinan0264)
References
Details
(Whiteboard: nsbeta3)
The following scenario will hang cartman: 1. Create a new profile and bring up the browser 2. Go to http://people.netscape.com/morse/password.htm 3. Fill in any arbitrary username and password, then submit form 4. Answer "yes" to the "do you want to save" dialog 5. Dismiss the encryption-disclaimer dialog 6. Dismiss the security-alert dialog 7. From the menu select tasks->privacy->password-manager->encrypt I obtained the following stacktrace at the point of hang: NTDLL! 77f678ff() WS2_32! 776b84ee() WSOCK32! 776d1173() _PR_MD_RECV(PRFileDesc * 0x020afda0, void * 0x0012d428, int 8, int 0, unsigned int 4294967295) line 175 + 19 bytes SocketRecv(PRFileDesc * 0x020afda0, void * 0x0012d428, int 8, int 0, unsigned int 4294967295) line 558 + 25 bytes PR_Recv(PRFileDesc * 0x020afda0, void * 0x0012d428, int 8, int 0, unsigned int 4294967295) line 193 + 28 bytes nsPSMShimReceive(void * 0x03851030, void * 0x0012d428, unsigned int 8) line 222 + 29 bytes CMT_ReadThisMany(_CMT_CONTROL * 0x03857c10, void * 0x03851030, void * 0x0012d428, unsigned long 8) line 401 + 24 bytes CMT_ReceiveMessage(_CMT_CONTROL * 0x03857c10, CMTItemStr * 0x0012d474) line 363 + 21 bytes CMT_ReadMessageDispatchEvents(_CMT_CONTROL * 0x03857c10, CMTItemStr * 0x0012d474) line 261 + 13 bytes CMT_SendMessage(_CMT_CONTROL * 0x03857c10, CMTItemStr * 0x0012d474) line 312 + 13 bytes CMT_Hello(_CMT_CONTROL * 0x03857c10, unsigned long 81, char * 0x0012dd84, char * 0x03854ee8) line 408 + 13 bytes nsPSMComponent::GetControlConnection(nsPSMComponent * const 0x038c5500, _CMT_CONTROL * * 0x0012ddfc) line 558 + 34 bytes nsSecretDecoderRing::Logout(nsSecretDecoderRing * const 0x0384ed20) line 230 + 22 bytes wallet_ReencryptAll(const char * 0x0387c880, void * 0x02fe7be4) line 2962 + 17 bytes pref_DoCallback(const char * 0x0387c880) line 2227 + 17 bytes pref_HashPref(const char * 0x0387c880, PrefValue {...}, int 128, int 1) line 1797 + 9 bytes PREF_SetBoolPref(const char * 0x0387c880, int 1) line 741 + 20 bytes nsPref::SetBoolPref(nsPref * const 0x01ac5c70, const char * 0x0387c880, int 1) line 771 + 13 bytes XPTC_InvokeByIndex(nsISupports * 0x01ac5c70, unsigned int 18, unsigned int 2, nsXPTCVariant * 0x0012e0d4) line 139 nsXPCWrappedNativeClass::CallWrappedMethod(JSContext * 0x0257d170, nsXPCWrappedNative * 0x020bcb50, const XPCNativeMemberDescriptor * 0x00d8deac, nsXPCWrappedNativeClass::CallMode CALL_METHOD, unsigned int 2, long * 0x03384dd8, long * 0x0012e284) line 915 + 43 bytes WrappedNative_CallMethod(JSContext * 0x0257d170, JSObject * 0x00d67b08, unsigned int 2, long * 0x03384dd8, long * 0x0012e284) line 226 + 34 bytes js_Invoke(JSContext * 0x0257d170, unsigned int 2, unsigned int 0) line 716 + 23 bytes js_Interpret(JSContext * 0x0257d170, long * 0x0012ebc0) line 2517 + 15 bytes js_Invoke(JSContext * 0x0257d170, unsigned int 1, unsigned int 2) line 732 + 13 bytes js_InternalInvoke(JSContext * 0x0257d170, JSObject * 0x027ff650, long 41940664, unsigned int 0, unsigned int 1, long * 0x0012ed54, long * 0x0012ece4) line 805 + 19 bytes JS_CallFunctionValue(JSContext * 0x0257d170, JSObject * 0x027ff650, long 41940664, unsigned int 1, long * 0x0012ed54, long * 0x0012ece4) line 3147 + 31 bytes nsJSContext::CallEventHandler(nsJSContext * const 0x0257ad10, void * 0x027ff650, void * 0x027ff6b8, unsigned int 1, void * 0x0012ed54, int * 0x0012ed50, int 0) line 861 + 33 bytes nsJSEventListener::HandleEvent(nsIDOMEvent * 0x03894424) line 154 + 64 bytes nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x02f501e0, nsIDOMEvent * 0x03894424, nsIDOMEventTarget * 0x02e5a480, unsigned int 8, unsigned int 7) line 788 + 19 bytes nsEventListenerManager::HandleEvent(nsIPresContext * 0x024e9ad0, nsEvent * 0x0012f3fc, nsIDOMEvent * * 0x0012f394, nsIDOMEventTarget * 0x02e5a480, unsigned int 7, nsEventStatus * 0x0012f444) line 1666 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x02e5a470, nsIPresContext * 0x024e9ad0, nsEvent * 0x0012f3fc, nsIDOMEvent * * 0x0012f394, unsigned int 1, nsEventStatus * 0x0012f444) line 3321 PresShell::HandleDOMEventWithTarget(PresShell * const 0x0250c480, nsIContent * 0x02e5a470, nsEvent * 0x0012f3fc, nsEventStatus * 0x0012f444) line 4080 + 39 bytes nsMenuFrame::Execute() line 1495 nsMenuFrame::HandleEvent(nsMenuFrame * const 0x0337731c, nsIPresContext * 0x024e9ad0, nsGUIEvent * 0x0012f894, nsEventStatus * 0x0012f784) line 378 PresShell::HandleEventInternal(nsEvent * 0x0012f894, nsIView * 0x038968a0, nsEventStatus * 0x0012f784) line 4048 + 38 bytes PresShell::HandleEvent(PresShell * const 0x0250c484, nsIView * 0x038968a0, nsGUIEvent * 0x0012f894, nsEventStatus * 0x0012f784, int 0, int & 1) line 3968 + 23 bytes nsView::HandleEvent(nsView * const 0x038968a0, nsGUIEvent * 0x0012f894, unsigned int 8, nsEventStatus * 0x0012f784, int 0, int & 1) line 374 nsView::HandleEvent(nsView * const 0x0388cf60, nsGUIEvent * 0x0012f894, unsigned int 8, nsEventStatus * 0x0012f784, int 0, int & 1) line 346 nsView::HandleEvent(nsView * const 0x038573a0, nsGUIEvent * 0x0012f894, unsigned int 8, nsEventStatus * 0x0012f784, int 0, int & 1) line 346 nsView::HandleEvent(nsView * const 0x024e88f0, nsGUIEvent * 0x0012f894, unsigned int 28, nsEventStatus * 0x0012f784, int 1, int & 1) line 346 nsViewManager2::DispatchEvent(nsViewManager2 * const 0x024e8ad0, nsGUIEvent * 0x0012f894, nsEventStatus * 0x0012f784) line 1429 HandleEvent(nsGUIEvent * 0x0012f894) line 68 nsWindow::DispatchEvent(nsWindow * const 0x0388ce24, nsGUIEvent * 0x0012f894, nsEventStatus & nsEventStatus_eIgnore) line 614 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f894) line 635 nsWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000) line 3810 + 21 bytes ChildWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000) line 4020 nsWindow::ProcessMessage(unsigned int 514, unsigned int 0, long 4259869, long * 0x0012fc10) line 2888 + 24 bytes nsWindow::WindowProc(HWND__ * 0x00630692, unsigned int 514, unsigned int 0, long 4259869) line 883 + 27 bytes USER32! 77e71268() MOZILLA! 0041001d()
Reporter | ||
Updated•24 years ago
|
Whiteboard: nsbeta3
Reporter | ||
Comment 1•24 years ago
|
||
The hang is actuall in the following loop inside of CMT_ReadThisMany which is in the file nsprpub/pr/src/io/prsocket.c. It appears that sockFuncs.recv is always returning a value of 0. while (total < thisMany) { int got; got = control->sockFuncs.recv(sock, (void*)((char*)buffer + total), thisMany-total); if (got < 0 ) { break; } total += got; }
Reporter | ||
Comment 2•24 years ago
|
||
Correction: The loop above is in the file security/psm/lib/client/cmtutils.c.
Reporter | ||
Comment 3•24 years ago
|
||
That's interesting -- I rebooted my machine and this bug went away. Somehow my winsock got hung and so it wasn't returning any characters. Possibly from some previous debugging when I inadvertently exited in the middle of some winsock operations. Anyhow, closing this out.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → WORKSFORME
Comment 5•23 years ago
|
||
Mass changing Security:Crypto to PSM
Component: Security: Crypto → Client Library
Product: Browser → PSM
Version: other → 2.1
Comment 6•23 years ago
|
||
Mass changing Security:Crypto to PSM
Updated•8 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•