Last Comment Bug 308404 - Access violation [@ ntdll!RtlDeleteCriticalSection+0x0000000f]
: Access violation [@ ntdll!RtlDeleteCriticalSection+0x0000000f]
Status: RESOLVED FIXED
: crash, fixed1.8
Product: Core
Classification: Components
Component: XPCOM (show other bugs)
: Trunk
: x86 Windows XP
: -- critical (vote)
: ---
Assigned To: timeless
:
: Nathan Froyd [:froydnj]
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2005-09-13 18:21 PDT by timeless
Modified: 2011-06-09 14:58 PDT (History)
2 users (show)
asa: blocking1.8b5+
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
don't rely on non local variable (2.22 KB, patch)
2005-09-13 18:27 PDT, timeless
darin.moz: review+
darin.moz: superreview+
asa: approval1.8b5+
Details | Diff | Splinter Review

Description timeless 2005-09-13 18:21:50 PDT
internal build number: 1592
note: hsengine.exe=seamonkey.exe from 1.8branch as of about 8/28 (proper sources
can be made available if people disagree with my analysis). a .cab containing
the full crash dump and symbols is available as
1592-nsthread-pr_destroylock_0BA8_2005-09-13_18-04-18-187_1648.cab

PR_IMPLEMENT(void) PR_DestroyLock(PRLock *lock)
{
    PR_ASSERT(lock->owner == 0);
        _PR_MD_FREE_LOCK(&lock->ilock);
    PR_DELETE(lock); /* NEXT INSTRUCTION */
}

