Closed Bug 29590 Opened 26 years ago Closed 24 years ago

RDFGenericBuilderImpl::sortState->lastContainer holds on a deleted resource

Categories

(MailNews Core :: Backend, defect, P3)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: jefft, Assigned: mozilla)

Details

RDFGenericBuilderImpl::sortState->lastContainer holds on a deleted resource. I don't knwo who should own this so I start with Chris. The problem happens when I rename a leaf Imap mail folder and then select to the renamed folder or any other folder. And it only happen the first time after the rename. I guess the solution is we need to find a way to drop the resource held by sortState->lastContainer before the rename. folderTree.clearItemSelection() and folderTree.clearCellSelection() seems not clearing the sortState->lastContainer for me. The stack crawl followed. - row 0x04537b00 + mRow_Space 0xdddddddd + mRow_Object 0xdddddddd + mRow_Cells 0xdddddddd + mRow_Oid {...} mRow_Delta 3722304989 mRow_Length 56797 mRow_Seed 56797 mRow_GcUses 221 'Ý' mRow_Pad 221 'Ý' mRow_Flags 221 'Ý' mRow_Tag 221 'Ý' + this 0x04537a00 + ev 0x0456feb0 NTDLL! 77f762e8() nsDebug::Assertion(const char * 0x030cdebc, const char * 0x030cca34, const char * 0x030cca0c, int 78) line 189 + 13 bytes mork_assertion_signal(const char * 0x030cdebc) line 78 + 31 bytes morkRowObject::CloseRowObject(morkEnv * 0x0456feb0) line 110 + 21 bytes morkRowObject::CloseMorkNode(morkEnv * 0x0456feb0) line 63 morkNode::cut_use_count(morkEnv * 0x0456feb0) line 535 morkNode::CutStrongRef(morkEnv * 0x0456feb0) line 551 + 12 bytes morkNode::SlotStrongNode(morkNode * 0x00000000, morkEnv * 0x0456feb0, morkNode * * 0x04534650) line 447 morkObject::SlotStrongObject(morkObject * 0x00000000, morkEnv * 0x0456feb0, morkObject * * 0x04534650) line 100 + 20 bytes morkHandle::CloseHandle(morkEnv * 0x0456feb0) line 117 + 18 bytes morkHandle::CloseMorkNode(morkEnv * 0x0456feb0) line 59 morkNode::cut_use_count(morkEnv * 0x0456feb0) line 535 morkNode::CutStrongRef(morkEnv * 0x0456feb0) line 551 + 12 bytes morkHandle::Handle_CutStrongRef(nsIMdbEnv * 0x0456c3a8) line 395 orkinRow::CutStrongRef(nsIMdbEnv * 0x0456c3a8) line 263 nsMsgHdr::~nsMsgHdr() line 125 nsMsgHdr::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsMsgHdr::Release(nsMsgHdr * const 0x04530290) line 33 + 134 bytes nsCOMPtr<nsIMsgDBHdr>::~nsCOMPtr<nsIMsgDBHdr>() line 435 nsMessage::~nsMessage() line 38 + 22 bytes nsImapMessage::~nsImapMessage() line 44 + 9 bytes nsImapMessage::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsRDFResource::Release(nsRDFResource * const 0x04530170) line 69 + 131 bytes nsMessage::Release(nsMessage * const 0x04530170) line 41 + 12 bytes nsImapMessage::Release(nsImapMessage * const 0x04530170) line 46 + 13 bytes nsCOMPtr<nsIRDFResource>::~nsCOMPtr<nsIRDFResource>() line 435 nsXULElement::Slots::~Slots() line 4229 + 22 bytes nsXULElement::Slots::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsXULElement::~nsXULElement() line 399 + 31 bytes nsXULElement::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsXULElement::Release(nsXULElement * const 0x04505940) line 571 + 137 bytes nsSupportsArray::Clear(nsSupportsArray * const 0x04504700) line 319 + 36 bytes nsSupportsArray::DeleteArray() line 64 nsSupportsArray::~nsSupportsArray() line 41 nsSupportsArray::`vector deleting destructor'(unsigned int 1) + 81 bytes nsSupportsArray::Release(nsSupportsArray * const 0x04504700) line 59 + 129 bytes nsCOMPtr<nsISupportsArray>::~nsCOMPtr<nsISupportsArray>() line 435 nsXULElement::~nsXULElement() line 463 + 22 bytes nsXULElement::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsXULElement::Release(nsXULElement * const 0x04507d40) line 571 + 137 bytes nsCOMPtr<nsIContent>::assign_assuming_AddRef(nsIContent * 0x03b8fd50) line 417 nsCOMPtr<nsIContent>::assign_with_AddRef(nsISupports * 0x03b8fd50) line 788 nsCOMPtr<nsIContent>::operator=(nsIContent * 0x03b8fd50) line 527 XULSortServiceImpl::InsertContainerNode(XULSortServiceImpl * const 0x034eb260, nsIRDFCompositeDataSource * 0x03615050, nsRDFSortState * 0x03616e90, nsIContent * 0x03515990, nsIContent * 0x03515990, nsIContent * 0x03b8fd50, nsIContent * 0x03b8fc60, int 0) line 2026 RDFGenericBuilderImpl::BuildContentFromTemplate(nsIContent * 0x03566930, nsIContent * 0x03515990, nsIContent * 0x03b8fd50, int 1, nsIRDFResource * 0x03b8fed0, int 0, nsIContent * * 0x0012dee4, int * 0x0012dee8) line 2126 + 81 bytes RDFGenericBuilderImpl::BuildContentFromTemplate(nsIContent * 0x03566a50, nsIContent * 0x03515990, nsIContent * 0x03515990, int 1, nsIRDFResource * 0x03b8fed0, int 0, nsIContent * * 0x0012dee4, int * 0x0012dee8) line 1926 + 57 bytes RDFGenericBuilderImpl::CreateWidgetItem(nsIContent * 0x03515990, nsIRDFResource * 0x03807920, nsIRDFResource * 0x03b8fed0, int 0, nsIContent * * 0x0012dee4, int * 0x0012dee8) line 2226 + 43 bytes RDFGenericBuilderImpl::CreateContainerContents(nsIContent * 0x03515990, nsIRDFResource * 0x045362d0, int 0, nsIContent * * 0x0012dee4, int * 0x0012dee8) line 2567 + 45 bytes RDFGenericBuilderImpl::CreateTemplateAndContainerContents(nsIContent * 0x03515990, nsIContent * * 0x0012dee4, int * 0x0012dee8) line 2458 + 34 bytes RDFGenericBuilderImpl::RebuildContainer(RDFGenericBuilderImpl * const 0x03616e70, nsIContent * 0x03515990) line 904 + 40 bytes nsXULDocument::RebuildWidgetItem(nsIContent * 0x03515990) line 3987 + 22 bytes nsXULDocument::AttributeChanged(nsXULDocument * const 0x02a97e00, nsIContent * 0x03515990, int 0, nsIAtom * 0x02a82c80, int -1) line 1466 nsXULElement::SetAttribute(nsXULElement * const 0x03515990, int 0, nsIAtom * 0x02a82c80, const nsString & {...}, int 1) line 2624 nsXULElement::SetAttribute(nsXULElement * const 0x035159a4, const nsString & {...}, const nsString & {...}) line 1310 + 35 bytes nsXULTreeElement::SetAttribute(nsXULTreeElement * const 0x03849178, const nsString & {...}, const nsString & {...}) line 51 + 29 bytes ElementSetAttribute(JSContext * 0x038176a0, JSObject * 0x02de46c0, unsigned int 2, long * 0x02e5cef8, long * 0x0012e5e0) line 258 + 26 bytes js_Invoke(JSContext * 0x038176a0, unsigned int 2, unsigned int 0) line 665 + 26 bytes js_Interpret(JSContext * 0x038176a0, long * 0x0012eecc) line 2292 + 15 bytes js_Invoke(JSContext * 0x038176a0, unsigned int 4, unsigned int 0) line 681 + 13 bytes js_Interpret(JSContext * 0x038176a0, long * 0x0012f774) line 2292 + 15 bytes js_Invoke(JSContext * 0x038176a0, unsigned int 1, unsigned int 2) line 681 + 13 bytes nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJSClass * const 0x038ae790, nsXPCWrappedJS * 0x038ae700, unsigned short 10, const nsXPTMethodInfo * 0x01141f7c, nsXPTCMiniVariant * 0x0012fa38) line 737 + 22 bytes nsXPCWrappedJS::CallMethod(nsXPCWrappedJS * const 0x038ae700, unsigned short 10, const nsXPTMethodInfo * 0x01141f7c, nsXPTCMiniVariant * 0x0012fa38) line 310 PrepareAndDispatch(nsXPTCStubBase * 0x038ae700, unsigned int 10, unsigned int * 0x0012faec, unsigned int * 0x0012fad8) line 100 + 31 bytes SharedStub() line 125
Status: NEW → ASSIGNED
Target Milestone: M15
to rjc, with love.
Assignee: waterson → rjc
Status: ASSIGNED → NEW
Target Milestone: M15 → M16
Status: NEW → ASSIGNED
.
Target Milestone: M16 → M17
This milestone has passed, setting to default so it'll show up in appropriate queries
Target Milestone: M17 → ---
Closing old bugs.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
QA Contact: lchiang → stephend
I tried this with Windows 2000 under Purify and didn't see any RDF stacks (we have plenty of small ACL/IMAP leaks, but those are separate). Verified FIXED
Status: RESOLVED → VERIFIED
Product: MailNews → Core
*** Bug 295908 has been marked as a duplicate of this bug. ***
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.