Closed Bug 52190 Opened 24 years ago Closed 24 years ago

Creating a message filter with non-ASCII filter name causes browser crash

Categories

(MailNews Core :: Internationalization, defect, P2)

All
Windows 95
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: ji, Assigned: bugzilla)

References

Details

(Keywords: crash, regression, Whiteboard: [nsbeta3+][PDTP2])

******observed with win32 and linux 2000091108 build**** If you create a message filer with a non-ASCII filter name, the appliaction crashes. Steps to reproduce: 1. Launch Mail, 2. Select Edit | Message Filters... 3. Click on New button. It doesn't make difference if you choose a IMAP account or POP account. 4. Enter some non-ASCII characters into Filter Name: field. And enter something into criteria field, select a folder from the folder drop-down menu and click on OK button. The application will crash. Below is the call stack: Incident ID: 17242046 Trigger Type: Program Crash Trigger Reason: SIGSEGV: Segmentation Fault: (signal 11) Call Stack: (Signature = nsMsgFilterDelegateFactory::getFilterDelegate() 4c5c0796) nsMsgFilterDelegateFactory::getFilterDelegate() nsMsgFilterDelegateFactory::CreateDelegate() nsRDFResource::GetDelegate() nsMsgFilterDataSource::GetTargets() CompositeAssertionEnumeratorImpl::GetEnumerator() CompositeEnumeratorImpl::HasMoreElements() FilterInstantiations() TestNode::Propogate() TestNode::Propogate() RootNode::Propogate() nsXULTemplateBuilder::CreateContainerContents() nsXULTemplateBuilder::CreateTemplateAndContainerContents() nsXULTemplateBuilder::CreateContents() nsXULDocument::CreateContents() EnsureContentsGenerated() ChildCount() nsXULTreeOuterGroupFrame::ComputeTotalRowCount() nsXULTreeOuterGroupFrame::ComputeTotalRowCount() nsTreeLayout::GetPrefSize() nsContainerBox::GetPrefSize() nsBoxFrame::GetPrefSize() nsXULTreeOuterGroupFrame::GetPrefSize() nsScrollBoxFrame::GetPrefSize() nsGfxScrollFrame::GetPrefSize() nsSprocketLayout::PopulateBoxSizes() nsSprocketLayout::Layout() nsContainerBox::DoLayout() nsBoxFrame::DoLayout() nsBox::Layout() nsStackLayout::Layout() nsContainerBox::DoLayout() nsBoxFrame::DoLayout() nsXULTreeFrame::DoLayout() nsBox::Layout() nsSprocketLayout::Layout() nsContainerBox::DoLayout() nsBoxFrame::DoLayout() nsBox::Layout() nsSprocketLayout::Layout() nsContainerBox::DoLayout() nsBoxFrame::DoLayout() nsBox::Layout() nsSprocketLayout::Layout() nsContainerBox::DoLayout() nsBoxFrame::DoLayout() nsBox::Layout() nsStackLayout::Layout() nsContainerBox::DoLayout() nsBoxFrame::DoLayout() nsBox::Layout() nsSprocketLayout::Layout() nsContainerBox::DoLayout() nsBoxFrame::DoLayout() nsBox::Layout() nsStackLayout::Layout() nsContainerBox::DoLayout() nsBoxFrame::DoLayout() nsBox::Layout() nsBoxFrame::Reflow() nsRootBoxFrame::Reflow() nsContainerFrame::ReflowChild() ViewportFrame::Reflow() nsHTMLReflowCommand::Dispatch() PresShell::ProcessReflowCommands() PresShell::FlushPendingNotifications() nsCSSFrameConstructor::ContentAppended() StyleSetImpl::ContentAppended() PresShell::ContentAppended() nsXULDocument::ContentAppended() nsXULTemplateBuilder::RebuildContainerInternal() nsXULTemplateBuilder::RebuildContainer() nsXULDocument::RebuildWidgetItem() nsXULDocument::AttributeChanged() nsXULElement::SetAttribute() nsXULElement::SetAttribute() nsXULTreeElement::SetAttribute() ElementSetAttribute() libmozjs.so + 0x2b239 (0x4011d239) libmozjs.so + 0x31e92 (0x40123e92) libmozjs.so + 0x2b281 (0x4011d281) libmozjs.so + 0x2b470 (0x4011d470) libmozjs.so + 0x11fef (0x40103fef) nsJSContext::CallEventHandler() nsJSEventListener::HandleEvent() nsEventListenerManager::HandleEventSubType() nsEventListenerManager::HandleEvent() nsXULElement::HandleDOMEvent() PresShell::HandleEventInternal() PresShell::HandleEventWithTarget() nsEventStateManager::CheckForAndDispatchClick() nsEventStateManager::PostHandleEvent() PresShell::HandleEventInternal() PresShell::HandleEvent() nsView::HandleEvent() nsViewManager2::DispatchEvent() HandleEvent() nsWidget::DispatchEvent() nsWidget::DispatchWindowEvent() nsWidget::DispatchMouseEvent() nsWidget::OnButtonReleaseSignal()
Nominating for nsbeta3, It used to work on PR2.
Keywords: nsbeta3
Reassign to alecf. I used WinNT US, I created a filter name "santé" and got the same crash.
Assignee: nhotta → alecf
adding more keywords
Keywords: crash, regression
QA contact to ji.
QA Contact: momoi → ji
marking nsbeta3+ per mail triage.
Priority: P3 → P2
Whiteboard: [nsbeta3+]
PDT agrees P2
Whiteboard: [nsbeta3+] → [nsbeta3+][PDTP2]
I'll take a look at it once filters are back running...
Assignee: alecf → ducarroz
..accepting
Status: NEW → ASSIGNED
Target Milestone: --- → M18
so it turns out this is really a XUL/template builder bug that was exposed by a change to GetUnicodeResource(). See bug 52165 for details.
Event if it's really a XUL/template builder bug, I thing we should protect ourself agains failure in nsMsgFilterDeleteFactory::getFilterDelegate by testing the result before trying to addref it. Should I mark this bug as a duplicate of 52165?
yeah, ok...why don't you make it an NS_IF_ADDREF, r=alecf.. that way we've fixed the crash, like you say. Then we'll handle the broken i18n problem in the other bug.
sound the right thing to do. BTW, I'll put an NS_IF_ADDREF in the function getFIlterListDelegate as well, just in case where GetFilterList would return a null result for a misterious reason...
Fixed and checked in
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Verified with win32 2000092005 and linux 2000092008 build. It's fixed.
Status: RESOLVED → VERIFIED
*** Bug 53547 has been marked as a duplicate of this bug. ***
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.