Closed Bug 213796 Opened 21 years ago Closed 21 years ago

Crash In CAPS.DLL On Startup [@ nsPrincipal::GetHashValue]

Categories

(Core :: Security: CAPS, defect)

x86
Windows 98
defect
Not set
critical

Tracking

()

VERIFIED FIXED

People

(Reporter: jay, Assigned: caillon)

Details

(Keywords: stackwanted)

Attachments

(1 file)

Latest 1.5b nightly, Win98SE

Crashes in CAPS.DLL on launch immediately after splash screen displays.
Any way you you can provide a stack trace, or a talkback report ID?
Keywords: stackwanted
Stack trace: http://www.ufaq.org/trace.txt

Even though Talkback is enabled, it didn't catch this crash.

Still happens in today's early build.
The July 25th build is crashing immediately on startup as well in Windows 2000
enviro, though I cannot confirm it is within the CAPS.dll...
Crashes in 7/26 win2k nightly and in my release and debug builds from today with
a profile that contains several caps kind of entries but not with a new profile. 

###!!! ASSERTION: Need a cert or codebase: 'mCert || mCodebase', file
e:/mozilla_source/trunk/mozilla/caps/src/nsPrincipal.cpp, line
 475
###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->().:
'mRawPtr != 0', file ../../dist/include/xpcom\nsCOMPtr.h
, line 668






