Closed
Bug 343036
Opened 17 years ago
Closed 17 years ago
Crashes with references to JS-defined object attached to XPCOM component
Categories
(Core :: XML, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: WeirdAl, Assigned: smaug)
Details
(Keywords: crash, fixed1.8.1, testcase)
Attachments
(2 files)
1.20 KB,
application/vnd.mozilla.xul+xml
|
Details | |
2.19 KB,
patch
|
peterv
:
review+
peterv
:
superreview+
darin.moz
:
approval1.8.1+
|
Details | Diff | Splinter Review |
I'm crashing very frequently with a particular testcase, but I seem to be getting three or four different stacks.
> xpc3250.dll!XPCJSRuntime::GCCallback(JSContext * cx=0x02156720, JSGCStatus status=JSGC_END) Line 565 + 0xf bytes C++
gklayout.dll!DOMGCCallback(JSContext * cx=0x02156720, JSGCStatus status=JSGC_END) Line 3040 + 0x17 bytes C++
js3250.dll!js_GC(JSContext * cx=0x02156720, unsigned int gcflags=0x00000000) Line 2684 + 0x11 bytes C
js3250.dll!js_ForceGC(JSContext * cx=0x02156720, unsigned int gcflags=0x00000000) Line 2098 + 0xd bytes C
js3250.dll!JS_GC(JSContext * cx=0x02156720) Line 1907 + 0xb bytes C
gklayout.dll!nsJSContext::Notify(nsITimer * timer=0x021c7938) Line 2996 + 0xd bytes C++
xpcom_core.dll!nsTimerImpl::Fire() Line 404 C++
xpcom_core.dll!nsTimerEvent::Run() Line 486 C++
xpcom_core.dll!nsThread::ProcessNextEvent(int mayWait=0x00000001, int * result=0x0012fe04) Line 483 C++
xpcom_core.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x00398e00, int mayWait=0x00000001) Line 225 + 0x16 bytes C++
gkwidget.dll!nsBaseAppShell::Run() Line 153 + 0xc bytes C++
appcomps.dll!nsAppStartup::Run() Line 219 C++
seamonkey.exe!main1(int argc=0x00000003, char * * argv=0x00394d08, nsISupports * nativeApp=0x0096b818) Line 1238 + 0x22 bytes C++
seamonkey.exe!main(int argc=0x00000003, char * * argv=0x00394d08) Line 1740 + 0x25 bytes C++
seamonkey.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C
seamonkey.exe!mainCRTStartup() Line 403 C
kernel32.dll!7c816d4f()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
kernel32.dll!7c8399f3()
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060626 SeaMonkey/1.5a
Testcase coming up.
Reporter | ||
Comment 1•17 years ago
|
||
Reporter | ||
Comment 2•17 years ago
|
||
Another stack I frequently hit:
> xpcom_core.dll!nsQueryInterface::operator()(const nsID & aIID={...}, void * * answer=0x0012c9f4) Line 47 + 0x15 bytes C++
xpcom_core.dll!nsCOMPtr_base::assign_from_qi(nsQueryInterface qi={...}, const nsID & iid={...}) Line 96 + 0xf bytes C++
xpc3250.dll!nsCOMPtr<nsISupports>::operator=(nsQueryInterface rhs={...}) Line 1050 C++
xpc3250.dll!XPCWrappedNative::GetNewOrUsed(XPCCallContext & ccx={...}, nsISupports * Object=0x03819e08, XPCWrappedNativeScope * Scope=0x034d1ef0, XPCNativeInterface * Interface=0x0363f358, int isGlobal=0x00000000, XPCWrappedNative * * resultWrapper=0x0012cbb4) Line 230 C++
xpc3250.dll!XPCConvert::NativeInterface2JSObject(XPCCallContext & ccx={...}, nsIXPConnectJSObjectHolder * * dest=0x0012cc4c, nsISupports * src=0x03819e08, const nsID * iid=0x0012cf54, JSObject * scope=0x03613550, int allowNativeWrapper=0x00000001, int isGlobal=0x00000000, unsigned int * pErr=0x0012ce9c) Line 1078 + 0x22 bytes C++
xpc3250.dll!XPCConvert::NativeData2JS(XPCCallContext & ccx={...}, long * d=0x0012cd88, const void * s=0x0012ce00, const nsXPTType & type={...}, const nsID * iid=0x0012cf54, JSObject * scope=0x03613550, unsigned int * pErr=0x0012ce9c) Line 473 + 0x35 bytes C++
xpc3250.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...}, XPCWrappedNative::CallMode mode=CALL_GETTER) Line 2244 + 0x32 bytes C++
xpc3250.dll!XPCWrappedNative::GetAttribute(XPCCallContext & ccx={...}) Line 1990 + 0xe bytes C++
xpc3250.dll!XPC_WN_GetterSetter(JSContext * cx=0x034d19f8, JSObject * obj=0x03613550, unsigned int argc=0x00000000, long * argv=0x03816938, long * vp=0x0012d0e0) Line 1482 + 0xc bytes C++
js3250.dll!js_Invoke(JSContext * cx=0x034d19f8, unsigned int argc=0x00000000, unsigned int flags=0x00000002) Line 1328 + 0x20 bytes C
js3250.dll!js_InternalInvoke(JSContext * cx=0x034d19f8, JSObject * obj=0x03613550, long fval=0x036134f8, unsigned int flags=0x00000000, unsigned int argc=0x00000000, long * argv=0x00000000, long * rval=0x0012dc8c) Line 1422 + 0x14 bytes C
js3250.dll!js_InternalGetOrSet(JSContext * cx=0x034d19f8, JSObject * obj=0x03613550, long id=0x037696a8, long fval=0x036134f8, JSAccessMode mode=JSACC_READ, unsigned int argc=0x00000000, long * argv=0x00000000, long * rval=0x0012dc8c) Line 1482 + 0x1f bytes C
js3250.dll!js_GetProperty(JSContext * cx=0x034d19f8, JSObject * obj=0x03613550, long id=0x037696a8, long * vp=0x0012dc8c) Line 3250 + 0x30 bytes C
js3250.dll!js_Interpret(JSContext * cx=0x034d19f8, unsigned char * pc=0x036d985b, long * result=0x0012ddd0) Line 3759 + 0x52f bytes C
js3250.dll!js_Invoke(JSContext * cx=0x034d19f8, unsigned int argc=0x00000001, unsigned int flags=0x00000002) Line 1347 + 0x13 bytes C
js3250.dll!js_InternalInvoke(JSContext * cx=0x034d19f8, JSObject * obj=0x036dd288, long fval=0x03453f80, unsigned int flags=0x00000000, unsigned int argc=0x00000001, long * argv=0x03816908, long * rval=0x0012df24) Line 1422 + 0x14 bytes C
js3250.dll!JS_CallFunctionValue(JSContext * cx=0x034d19f8, JSObject * obj=0x036dd288, long fval=0x03453f80, unsigned int argc=0x00000001, long * argv=0x03816908, long * rval=0x0012df24) Line 4348 + 0x1f bytes C
gklayout.dll!nsJSContext::CallEventHandler(nsISupports * aTarget=0x0381b9a8, void * aScope=0x03614548, void * aHandler=0x03453f80, nsIArray * aargv=0x036c9858, nsIVariant * * arv=0x0012e098) Line 1655 + 0x21 bytes C++
gklayout.dll!nsJSEventListener::HandleEvent(nsIDOMEvent * aEvent=0x038189a4) Line 211 + 0x62 bytes C++
gklayout.dll!nsEventListenerManager::HandleEventSubType(nsListenerStruct * aListenerStruct=0x0381bb08, nsIDOMEventListener * aListener=0x0381ba60, nsIDOMEvent * aDOMEvent=0x038189a4, nsISupports * aCurrentTarget=0x0381b9a8, unsigned int aSubType=0x00000008, unsigned int aPhaseFlags=0x00000006) Line 1648 + 0x12 bytes C++
gklayout.dll!nsEventListenerManager::HandleEvent(nsPresContext * aPresContext=0x0378a740, nsEvent * aEvent=0x0012e940, nsIDOMEvent * * aDOMEvent=0x0012e364, nsISupports * aCurrentTarget=0x0381b9a8, unsigned int aFlags=0x00000006, nsEventStatus * aEventStatus=0x0012e368) Line 1752 C++
gklayout.dll!nsEventTargetChainItem::HandleEvent(nsEventChainPostVisitor & aVisitor={...}, unsigned int aFlags=0x00000006) Line 335 C++
gklayout.dll!nsEventTargetChainItem::HandleEventTargetChain(nsEventChainPostVisitor & aVisitor={...}, unsigned int aFlags=0x00000006, nsDispatchingCallback * aCallback=0x00000000) Line 455 C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 401 + 0x12 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x00000000) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventDispatcher::Dispatch(nsISupports * aTarget=0x0381b9a8, nsPresContext * aPresContext=0x0378a740, nsEvent * aEvent=0x0012e940, nsIDOMEvent * aDOMEvent=0x00000000, nsEventStatus * aEventStatus=0x0012e93c, nsDispatchingCallback * aCallback=0x00000000, int aTargetIsChromeHandler=0x00000000) Line 575 + 0x10 bytes C++
gklayout.dll!PresShell::HandleDOMEventWithTarget(nsIContent * aTargetContent=0x0381b9a8, nsEvent * aEvent=0x0012e940, nsEventStatus * aStatus=0x0012e93c) Line 6279 + 0x1e bytes C++
gklayout.dll!nsButtonBoxFrame::DoMouseClick(nsGUIEvent * aEvent=0x0012f104, int aTrustEvent=0x00000000) Line 169 C++
gklayout.dll!nsButtonBoxFrame::MouseClicked(nsPresContext * aPresContext=0x0378a740, nsGUIEvent * aEvent=0x0012f104) Line 62 + 0x15 bytes C++
gklayout.dll!nsButtonBoxFrame::HandleEvent(nsPresContext * aPresContext=0x0378a740, nsGUIEvent * aEvent=0x0012f104, nsEventStatus * aEventStatus=0x0012ea6c) Line 141 C++
gklayout.dll!nsPresShellEventCB::HandleEvent(nsEventChainPostVisitor & aVisitor={...}) Line 1498 C++
gklayout.dll!nsEventTargetChainItem::HandleEventTargetChain(nsEventChainPostVisitor & aVisitor={...}, unsigned int aFlags=0x00000006, nsDispatchingCallback * aCallback=0x0012f038) Line 503 C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 401 + 0x12 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f038) Line 392 + 0x10 bytes C++
gklayout.dll!nsEventDispatcher::Dispatch(nsISupports * aTarget=0x0381b9a8, nsPresContext * aPresContext=0x0378a740, nsEvent * aEvent=0x0012f104, nsIDOMEvent * aDOMEvent=0x00000000, nsEventStatus * aEventStatus=0x0012f570, nsDispatchingCallback * aCallback=0x0012f038, int aTargetIsChromeHandler=0x00000000) Line 575 + 0x10 bytes C++
gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x0012f104, nsIView * aView=0x00000000, nsEventStatus * aStatus=0x0012f570) Line 6236 + 0x2b bytes C++
gklayout.dll!PresShell::HandleEventWithTarget(nsEvent * aEvent=0x0012f104, nsIFrame * aFrame=0x03870098, nsIContent * aContent=0x0381b9a8, nsEventStatus * aStatus=0x0012f570) Line 6128 + 0x12 bytes C++
gklayout.dll!nsEventStateManager::CheckForAndDispatchClick(nsPresContext * aPresContext=0x0378a740, nsMouseEvent * aEvent=0x0012f7ac, nsEventStatus * aStatus=0x0012f570) Line 3011 + 0x40 bytes C++
gklayout.dll!nsEventStateManager::PostHandleEvent(nsPresContext * aPresContext=0x0378a740, nsEvent * aEvent=0x0012f7ac, nsIFrame * aTargetFrame=0x03870098, nsEventStatus * aStatus=0x0012f570, nsIView * aView=0x03742cc0) Line 1961 + 0x1c bytes C++
gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x0012f7ac, nsIView * aView=0x03742cc0, nsEventStatus * aStatus=0x0012f570) Line 6254 + 0x36 bytes C++
gklayout.dll!PresShell::HandlePositionedEvent(nsIView * aView=0x03742cc0, nsIFrame * aTargetFrame=0x03870098, nsGUIEvent * aEvent=0x0012f7ac, nsEventStatus * aEventStatus=0x0012f570) Line 6111 + 0x14 bytes C++
gklayout.dll!PresShell::HandleEvent(nsIView * aView=0x03742cc0, nsGUIEvent * aEvent=0x0012f7ac, nsEventStatus * aEventStatus=0x0012f570) Line 5939 + 0x1b bytes C++
gklayout.dll!nsViewManager::HandleEvent(nsView * aView=0x03742cc0, nsPoint aPoint={...}, nsGUIEvent * aEvent=0x0012f7ac, int aCaptured=0x00000000) Line 1665 C++
gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x0012f7ac, nsEventStatus * aStatus=0x0012f698) Line 1618 + 0x22 bytes C++
gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x0012f7ac) Line 174 C++
gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012f7ac, nsEventStatus & aStatus=nsEventStatus_eIgnore) Line 1102 + 0xc bytes C++
gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012f7ac) Line 1123 C++
gkwidget.dll!nsWindow::DispatchMouseEvent(unsigned int aEventType=0x0000012d, unsigned int wParam=0x00000000, long lParam=0x000f0066) Line 5998 + 0x1a bytes C++
gkwidget.dll!ChildWindow::DispatchMouseEvent(unsigned int aEventType=0x0000012d, unsigned int wParam=0x00000000, long lParam=0x000f0066) Line 6181 C++
gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=0x00000202, unsigned int wParam=0x00000000, long lParam=0x000f0066, long * aRetValue=0x0012fc18) Line 4513 + 0x20 bytes C++
gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x000f04ca, unsigned int msg=0x00000202, unsigned int wParam=0x00000000, long lParam=0x000f0066) Line 1291 + 0x1d bytes C++
user32.dll!77d48734()
[Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]
user32.dll!77d48816()
user32.dll!77d489cd()
user32.dll!77d49402()
user32.dll!77d48a10()
gkwidget.dll!nsAppShell::ProcessNextNativeEvent(int mayWait=0x00000001) Line 145 + 0xa bytes C++
gkwidget.dll!nsBaseAppShell::DoProcessNextNativeEvent(int mayWait=0x00000001) Line 136 + 0x11 bytes C++
gkwidget.dll!nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal * thr=0x00398dd8, int mayWait=0x00000001, unsigned int recursionDepth=0x00000000) Line 231 + 0xf bytes C++
xpcom_core.dll!nsThread::ProcessNextEvent(int mayWait=0x00000001, int * result=0x0012fe04) Line 472 C++
xpcom_core.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x00398dd8, int mayWait=0x00000001) Line 225 + 0x16 bytes C++
gkwidget.dll!nsBaseAppShell::Run() Line 153 + 0xc bytes C++
appcomps.dll!nsAppStartup::Run() Line 219 C++
seamonkey.exe!main1(int argc=0x00000003, char * * argv=0x00394d08, nsISupports * nativeApp=0x0096b818) Line 1238 + 0x22 bytes C++
seamonkey.exe!main(int argc=0x00000003, char * * argv=0x00394d08) Line 1740 + 0x25 bytes C++
seamonkey.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C
seamonkey.exe!mainCRTStartup() Line 403 C
kernel32.dll!7c816d4f()
kernel32.dll!7c8399f3()
Reporter | ||
Updated•17 years ago
|
Severity: normal → critical
Assignee | ||
Comment 3•17 years ago
|
||
Don't forget to AddRef ;)
Assignee: dbradley → Olli.Pettay
Status: NEW → ASSIGNED
Attachment #227472 -
Flags: superreview?(peterv)
Attachment #227472 -
Flags: review?(peterv)
Updated•17 years ago
|
Attachment #227472 -
Flags: superreview?(peterv)
Attachment #227472 -
Flags: superreview+
Attachment #227472 -
Flags: review?(peterv)
Attachment #227472 -
Flags: review+
Assignee | ||
Updated•17 years ago
|
Attachment #227472 -
Flags: approval1.8.1?
Assignee | ||
Comment 4•17 years ago
|
||
Fixed on trunk.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Flags: blocking1.8.1?
Resolution: --- → FIXED
Assignee | ||
Updated•17 years ago
|
Component: XPConnect → XML
Comment 5•17 years ago
|
||
Comment on attachment 227472 [details] [diff] [review] proposed patch a=darin on behalf of drivers
Attachment #227472 -
Flags: approval1.8.1? → approval1.8.1+
Assignee | ||
Updated•17 years ago
|
Flags: blocking1.8.1?
Keywords: fixed1.8.1
You need to log in
before you can comment on or make changes to this bug.
Description
•