0c ntdll!KiUserExceptionDispatcher+0xe (FPO: [2,0,0]) (CONTEXT @ 0012eb00)
0d ntdll!RtlDeleteCriticalSection+0xf (FPO: [Non-Fpo])
0e nspr4!PR_DestroyLock(struct PRLock * lock = 0x10029cf2)+0xf (FPO: [1,0,0])
(CONV: cdecl)
[c:\build\chs3\build\mozilla\nsprpub\pr\src\threads\combined\prulock.c @ 218]
0f xpcom_core!nsThread::Init(class nsIRunnable * runnable = 0x00a084c0, unsigned
int stackSize = 0, PRThreadPriority priority = PR_PRIORITY_NORMAL (1),
PRThreadScope scope = PR_GLOBAL_THREAD (1), PRThreadState state =
PR_JOINABLE_THREAD (0))+0xb3 (FPO: [Non-Fpo]) (CONV: stdcall)
[c:\build\chs3\build\mozilla\xpcom\threads\nsthread.cpp @ 296]
10 xpcom_core!NS_NewThread(class nsIThread ** result = 0x00a084cc, class
nsIRunnable * runnable = 0x00a084c0, unsigned int stackSize = 0, PRThreadState
state = PR_JOINABLE_THREAD (0), PRThreadPriority priority = PR_PRIORITY_NORMAL
(1), PRThreadScope scope = PR_GLOBAL_THREAD (1))+0x44 (FPO: [Non-Fpo]) (CONV:
cdecl) [c:\build\chs3\build\mozilla\xpcom\threads\nsthread.cpp @ 342]
11 necko!nsSocketTransportService::Init(void)+0x30 (FPO: [1,0,0]) (CONV:
stdcall)
[c:\build\chs3\build\mozilla\netwerk\base\src\nssockettransportservice2.cpp @ 427]
12 necko!nsIOService::SetOffline(int offline = 0)+0xaa (FPO: [Non-Fpo]) (CONV:
stdcall) [c:\build\chs3\build\mozilla\netwerk\base\src\nsioservice.cpp @ 564]
13 xpcom_core!XPTC_InvokeByIndex(class nsISupports * that = 0x00a07cf0, unsigned
int methodIndex = 0xa, unsigned int paramCount = 1, struct nsXPTCVariant *
params = 0x0012eecc)+0x27 (CONV: cdecl)
[c:\build\chs3\build\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp @
102]
14 xpc3250!XPCWrappedNative::CallMethod(class XPCCallContext * ccx = 0x0012f070,
XPCWrappedNative::CallMode mode = CALL_SETTER (2))+0x6c4 (FPO: [Non-Fpo]) (CONV:
cdecl) [c:\build\chs3\build\mozilla\js\src\xpconnect\src\xpcwrappednative.cpp @
2139]
15 xpc3250!XPC_WN_GetterSetter(struct JSContext * cx = 0x0158fa78, struct
JSObject * obj = 0x075b4a58, unsigned int argc = 1, long * argv = 0x01654c88,
long * vp = 0x0012f130)+0xa7 (FPO: [Non-Fpo]) (CONV: cdecl)
[c:\build\chs3\build\mozilla\js\src\xpconnect\src\xpcwrappednativejsops.cpp @ 1427]
16 js3250!js_Invoke(struct JSContext * cx = 0x00000001, unsigned int argc = 1,
unsigned int flags = 2)+0x539 (FPO: [Uses EBP] [3,35,0]) (CONV: cdecl)
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1163]
17 js3250!js_InternalInvoke(struct JSContext * cx = 0x04da85c8, struct JSObject
* obj = 0x075b4a58, long fval = 0x75b4a80, unsigned int flags = 0, unsigned int
argc = 1, long * argv = 0x0012f3c0, long * rval = 0x0012f3c0)+0x86 (FPO:
[Non-Fpo]) (CONV: cdecl) [c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1260]
18 js3250!js_InternalGetOrSet(struct JSContext * cx = 0x0158fa78, struct
JSObject * obj = 0x075b4a58, long id = 0x1edcee8, long fval = 0x75b4a80,
JSAccessMode mode = JSACC_WRITE (8), unsigned int argc = 1, long * argv =
0x0012f3c0, long * rval = 0x0012f3c0)+0xd0 (FPO: [Non-Fpo]) (CONV: cdecl)
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1303]
19 js3250!js_Interpret(struct JSContext * cx = 0x0158fa78, unsigned char * pc =
0x098acbef "6", long * result = 0x0012f400)+0x4619 (FPO: [Uses EBP] [3,83,0])
(CONV: cdecl) [c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 3296]
1a js3250!js_Execute(struct JSContext * cx = 0x00a0fa10, struct JSObject * chain
= 0x01519088, struct JSScript * script = 0x09662008, struct JSStackFrame * down
= 0x00000000, unsigned int flags = 0, long * result = 0x0012f7d4)+0x1a0 (FPO:
[Non-Fpo]) (CONV: cdecl) [c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1394]
1b js3250!JS_EvaluateUCScriptForPrincipals(struct JSContext * cx = 0x0158fa78,
struct JSObject * obj = 0x01519088, struct JSPrincipals * principals =
0x009ee204, unsigned short * chars = 0x09a9bfe8 "???", unsigned int length =
0x174db, char * filename = 0x076e00b0
"file:///C:/DOCUME~1/waiman/LOCALS~1/Temp/CenzicHailstorm/Storage/CenzicHailstorm_Temp_127.js",
unsigned int lineno = 1, long * rval = 0x0012f7d4)+0x56 (FPO: [Non-Fpo]) (CONV:
cdecl) [c:\build\chs3\build\mozilla\js\src\jsapi.c @ 3952]
1c js3250!JS_EvaluateScriptForPrincipals(struct JSContext * cx = 0x0158fa78,
struct JSObject * obj = 0x01519088, struct JSPrincipals * principals =
0x009ee204, char * bytes = 0x099ec9e8 "???", unsigned int length = 0x174db, char
* filename = 0x076e00b0
"file:///C:/DOCUME~1/waiman/LOCALS~1/Temp/CenzicHailstorm/Storage/CenzicHailstorm_Temp_127.js",
unsigned int lineno = 1, long * rval = 0x0012f7d4)+0x37 (FPO: [Non-Fpo]) (CONV:
cdecl) [c:\build\chs3\build\mozilla\js\src\jsapi.c @ 3918]
1d xpc3250!mozJSSubScriptLoader::LoadSubScript(unsigned short * __formal =
0x081c7a00
"file:///C:/DOCUME~1/waiman/LOCALS~1/Temp/CenzicHailstorm/Storage/CenzicHailstorm_Temp_127.js")+0x2f3
(FPO: [Non-Fpo]) (CONV: stdcall)
[c:\build\chs3\build\mozilla\js\src\xpconnect\loader\mozjssubscriptloader.cpp @ 320]
1e xpcom_core!XPTC_InvokeByIndex(class nsISupports * that = 0x0206e350, unsigned
int methodIndex = 3, unsigned int paramCount = 1, struct nsXPTCVariant * params
= 0x0012f570)+0x27 (CONV: cdecl)
[c:\build\chs3\build\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp @
102]
1f xpc3250!XPCWrappedNative::CallMethod(class XPCCallContext * ccx = 0x0012f714,
XPCWrappedNative::CallMode mode = CALL_METHOD (0))+0x6c4 (FPO: [Non-Fpo]) (CONV:
cdecl) [c:\build\chs3\build\mozilla\js\src\xpconnect\src\xpcwrappednative.cpp @
2139]
20 xpc3250!XPC_WN_CallMethod(struct JSContext * cx = 0x0158fa78, struct JSObject
* obj = 0x0206e900, unsigned int argc = 2, long * argv = 0x01ece8b8, long * vp =
0x0012f7d4)+0x8e (FPO: [Non-Fpo]) (CONV: cdecl)
[c:\build\chs3\build\mozilla\js\src\xpconnect\src\xpcwrappednativejsops.cpp @ 1402]
21 js3250!js_Invoke(struct JSContext * cx = 0x00000001, unsigned int argc = 2,
unsigned int flags = 0)+0x539 (FPO: [Uses EBP] [3,35,0]) (CONV: cdecl)
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1163]
22 js3250!js_Interpret(struct JSContext * cx = 0x0158fa78, unsigned char * pc =
0x02064ee2 ":", long * result = 0x0012fa54)+0x4ff7 (FPO: [Uses EBP] [3,83,0])
(CONV: cdecl) [c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 3460]
23 js3250!js_Invoke(struct JSContext * cx = 0x00000001, unsigned int argc = 1,
unsigned int flags = 0)+0x57a (FPO: [Uses EBP] [3,35,0]) (CONV: cdecl)
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1183]
24 js3250!js_Interpret(struct JSContext * cx = 0x0158fa78, unsigned char * pc =
0x08410d8e ":", long * result = 0x0012fc6c)+0x4ff7 (FPO: [Uses EBP] [3,83,0])
(CONV: cdecl) [c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 3460]
25 js3250!js_Invoke(struct JSContext * cx = 0x00000001, unsigned int argc = 1,
unsigned int flags = 2)+0x57a (FPO: [Uses EBP] [3,35,0]) (CONV: cdecl)
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1183]
26 js3250!js_InternalInvoke(struct JSContext * cx = 0x0158faa0, struct JSObject
* obj = 0x01519518, long fval = 0x7220f38, unsigned int flags = 0, unsigned int
argc = 1, long * argv = 0x08257428, long * rval = 0x0012fdcc)+0x86 (FPO:
[Non-Fpo]) (CONV: cdecl) [c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1260]
27 js3250!JS_CallFunctionValue(struct JSContext * cx = 0x0158fa78, struct
JSObject * obj = 0x01519518, long fval = 0x7220f38, unsigned int argc = 1, long
* argv = 0x08257428, long * rval = 0x0012fdcc)+0x1e (FPO: [Non-Fpo]) (CONV:
cdecl) [c:\build\chs3\build\mozilla\js\src\jsapi.c @ 4017]
28 gklayout!nsJSContext::CallEventHandler(struct JSObject * aTarget =
0x01519518, struct JSObject * aHandler = 0x07220f38, unsigned int argc = 1, long
* argv = 0x08257428, long * rval = 0x00000000)+0xa6 (FPO: [Non-Fpo]) (CONV:
thiscall) [c:\build\chs3\build\mozilla\dom\src\base\nsjsenvironment.cpp @ 1414]
29 gklayout!nsGlobalWindow::RunTimeout(struct nsTimeout * aTimeout =
0x00000000)+0x1b3 (FPO: [Non-Fpo]) (CONV: thiscall)
[c:\build\chs3\build\mozilla\dom\src\base\nsglobalwindow.cpp @ 6188]
2a gklayout!nsGlobalWindow::TimerCallback(class nsITimer * aTimer = 0x0122d68e,
void * aClosure = 0x015e1218)+0x10 (FPO: [2,0,0]) (CONV: cdecl)
[c:\build\chs3\build\mozilla\dom\src\base\nsglobalwindow.cpp @ 6546]
2b xpcom_core!nsTimerImpl::Fire(void)+0x69 (FPO: [0,0,0]) (CONV: thiscall)
[c:\build\chs3\build\mozilla\xpcom\threads\nstimerimpl.cpp @ 394]
2c xpcom_core!nsTimerManager::FireNextIdleTimer(void)+0x77 (FPO: [Non-Fpo])
(CONV: stdcall) [c:\build\chs3\build\mozilla\xpcom\threads\nstimerimpl.cpp @ 628]
2d gkwidget!nsAppShell::Run(void)+0xb2 (FPO: [Non-Fpo]) (CONV: stdcall)
[c:\build\chs3\build\mozilla\widget\src\windows\nsappshell.cpp @ 142]
2e appcomps!nsAppStartup::Run(void)+0xd (FPO: [1,0,0]) (CONV: stdcall)
[c:\build\chs3\build\mozilla\xpfe\components\startup\src\nsappstartup.cpp @ 208]
2f HsEngine!main1(int argc = 3, char ** argv = 0x002a4728, class nsISupports *
nativeApp = 0x0768aeac)+0x355 (FPO: [Non-Fpo]) (CONV: cdecl)
[c:\build\chs3\build\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1264]
30 HsEngine!main(int argc = 3, char ** argv = 0x002a4728)+0xc5 (FPO: [Non-Fpo])
(CONV: cdecl) [c:\build\chs3\build\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1765]
31 HsEngine!WinMain(struct HINSTANCE__ * __formal = 0x7c816d4f, struct
HINSTANCE__ * __formal = 0x80000001, char * args = 0x0853ee34 "#???", int
__formal = 0x7ffd5000)+0x18 (FPO: [4,0,0]) (CONV: stdcall)
[c:\build\chs3\build\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1789]
32 HsEngine!WinMainCRTStartup(void)+0x185 (FPO: [Non-Fpo]) (CONV: cdecl)
[f:\vs70builds\3077\vc\crtbld\crt\src\crtexe.c @ 390]
33 kernel32!BaseProcessStart+0x23 (FPO: [Non-Fpo])