nsPrincipal::GetHashValue(nsPrincipal * const 0x00f7b010, unsigned int *
0x0012aedc) line 483 + 21 bytes
PrincipalKey::HashKey(const nsIPrincipal * 0x00f7b010) line 134
nsTHashtable<nsBaseHashtableET<PrincipalKey,nsCOMPtr<nsIPrincipal> >
>::s_HashKey(PLDHashTable * 0x00fb6c5c, const void * 0x00f7b010) line 371 + 9 bytes
PL_DHashTableOperate(PLDHashTable * 0x00fb6c5c, const void * 0x00f7b010, int 1)
line 469 + 16 bytes
nsTHashtable<nsBaseHashtableET<PrincipalKey,nsCOMPtr<nsIPrincipal> >
>::PutEntry(const nsIPrincipal * 0x00f7b010) line 181 + 24 bytes
nsBaseHashtable<PrincipalKey,nsCOMPtr<nsIPrincipal>,nsIPrincipal *>::Put(const
nsIPrincipal * 0x00f7b010, nsIPrincipal * 0x00f7b010) line 146 + 12 bytes
nsScriptSecurityManager::InitPrincipals(unsigned int 1, const char * *
0x0012affc, nsISecurityPref * 0x00f74b70) line 3064
nsScriptSecurityManager::Observe(nsScriptSecurityManager * const 0x00fb6c34,
nsISupports * 0x00f74b68, const char * 0x0306a368, const unsigned short *
0x0012b08c) line 2531 + 29 bytes
NotifyObserver(const char * 0x03d1b6f8, void * 0x00f9a8b8) line 786 + 83 bytes
pref_DoCallback(const char * 0x03d1b6f8) line 1148 + 17 bytes
pref_HashPref(const char * 0x03d1b6f8, PrefValue {...}, PrefType PREF_STRING,
PrefAction PREF_SETUSER) line 1029 + 9 bytes
pref_HashJSPref(unsigned int 2, long * 0x03d3dc08, PrefAction PREF_SETUSER) line
1277 + 19 bytes
pref_NativeUserPref(JSContext * 0x00f74d90, JSObject * 0x00ebf4f0, unsigned int
2, long * 0x03d3dc08, long * 0x0012b300) line 1069 + 15 bytes
js_Invoke(JSContext * 0x00f74d90, unsigned int 2, unsigned int 0) line 843 + 23
bytes
js_Interpret(JSContext * 0x00f74d90, long * 0x0012c1ec) line 2854 + 15 bytes
js_Execute(JSContext * 0x00f74d90, JSObject * 0x00ebf4f0, JSScript * 0x03d3c908,
JSStackFrame * 0x00000000, unsigned int 0, long * 0x0012c1ec) line 1055 + 13 bytes
JS_EvaluateUCScriptForPrincipals(JSContext * 0x00f74d90, JSObject * 0x00ebf4f0,
JSPrincipals * 0x00000000, const unsigned short * 0x03d211f8, unsigned int
16843, const char * 0x0012c23c, unsigned int 0, long * 0x0012c1ec) line 3482 +
25 bytes
JS_EvaluateUCScript(JSContext * 0x00f74d90, JSObject * 0x00ebf4f0, const
unsigned short * 0x03d211f8, unsigned int 16843, const char * 0x0012c23c,
unsigned int 0, long * 0x0012c1ec) line 3464 + 35 bytes
JS_EvaluateScript(JSContext * 0x00f74d90, JSObject * 0x00ebf4f0, const char *
0x03d1cffc, unsigned int 16843, const char * 0x0012c23c, unsigned int 0, long *
0x0012c1ec) line 3431 + 33 bytes
PREF_EvaluateConfigScript(const char * 0x03d1cffc, unsigned int 16843, const
char * 0x0012c23c, int 0, int 1, int 1) line 433 + 34 bytes
openPrefFile(nsIFile * 0x00f61058, int 1, int 0, int 1) line 650 + 33 bytes
nsPrefService::ReadAndOwnUserPrefFile(nsIFile * 0x00f61058) line 407 + 18 bytes
nsPrefService::UseDefaultPrefFile() line 352 + 17 bytes
nsPrefService::ReadUserPrefs(nsPrefService * const 0x00f74b00, nsIFile *
0x00000000) line 218 + 8 bytes
nsPrefService::Observe(nsPrefService * const 0x00f74b04, nsISupports *
0x00fd8cf8, const char * 0x0357fb08, const unsigned short * 0x0357f988) line 206
+ 18 bytes
nsObserverService::NotifyObservers(nsObserverService * const 0x00ed5028,
nsISupports * 0x00fd8cf8, const char * 0x0357fb08, const unsigned short *
0x0357f988) line 210
nsProfile::SetCurrentProfile(nsProfile * const 0x00fd8cf8, const unsigned short
* 0x01021380) line 1256
XPTC_InvokeByIndex(nsISupports * 0x00fd8cf8, unsigned int 7, unsigned int 1,
nsXPTCVariant * 0x0012c634) line 102
XPCWrappedNative::CallMethod(XPCCallContext & {...}, XPCWrappedNative::CallMode
CALL_SETTER) line 2017 + 42 bytes
XPCWrappedNative::SetAttribute(XPCCallContext & {...}) line 1881 + 14 bytes
XPC_WN_GetterSetter(JSContext * 0x00f8a260, JSObject * 0x010831a8, unsigned int
1, long * 0x03d19240, long * 0x0012c928) line 1293 + 12 bytes
js_Invoke(JSContext * 0x00f8a260, unsigned int 1, unsigned int 2) line 843 + 23
bytes
js_InternalInvoke(JSContext * 0x00f8a260, JSObject * 0x010831a8, long 18461008,
unsigned int 0, unsigned int 1, long * 0x0012d708, long * 0x0012d708) line 935 +
20 bytes
js_InternalGetOrSet(JSContext * 0x00f8a260, JSObject * 0x010831a8, long
16962680, long 18461008, int 8, unsigned int 1, long * 0x0012d708, long *
0x0012d708) line 978 + 31 bytes
js_Interpret(JSContext * 0x00f8a260, long * 0x0012d8c0) line 2695 + 1110 bytes
js_Invoke(JSContext * 0x00f8a260, unsigned int 1, unsigned int 2) line 860 + 13
bytes
js_InternalInvoke(JSContext * 0x00f8a260, JSObject * 0x01199e18, long 64046232,
unsigned int 0, unsigned int 1, long * 0x0012db1c, long * 0x0012d9ec) line 935 +
20 bytes
JS_CallFunctionValue(JSContext * 0x00f8a260, JSObject * 0x01199e18, long
64046232, unsigned int 1, long * 0x0012db1c, long * 0x0012d9ec) line 3531 + 31 bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x00f7bac8, void * 0x01199e18,
void * 0x03d14498, unsigned int 1, void * 0x0012db1c, int * 0x0012db20, int 0)
line 1217 + 33 bytes
nsJSEventListener::HandleEvent(nsJSEventListener * const 0x011054b8, nsIDOMEvent
* 0x0102bfb0) line 181 + 77 bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x01105510,
nsIDOMEvent * 0x0102bfb0, nsIDOMEventTarget * 0x03d11f00, unsigned int 8,
unsigned int 7) line 1194 + 20 bytes
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x01105460,
nsIPresContext * 0x0102d720, nsEvent * 0x0012e5f8, nsIDOMEvent * * 0x0012e578,
nsIDOMEventTarget * 0x03d11f00, unsigned int 7, nsEventStatus * 0x0012e640) line
2193 + 36 bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x01105390, nsIPresContext *
0x0102d720, nsEvent * 0x0012e5f8, nsIDOMEvent * * 0x0012e578, unsigned int 7,
nsEventStatus * 0x0012e640) line 3260
PresShell::HandleDOMEventWithTarget(PresShell * const 0x010a0278, nsIContent *
0x01105390, nsEvent * 0x0012e5f8, nsEventStatus * 0x0012e640) line 6286 + 34 bytes
nsButtonBoxFrame::MouseClicked(nsIPresContext * 0x0102d720, nsGUIEvent *
0x0012e854) line 190
nsButtonBoxFrame::HandleEvent(nsButtonBoxFrame * const 0x03cab064,
nsIPresContext * 0x0102d720, nsGUIEvent * 0x0012e854, nsEventStatus *
0x0012ebe4) line 151
PresShell::HandleEventInternal(nsEvent * 0x0012e854, nsIView * 0x00000000,
unsigned int 1, nsEventStatus * 0x0012ebe4) line 6252 + 33 bytes
PresShell::HandleEventWithTarget(PresShell * const 0x010a0278, nsEvent *
0x0012e854, nsIFrame * 0x03cab064, nsIContent * 0x01105390, unsigned int 1,
nsEventStatus * 0x0012ebe4) line 6172 + 22 bytes
nsEventStateManager::CheckForAndDispatchClick(nsIPresContext * 0x0102d720,
nsMouseEvent * 0x0012edfc, nsEventStatus * 0x0012ebe4) line 2954 + 66 bytes
nsEventStateManager::PostHandleEvent(nsEventStateManager * const 0x01109f68,
nsIPresContext * 0x0102d720, nsEvent * 0x0012edfc, nsIFrame * 0x03cab064,
nsEventStatus * 0x0012ebe4, nsIView * 0x010310b0) line 1935 + 23 bytes
PresShell::HandleEventInternal(nsEvent * 0x0012edfc, nsIView * 0x010310b0,
unsigned int 1, nsEventStatus * 0x0012ebe4) line 6260 + 49 bytes
PresShell::HandleEvent(PresShell * const 0x010a0290, nsIView * 0x010310b0,
nsGUIEvent * 0x0012edfc, nsEventStatus * 0x0012ebe4, int 1, int & 1) line 6110 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x010310b0, nsGUIEvent * 0x0012edfc, int 1)
line 2299
nsView::HandleEvent(nsViewManager * 0x01030c48, nsGUIEvent * 0x0012edfc, int 1)
line 305
nsViewManager::DispatchEvent(nsViewManager * const 0x01030c48, nsGUIEvent *
0x0012edfc, nsEventStatus * 0x0012ecf4) line 2036 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012edfc) line 79
nsWindow::DispatchEvent(nsWindow * const 0x01031194, nsGUIEvent * 0x0012edfc,
nsEventStatus & nsEventStatus_eIgnore) line 1050 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012edfc) line 1071
nsWindow::DispatchMouseEvent(unsigned int 301, unsigned int 0, nsPoint *
0x00000000) line 5191 + 21 bytes
ChildWindow::DispatchMouseEvent(unsigned int 301, unsigned int 0, nsPoint *
0x00000000) line 5448
nsWindow::ProcessMessage(unsigned int 514, unsigned int 0, long 16646465, long *
0x0012f294) line 3981 + 28 bytes
nsWindow::WindowProc(HWND__ * 0x00210126, unsigned int 514, unsigned int 0, long
16646465) line 1333 + 27 bytes
USER32! 77e12ca8()
USER32! 77e12dc5()
USER32! 77e12f0f()
nsXULWindow::ShowModal(nsXULWindow * const 0x00fba098) line 298
nsWebShellWindow::ShowModal(nsWebShellWindow * const 0x00fba098) line 1095
nsContentTreeOwner::ShowAsModal(nsContentTreeOwner * const 0x01019fec) line 447
nsWindowWatcher::OpenWindowJS(nsWindowWatcher * const 0x00fde2dc, nsIDOMWindow *
0x00000000, const char * 0x00fcc660, const char * 0x0357ea64, const char *
0x0357e620, int 1, unsigned int 1, long * 0x00f5ec38, nsIDOMWindow * *
0x0012fa20) line 800
nsWindowWatcher::OpenWindow(nsWindowWatcher * const 0x00fde2d8, nsIDOMWindow *
0x00000000, const char * 0x00fcc660, const char * 0x0357ea64, const char *
0x0357e620, nsISupports * 0x00fb76c8, nsIDOMWindow * * 0x0012fa20) line 456 + 48
bytes
nsProfile::LoadDefaultProfileDir(nsCString & {...}, int 1) line 532 + 94 bytes
nsProfile::StartupWithArgs(nsProfile * const 0x00fd8cf8, nsICmdLineService *
0x00ebaa60, int 1) line 348 + 16 bytes
nsAppShellService::DoProfileStartup(nsAppShellService * const 0x00fdc738,
nsICmdLineService * 0x00ebaa60, int 1) line 272 + 31 bytes
InitializeProfileService(nsICmdLineService * 0x00ebaa60) line 927 + 31 bytes
main1(int 1, char * * 0x00263f08, nsISupports * 0x00f4edb0) line 1202 + 14 bytes
main(int 1, char * * 0x00263f08) line 1669 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 7c4e87f5()
Okay, I was just about to comment about that potential stack being the culprit.
 I see a few of those in talkback.  So, I own this bug.  Looking.
Assignee: general → caillon
Component: Browser-General → Security: CAPS
Summary: Crash In CAPS.DLL On Startup → Crash In CAPS.DLL On Startup [@ nsPrincipal::GetHashValue]
Attached patch PatchSplinter Review
Hmm.  What if I actually initialize the member variable we need later on
instead of something that goes out of scope a few lines down?

Sigh...
Comment on attachment 128606 [details] [diff] [review]
Patch

where do I mark the caillonIsStupid++ notation?  ;)
Attachment #128606 - Flags: superreview+
Attachment #128606 - Flags: review+
Move along, nothing to see here.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
no longer crash on startup in 2003072704 trunk win2k
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: