Closed Bug 271133 Opened 20 years ago Closed 10 years ago

[@ PL_HandleEvent]

Categories

(Core :: XPCOM, defect, P5)

x86
Windows XP
defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: timeless, Unassigned)

Details

(Keywords: crash)

Crash Data

I'm hitting this repeatedly in my debug builds, source tree was updated friday.

>	xpcom_core.dll!PL_HandleEvent(PLEvent * self=0x0591dc40)  Line 693	C
 	xpcom_core.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x0583a1f8)  Line 628	C
 	xpcom_core.dll!_md_EventReceiverProc(HWND__ * hwnd=0x01dd209e, unsigned int
uMsg=0x0000c14e, unsigned int wParam=0x00000000, long lParam=0x0583a1f8)  Line
1434	C
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!GetMessageW()  + 0x125	
 	user32.dll!DispatchMessageW()  + 0xb	
 	appshell.dll!nsXULWindow::ShowModal()  Line 384	C++
 	appshell.dll!nsWebShellWindow::ShowModal()  Line 1101	C++
 	appshell.dll!nsContentTreeOwner::ShowAsModal()  Line 441	C++
 	embedcomponents.dll!nsWindowWatcher::OpenWindowJS(nsIDOMWindow *
aParent=0x054c7c0c, const char * aUrl=0x019e286c, const char * aName=0x019e82b0,
const char * aFeatures=0x019e828c, int aDialog=0x00000001, unsigned int
argc=0x00000001, long * argv=0x055ab9f0, nsIDOMWindow * * _retval=0x0012d844)
 Line 786	C++
 	embedcomponents.dll!nsWindowWatcher::OpenWindow(nsIDOMWindow *
aParent=0x054c7c0c, const char * aUrl=0x019e286c, const char * aName=0x019e82b0,
const char * aFeatures=0x019e828c, nsISupports * aArguments=0x056dc2c8,
nsIDOMWindow * * _retval=0x0012d844)  Line 458 + 0x30	C++
 	embedcomponents.dll!nsPromptService::DoDialog(nsIDOMWindow *
aParent=0x054c7c0c, nsIDialogParamBlock * aParamBlock=0x056dc2c8, const char *
aChromeURL=0x019e286c)  Line 632 + 0x4d	C++
 	embedcomponents.dll!nsPromptService::ConfirmEx(nsIDOMWindow *
parent=0x054c7c0c, const unsigned short * dialogTitle=0x03ecd848, const unsigned
short * text=0x056dc010, unsigned int buttonFlags=0x00000000, const unsigned
short * button0Title=0x00000000, const unsigned short * button1Title=0x00000000,
const unsigned short * button2Title=0x00000000, const unsigned short *
checkMsg=0x00000000, int * checkValue=0x056dc278, int *
buttonPressed=0x018eb21c)  Line 346 + 0x22	C++
 	prmtsrvc.dll!hsPromptServiceImpl::ConfirmEx(nsIDOMWindow * aParent=0x054c7c0c,
const unsigned short * aDialogTitle=0x03ecd848, const unsigned short *
aText=0x056dc010, unsigned int buttonFlags=0x00060205, const unsigned short *
button0Title=0x00000000, const unsigned short * button1Title=0x00000000, const
unsigned short * button2Title=0x00000000, const unsigned short *
checkMsg=0x00000000, int * checkValue=0x056dc278, int * _retval=0x056dc288) 
Line 275 + 0x45	C++
 	xpcom_core.dll!XPTC_InvokeByIndex(nsISupports * that=0x018eb1cc, unsigned int
methodIndex=0x00000007, unsigned int paramCount=0x0000000a, nsXPTCVariant *
params=0x056dc1f8)  Line 102	C++
 	xpc3250.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...},
XPCWrappedNative::CallMode mode=CALL_METHOD)  Line 2037 + 0x1e	C++
 	xpc3250.dll!XPC_WN_CallMethod(JSContext * cx=0x054c85f8, JSObject *
obj=0x055d59b8, unsigned int argc=0x00000009, long * argv=0x058cce40, long *
vp=0x0012de80)  Line 1287 + 0xb	C++
 	js3250.dll!js_Invoke(JSContext * cx=0x054c85f8, unsigned int argc=0x00000009,
unsigned int flags=0x00000000)  Line 1286 + 0x20	C
 	js3250.dll!js_Interpret(JSContext * cx=0x054c85f8, long * result=0x0012e940) 
Line 3619 + 0xf	C
 	js3250.dll!js_Invoke(JSContext * cx=0x054c85f8, unsigned int argc=0x00000001,
unsigned int flags=0x00000002)  Line 1306 + 0xd	C
 	js3250.dll!js_InternalInvoke(JSContext * cx=0x054c85f8, JSObject *
obj=0x0533b0a8, long fval=0x053ae3b8, unsigned int flags=0x00000000, unsigned
int argc=0x00000001, long * argv=0x0012ec40, long * rval=0x0012ec44)  Line
1383 + 0x14	C
 	js3250.dll!JS_CallFunctionValue(JSContext * cx=0x054c85f8, JSObject *
obj=0x0533b0a8, long fval=0x053ae3b8, unsigned int argc=0x00000001, long *
argv=0x0012ec40, long * rval=0x0012ec44)  Line 3794 + 0x1f	C
 	gklayout.dll!nsJSContext::CallEventHandler(JSObject * aTarget=0x0533b0a8,
JSObject * aHandler=0x053ae3b8, unsigned int argc=0x00000001, long *
argv=0x0012ec40, long * rval=0x0012ec44)  Line 1361 + 0x21	C++
 	gklayout.dll!nsJSEventListener::HandleEvent(nsIDOMEvent * aEvent=0x03ed8a48) 
Line 205 + 0x2d	C++
 	gklayout.dll!nsEventListenerManager::HandleEventSubType(nsListenerStruct *
aListenerStruct=0x05551588, nsIDOMEvent * aDOMEvent=0x03ed8a48,
nsIDOMEventTarget * aCurrentTarget=0x054c7c34, unsigned int aSubType=0x00000002,
unsigned int aPhaseFlags=0x00000007)  Line 1524 + 0x14	C++
 	gklayout.dll!nsEventListenerManager::HandleEvent(nsPresContext *
aPresContext=0x054ed540, nsEvent * aEvent=0x0012eee8, nsIDOMEvent * *
aDOMEvent=0x0012ee8c, nsIDOMEventTarget * aCurrentTarget=0x054c7c34, unsigned
int aFlags=0x00000007, nsEventStatus * aEventStatus=0x0012eee4)  Line 1618	C++
 	gklayout.dll!GlobalWindowImpl::HandleDOMEvent(nsPresContext *
aPresContext=0x054ed540, nsEvent * aEvent=0x0012eee8, nsIDOMEvent * *
aDOMEvent=0x0012ee8c, unsigned int aFlags=0x00000007, nsEventStatus *
aEventStatus=0x0012eee4)  Line 914	C++
 	appshell.dll!nsWebShellWindow::ExecuteCloseHandler()  Line 1500 + 0x34	C++
 	appshell.dll!nsWebShellWindow::HandleEvent(nsGUIEvent * aEvent=0x0012f0c0) 
Line 481 + 0x8	C++
 	gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012f0c0,
nsEventStatus & aStatus=nsEventStatus_eIgnore)  Line 1074 + 0xa	C++
 	gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012f0c0) 
Line 1095	C++
 	gkwidget.dll!nsWindow::DispatchStandardEvent(unsigned int aMsg=0x00000065) 
Line 1114 + 0xf	C++
 	gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=0x00000010, unsigned
int wParam=0x00000000, long lParam=0x00000000, long * aRetValue=0x0012f550) 
Line 3852	C++
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x018820b0, unsigned int
msg=0x00000010, unsigned int wParam=0x00000000, long lParam=0x00000000)  Line
1355 + 0x1b	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!PostMessageA()  + 0xad	
 	user32.dll!PostMessageA()  + 0xdd	
 	ntdll.dll!RtlDestroyHeap()  + 0xd	
 	user32.dll!DefWindowProcW()  + 0xa0	
 	gkwidget.dll!nsWindow::DefaultWindowProc(HWND__ * hWnd=0x018820b0, unsigned
int msg=0x00000112, unsigned int wParam=0x0000f060, long lParam=0x000f0273) 
Line 1381	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!IsWindowVisible()  + 0x80	
 	user32.dll!CallWindowProcW()  + 0x19	
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x018820b0, unsigned int
msg=0x00000112, unsigned int wParam=0x0000f060, long lParam=0x000f0273)  Line
1362 + 0x1f	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!PostMessageA()  + 0xad	
 	user32.dll!PostMessageA()  + 0xdd	
 	ntdll.dll!RtlDestroyHeap()  + 0xd	
 	user32.dll!DefWindowProcW()  + 0xa0	
 	gkwidget.dll!nsWindow::DefaultWindowProc(HWND__ * hWnd=0x018820b0, unsigned
int msg=0x000000a1, unsigned int wParam=0x00000014, long lParam=0x000f0273) 
Line 1381	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!IsWindowVisible()  + 0x80	
 	user32.dll!CallWindowProcW()  + 0x19	
 	gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x018820b0, unsigned int
msg=0x000000a1, unsigned int wParam=0x00000014, long lParam=0x000f0273)  Line
1362 + 0x1f	C++
 	user32.dll!77d43a50() 	
 	user32.dll!77d43b1f() 	
 	user32.dll!GetMessageW()  + 0x125	
 	user32.dll!DispatchMessageW()  + 0xb	
 	appcomps.dll!nsAppStartup::Run()  Line 216	C++
 	mozilla.exe!main1(int argc=0x00000001, char * * argv=0x00347b88, nsISupports *
nativeApp=0x01106140)  Line 1321 + 0x20	C++
 	mozilla.exe!main(int argc=0x00000001, char * * argv=0x00347b88)  Line 1813 +
0x25	C++
 	mozilla.exe!mainCRTStartup()  Line 400 + 0x11	C
 	kernel32.dll!TermsrvAppInstallMode()  + 0x269	

First-chance exception at 0x004ae950 (xpcom_core.dll) in mozilla.exe:
0xC0000005: Access violation reading location 0x400595bf.
Unhandled exception at 0x004ae950 (xpcom_core.dll) in mozilla.exe: 0xC0000005:
Access violation reading location 0x400595bf.

+	self	0x0591dc40 {link={next=0x0591dc40 {next=0x0591dc40 {next=0x0591dc40
prev=0x0591dc40 } prev=0x0591dc40 {next=0x0591dc40 prev=0x0591dc40 } }
prev=0x0591dc40 {next=0x0591dc40 {next=0x0591dc40 prev=0x0591dc40 }
prev=0x0591dc40 {next=0x0591dc40 prev=0x0591dc40 } } } handler=0x02652020
nsCachedChromeChannel::HandleStopLoadEvent(PLEvent *) destructor=0x02652120
nsCachedChromeChannel::DestroyLoadEvent(PLEvent *) ...}	PLEvent *
	self->handler	0x02652020 nsCachedChromeChannel::HandleStopLoadEvent(PLEvent *)
void * (PLEvent *)*
	self->synchronousResult	0x00000000	void *

EAX = 00000000 EBX = 3000151E ECX = 05917890 EDX = 00000000 ESI = 400595AB EDI =
00000000 EIP = 004AE950 ESP = 0012D2EC EBP = 0591DC40 EFL = 00000246 

400595BF = ???????? 

PR_IMPLEMENT(void)
PL_HandleEvent(PLEvent* self)
{
004AE926  push        esi  
    void* result;
    if (self == NULL)
004AE927  mov         esi,dword ptr [esp+8] 
004AE92B  test        esi,esi 
004AE92D  je          PL_HandleEvent+65h (4AE98Bh) 
        return;

    /* This event better not be on an event queue anymore. */
    PR_ASSERT(PR_CLIST_IS_EMPTY(&self->link));
004AE92F  cmp         dword ptr [esi],esi 
004AE931  je          PL_HandleEvent+25h (4AE94Bh) 
004AE933  push        2B2h 
004AE938  push        offset string "r:/mozilla/xpcom/threads/plevent"... (504F64h) 
004AE93D  push        offset string "PR_CLIST_IS_EMPTY(&self->link)" (504F44h) 
004AE942  call        dword ptr [__imp__PR_Assert (547ABCh)] 
004AE948  add         esp,0Ch 
004AE94B  push        edi  

    result = self->handler(self);
004AE94C  push        esi  
004AE94D  call        dword ptr [esi+8] 
    if (NULL != self->synchronousResult) {
004AE950  cmp         dword ptr [esi+14h],0 
004AE954  pop         ecx  
004AE955  mov         edi,eax 
004AE957  je          PL_HandleEvent+5Dh (4AE983h) 
        PR_Lock(self->lock);
004AE959  push        dword ptr [esi+18h] 
004AE95C  call        dword ptr [__imp__PR_Lock (547AC0h)] 
        self->synchronousResult = result;
        self->handled = PR_TRUE;
        PR_NotifyCondVar(self->condVar);
004AE962  push        dword ptr [esi+1Ch] 
004AE965  mov         dword ptr [esi+14h],edi 
004AE968  mov         dword ptr [esi+20h],1 
004AE96F  call        dword ptr [__imp__PR_NotifyCondVar (547A24h)] 
        PR_Unlock(self->lock);
004AE975  push        dword ptr [esi+18h] 
004AE978  call        dword ptr [__imp__PR_Unlock (547AB8h)] 
004AE97E  add         esp,0Ch 
    }
    else {
004AE981  jmp         PL_HandleEvent+64h (4AE98Ah) 
        /* For asynchronous events, they're destroyed by the event-handler
           thread. See PR_PostSynchronousEvent. */
        PL_DestroyEvent(self);
004AE983  push        esi  
004AE984  call        PL_DestroyEvent (4AE162h) 
004AE989  pop         ecx  
004AE98A  pop         edi  
004AE98B  pop         esi  
    }
}
004AE98C  ret              

Each time i crash, nsCachedChromeChannel::HandleStopLoadEvent is the thing
that's listed by devenv as being the thing in self->handler.

the last time i crashed, i had just closed some pesky alert dialog of some sort.
(possibly w/o letting it finish loading...)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P5
Assignee: dougt → nobody
QA Contact: xpcom
Crash Signature: [@ PL_HandleEvent]
Hopefully you aren't still seeing this crash. :)
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.