0:000> dv
           lock = 0x10029cf2
0:000> dt -b -v PRLock 0x10029cf2
struct PRLock, 6 elements, 0x84 bytes
   +0x000 links            : struct PRCListStr, 2 elements, 0x8 bytes
      +0x000 next             : 0xff85f88b
      +0x004 prev             : 0x068b0a79
   +0x008 owner            : 0x0850ff56
   +0x00c waitQ            : struct PRCListStr, 2 elements, 0x8 bytes
      +0x000 next             : 0x07ebc78b
      +0x004 prev             : 0x8908458b
   +0x014 priority         : Enum PRThreadPriority,  6 total enums
0x5fc03330 (No matching name)
   +0x018 boostPriority    : Enum PRThreadPriority,  6 total enums
0x56c35d5e (No matching name)
   +0x01c ilock            : struct _MDLock, 2 elements, 0x68 bytes
      +0x000 mutex            : struct _RTL_CRITICAL_SECTION, 6 elements, 0x18 bytes
         +0x000 DebugInfo        : 0x43e8186a
         +0x004 LockCount        : 0x8500014d
         +0x008 RecursionCount   : 0xb7459c0
         +0x00c OwningThread     : 0x24e8c88b
         +0x010 LockSemaphore    : 0x8bfffffe
         +0x014 SpinCount        : 0x3302ebf0
      +0x018 notified         : struct _MDNotified, 3 elements, 0x50 bytes
         +0x000 length           : 0x75f685f6
         +0x004 cv               : (6 elements)  
          [00] struct __unnamed, 3 elements, 0xc bytes
            +0x000 cv               : 0x000eb807
            +0x004 times            : 0xc35e8007
            +0x008 notifyHead       : 0xff56068b
          [01] struct __unnamed, 3 elements, 0xc bytes
            +0x000 cv               : 0x448b0450
            +0x004 times            : 0x30890824
            +0x008 notifyHead       : 0xc35ec033
          [02] struct __unnamed, 3 elements, 0xc bytes
            +0x000 cv               : 0xe3883d83
            +0x004 times            : 0x75001005
            +0x008 notifyHead       : 0x9845681c
          [03] struct __unnamed, 3 elements, 0xc bytes
            +0x000 cv               : 0x88681002
            +0x004 times            : 0xff1005e3
            +0x008 notifyHead       : 0x04033c15
          [04] struct __unnamed, 3 elements, 0xc bytes
            +0x000 cv               : 0x59c08510
            +0x004 times            : 0xb8067459
            +0x008 notifyHead       : 0x80004005
          [05] struct __unnamed, 3 elements, 0xc bytes
            +0x000 cv               : 0x35ff56c3
            +0x004 times            : 0x1005e388
            +0x008 notifyHead       : 0x033415ff
         +0x04c link             : 0xf08b1004

0:000> !analyze -v -f
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************


FAULTING_IP:
ntdll!DbgBreakPoint+0
7c901230 cc               int     3

EXCEPTION_RECORD:  0012eae4 -- (.exr 12eae4)
ExceptionAddress: 7c911899 (ntdll!RtlDeleteCriticalSection+0x0000000f)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 0000002c
Attempt to read from address 0000002c

FAULTING_THREAD:  00001460

BUGCHECK_STR:  80000003

DEFAULT_BUCKET_ID:  APPLICATION_FAULT

PROCESS_NAME:  HsEngine.exe

ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has
been reached.

CONTEXT:  0012eb00 -- (.cxr 12eb00)
eax=0012edf4 ebx=0000001c ecx=0768aeac edx=00000000 esi=00000000 edi=00000000
eip=7c911899 esp=0012edcc ebp=0012ee04 iopl=0         nv up ei pl nz ac po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00210216
ntdll!RtlDeleteCriticalSection+0xf:
7c911899 8b4310           mov     eax,[ebx+0x10]    ds:0023:0000002c=????????
Resetting default scope

MANAGED_STACK: !dumpstack -EE
 succeeded
Loaded Son of Strike data table version 5 from
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\mscorwks.dll"
Current frame:
ChildEBP RetAddr  Caller,Callee

LAST_CONTROL_TRANSFER:  from 300150cf to 7c911899

STACK_TEXT:  
0012ee04 300150cf 0000001c 0768aea0 10029c89 ntdll!RtlDeleteCriticalSection+0xf
0012ee10 10029c89 00000000 0768aea0 00000000 nspr4!PR_DestroyLock+0xf
[c:\build\chs3\build\mozilla\nsprpub\pr\src\threads\combined\prulock.c @ 218]
0012ee28 10029cf2 0768aea0 00a084c0 00000000 xpcom_core!nsThread::Init+0xb3
[c:\build\chs3\build\mozilla\xpcom\threads\nsthread.cpp @ 296]
0012ee50 00b4b13d 00a084cc 00a084c0 00000000 xpcom_core!NS_NewThread+0x44
[c:\build\chs3\build\mozilla\xpcom\threads\nsthread.cpp @ 342]
0012ee70 00b48777 00a084b8 0012eecc 00000000
necko!nsSocketTransportService::Init+0x30
[c:\build\chs3\build\mozilla\netwerk\base\src\nssockettransportservice2.cpp @ 427]
0012ee94 1003820d 00a07cf0 00000000 00a92519 necko!nsIOService::SetOffline+0xaa
[c:\build\chs3\build\mozilla\netwerk\base\src\nsioservice.cpp @ 564]
0012eea8 00a9471a 00a07cf0 0000000a 00000001 xpcom_core!XPTC_InvokeByIndex+0x27
[c:\build\chs3\build\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp @
102]
0012f054 00a9678c 0012f070 00000002 00000000
xpc3250!XPCWrappedNative::CallMethod+0x6c4
[c:\build\chs3\build\mozilla\js\src\xpconnect\src\xpcwrappednative.cpp @ 2139]
0012f0e8 00ace681 0158fa78 075b4a58 00000001 xpc3250!XPC_WN_GetterSetter+0xa7
[c:\build\chs3\build\mozilla\js\src\xpconnect\src\xpcwrappednativejsops.cpp @ 1427]
0012f19c 00ace833 00000001 00000001 00000002 js3250!js_Invoke+0x539
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1163]
0012f21c 00ace939 04da85c8 075b4a58 075b4a80 js3250!js_InternalInvoke+0x86
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1260]
0012f244 00ad35a4 0158fa78 075b4a58 01edcee8 js3250!js_InternalGetOrSet+0xd0
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1303]
0012f3c4 00ad7400 0158fa78 098acbef 0012f400 js3250!js_Interpret+0x4619
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 3296]
0012f448 00ab3482 00a0fa10 01519088 09662008 js3250!js_Execute+0x1a0
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1394]
0012f474 00ab4e9e 0158fa78 01519088 009ee204
js3250!JS_EvaluateUCScriptForPrincipals+0x56
[c:\build\chs3\build\mozilla\js\src\jsapi.c @ 3952]
0012f4a4 00a9b71e 0158fa78 01519088 009ee204
js3250!JS_EvaluateScriptForPrincipals+0x37
[c:\build\chs3\build\mozilla\js\src\jsapi.c @ 3918]
0012f538 1003820d 0206e350 081c7a00 00a92519
xpc3250!mozJSSubScriptLoader::LoadSubScript+0x2f3
[c:\build\chs3\build\mozilla\js\src\xpconnect\loader\mozjssubscriptloader.cpp @ 320]
0012f54c 00a9471a 0206e350 00000003 00000001 xpcom_core!XPTC_InvokeByIndex+0x27
[c:\build\chs3\build\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcinvoke.cpp @
102]
0012f6f8 00a966d2 0012f714 00000000 00000000
xpc3250!XPCWrappedNative::CallMethod+0x6c4
[c:\build\chs3\build\mozilla\js\src\xpconnect\src\xpcwrappednative.cpp @ 2139]
0012f78c 00ace681 0158fa78 0206e900 00000002 xpc3250!XPC_WN_CallMethod+0x8e
[c:\build\chs3\build\mozilla\js\src\xpconnect\src\xpcwrappednativejsops.cpp @ 1402]
0012f840 00ad3f82 00000001 00000002 00000000 js3250!js_Invoke+0x539
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1163]
0012f9ac 00ace6c2 0158fa78 02064ee2 0012fa54 js3250!js_Interpret+0x4ff7
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 3460]
0012fa58 00ad3f82 00000001 00000001 00000000 js3250!js_Invoke+0x57a
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1183]
0012fbc4 00ace6c2 0158fa78 08410d8e 0012fc6c js3250!js_Interpret+0x4ff7
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 3460]
0012fc70 00ace833 00000001 00000001 00000002 js3250!js_Invoke+0x57a
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1183]
0012fcf0 00ab359b 0158faa0 01519518 07220f38 js3250!js_InternalInvoke+0x86
[c:\build\chs3\build\mozilla\js\src\jsinterp.c @ 1260]
0012fd18 01077008 0158fa78 01519518 07220f38 js3250!JS_CallFunctionValue+0x1e
[c:\build\chs3\build\mozilla\js\src\jsapi.c @ 4017]
0012fd50 010731ed 01519518 07220f38 00000001
gklayout!nsJSContext::CallEventHandler+0xa6
[c:\build\chs3\build\mozilla\dom\src\base\nsjsenvironment.cpp @ 1414]
0012fdf4 01073369 00000000 08603f78 1002b83e
gklayout!nsGlobalWindow::RunTimeout+0x1b3
[c:\build\chs3\build\mozilla\dom\src\base\nsglobalwindow.cpp @ 6188]
0012fe00 1002b83e 08603f78 07dccf48 015e1224
gklayout!nsGlobalWindow::TimerCallback+0x10
[c:\build\chs3\build\mozilla\dom\src\base\nsglobalwindow.cpp @ 6546]
0012fe10 1002ba02 00a328a8 00000000 015c7dd0 xpcom_core!nsTimerImpl::Fire+0x69
[c:\build\chs3\build\mozilla\xpcom\threads\nstimerimpl.cpp @ 394]
0012fe28 0122d68e 015e1218 00000000 80000000
xpcom_core!nsTimerManager::FireNextIdleTimer+0x77
[c:\build\chs3\build\mozilla\xpcom\threads\nstimerimpl.cpp @ 628]
0012fe7c 011f0dbf 015e1218 00402abc 00a3c838 gkwidget!nsAppShell::Run+0xb2
[c:\build\chs3\build\mozilla\widget\src\windows\nsappshell.cpp @ 142]
0012fe84 00402abc 00a3c838 7c80b529 00000000 appcomps!nsAppStartup::Run+0xd
[c:\build\chs3\build\mozilla\xpfe\components\startup\src\nsappstartup.cpp @ 208]
0012fee4 00402bc4 00000003 002a4728 00000000 HsEngine!main1+0x355
[c:\build\chs3\build\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1264]
0012ff08 00402bf9 00000003 002a4728 00152357 HsEngine!main+0xc5
[c:\build\chs3\build\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1765]
0012ff18 0040743d 00400000 00000000 00152357 HsEngine!WinMain+0x18
[c:\build\chs3\build\mozilla\xpfe\bootstrap\nsapprunner.cpp @ 1789]
0012ffc0 7c816d4f 80000001 0853ee34 7ffd5000 HsEngine!WinMainCRTStartup+0x185
[f:\vs70builds\3077\vc\crtbld\crt\src\crtexe.c @ 390]
0012fff0 00000000 004072b8 00000000 78746341 kernel32!BaseProcessStart+0x23


FOLLOWUP_IP:
nspr4!PR_DestroyLock+f
[c:\build\chs3\build\mozilla\nsprpub\pr\src\threads\combined\prulock.c @ 218]
300150cf 56               push    esi

SYMBOL_STACK_INDEX:  1

FOLLOWUP_NAME:  MachineOwner

SYMBOL_NAME:  nspr4!PR_DestroyLock+f

MODULE_NAME:  nspr4

IMAGE_NAME:  nspr4.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  4325b67f

STACK_COMMAND:  .cxr 12eb00 ; kb

FAILURE_BUCKET_ID:  80000003_nspr4!PR_DestroyLock+f

BUCKET_ID:  80000003_nspr4!PR_DestroyLock+f

Followup: MachineOwner

--

I think nsThread can't tell the difference between a thread that exits very
quickly and an oom situation see patch.
Comment 1 timeless 2005-09-13 18:27:09 PDT
Created attachment 195986 [details] [diff] [review]
don't rely on non local variable
Comment 2 Darin Fisher 2005-09-13 19:19:35 PDT
Comment on attachment 195986 [details] [diff] [review]
don't rely on non local variable

This looks good.  However, before checking this in, please add a descriptive
comment explaining why this local variable is necessary.  r+sr=darin
Comment 3 timeless 2005-09-14 11:22:28 PDT
Comment on attachment 195986 [details] [diff] [review]
don't rely on non local variable

mozilla/xpcom/threads/nsThread.cpp	1.59
Comment 4 timeless 2005-09-14 11:22:53 PDT
seeking blocking for 1.8b5, our company's product which is planned to be based
on 1.8 branch frequently races along the path in this stack trace and crashes
here are very bad for us. the fix is small, localized and safe.
Comment 5 Scott MacGregor 2005-09-27 15:57:14 PDT
is there a reason why this hasn't landed on the branch yet? Time is running out
if you want it in 1.8.
Comment 6 timeless 2005-09-27 19:09:03 PDT
Comment on attachment 195986 [details] [diff] [review]
don't rely on non local variable

mozilla/xpcom/threads/nsThread.cpp	1.58.4.1

Note You need to log in before you can comment on or make changes to this bug.