Deleting last messages causes PreCondition error

VERIFIED FIXED in M10

Status

()

Core
XUL
P3
normal
VERIFIED FIXED
19 years ago
19 years ago

People

(Reporter: scottputterman, Assigned: David Hyatt)

Tracking

Trunk
x86
Windows NT
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

19 years ago
When I delete the last message in my trash in Messenger, I get the following
nsdebug precondition which may lead to a crash.

  NS_PRECONDITION (0<=aRowIndex && aRowIndex<GetRowCount(), "bad row index
arg");


 Here's the stack:

nsDebug::PreCondition(const char * 0x01b1bb5c, const char * 0x01b1bb34, const
char * 0x01b1baf8, int 604) line 143 + 13 bytes
nsTableFrame::GetEffectiveRowSpan(int 1, nsTableCellFrame * 0x06c37f00) line 604
+ 51 bytes
nsTableRowFrame::PlaceChild(nsIPresContext & {...}, RowReflowState & {...},
nsIFrame * 0x06c37f00, const nsRect & {x=0 y=0 width=4470 height=270}, nsSize *
0x00000000 {width=??? height=???}, nsSize * 0x00000000 {width=??? height=???})
line 519 + 31 bytes
nsTableRowFrame::ResizeReflow(nsTableRowFrame * const 0x06c36060, nsIPresContext
& {...}, nsHTMLReflowMetrics & {...}, RowReflowState & {...}, unsigned int & 0)
line 753
nsTableRowFrame::Reflow(nsTableRowFrame * const 0x06c36064, nsIPresContext &
{...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 1502 + 35 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x06c36060, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 392 + 28 bytes
nsTableRowGroupFrame::ReflowMappedChildren(nsTableRowGroupFrame * const
0x06c360f0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0, nsTableRowFrame * 0x00000000,
nsReflowReason eReflowReason_Resize, int 1) line 445 + 34 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x06c360f4,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 1018 + 39 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x06c360f0, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 392 + 28 bytes
nsTableRowGroupFrame::ReflowMappedChildren(nsTableRowGroupFrame * const
0x06b3fb20, nsIPresContext & {...}, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0, nsTableRowFrame * 0x00000000,
nsReflowReason eReflowReason_Resize, int 1) line 445 + 34 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x06b3fb24,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 1018 + 39 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x06b3fb20, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 392 + 28 bytes
nsTableFrame::ReflowMappedChildren(nsTableFrame * const 0x05989c10,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, InnerTableReflowState &
{...}, unsigned int & 0) line 3810 + 31 bytes
nsTableFrame::ResizeReflowPass2(nsTableFrame * const 0x05989c10, nsIPresContext
& {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 2880 + 31 bytes
nsTableFrame::Reflow(nsTableFrame * const 0x05989c14, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 2583 + 38 bytes
nsTreeFrame::Reflow(nsTreeFrame * const 0x05989c14, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 286
nsContainerFrame::ReflowChild(nsIFrame * 0x05989c10, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 392 + 28 bytes
nsTableOuterFrame::IR_InnerTableReflow(nsTableOuterFrame * const 0x05989d20,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState &
{...}, unsigned int & 0) line 560 + 34 bytes
nsTableOuterFrame::IR_TargetIsInnerTableFrame(nsTableOuterFrame * const
0x05989d20, nsIPresContext & {...}, nsHTMLReflowMetrics & {...},
OuterTableReflowState & {...}, unsigned int & 0) line 352 + 31 bytes
nsTableOuterFrame::IR_TargetIsChild(nsTableOuterFrame * const 0x05989d20,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState &
{...}, unsigned int & 0, nsIFrame * 0x05989c10) line 324 + 31 bytes
nsTableOuterFrame::IncrementalReflow(nsTableOuterFrame * const 0x05989d20,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState &
{...}, unsigned int & 0) line 309 + 35 bytes
nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x05989d24, nsIPresContext &
{...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 957 + 35 bytes
nsBlockReflowContext::ReflowBlock(nsIFrame * 0x05989d20, const nsRect & {x=0 y=0
width=9510 height=1073741824}, int 1, int 0, int 1, nsMargin & {top=0 right=0
bottom=0 left=0}, unsigned int & 0) line 227 + 42 bytes
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox *
0x0599dda0, int * 0x0012b7a0) line 2493 + 56 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x0599dda0, int
* 0x0012b7a0) line 1983 + 20 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 1793 + 20 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x0598d374, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 1199 + 18 bytes
nsAreaFrame::Reflow(nsAreaFrame * const 0x0598d374, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 283 + 25 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x0598d370, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 392 + 28 bytes
RootFrame::Reflow(RootFrame * const 0x0598e2b4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 242
nsContainerFrame::ReflowChild(nsIFrame * 0x0598e2b0, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 392 + 28 bytes
ViewportFrame::Reflow(ViewportFrame * const 0x0598a034, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 438
nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x06af4850,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsSize & {width=9510
height=4260}, nsIRenderingContext & {...}) line 169
PresShell::ProcessReflowCommands(PresShell * const 0x04e9b2f0) line 1245
PresShell::ExitReflowLock(PresShell * const 0x04e9b2f0) line 664
PresShell::ContentRemoved(PresShell * const 0x04e9b2f8, nsIDocument *
0x04e715b0, nsIContent * 0x06b3e480, nsIContent * 0x06bd3ea0, int 51) line 1698
XULDocumentImpl::ContentRemoved(XULDocumentImpl * const 0x04e715b0, nsIContent *
0x06b3e480, nsIContent * 0x06bd3ea0, int 51) line 1969
RDFElementImpl::RemoveChildAt(RDFElementImpl * const 0x06b3e480, int 51, int 1)
line 1689
RDFTreeBuilderImpl::RemoveWidgetItem(nsIContent * 0x06b3e480, nsIRDFResource *
0x04f7df40, nsIRDFResource * 0x0620d640) line 1331 + 18 bytes
RDFGenericBuilderImpl::OnUnassert(RDFGenericBuilderImpl * const 0x0598fca4,
nsIRDFResource * 0x051322c0, nsIRDFResource * 0x04f7df40, nsIRDFNode *
0x0620d640) line 1560 + 37 bytes
CompositeDataSourceImpl::OnUnassert(CompositeDataSourceImpl * const 0x0598ea04,
nsIRDFResource * 0x051322c0, nsIRDFResource * 0x04f7df40, nsIRDFNode *
0x0620d640) line 1313
nsMsgRDFDataSource::unassertEnumFunc(nsISupports * 0x0598ea04, void *
0x0012df5c) line 317
nsSupportsArray::EnumerateForwards(nsSupportsArray * const 0x04f7d050, int
(nsISupports *, void *)* 0x01519670
nsMsgRDFDataSource::unassertEnumFunc(nsISupports *, void *), void * 0x0012df5c)
line 346 + 20 bytes
nsMsgRDFDataSource::NotifyObservers(nsIRDFResource * 0x051322c0, nsIRDFResource
* 0x04f7df40, nsIRDFNode * 0x0620d640, int 0) line 293
nsMsgFolderDataSource::OnItemRemoved(nsMsgFolderDataSource * const 0x04f7df94,
nsIFolder * 0x051322cc, nsISupports * 0x0620d640) line 589
nsMsgMailSession::NotifyFolderItemDeleted(nsMsgMailSession * const 0x04aefc60,
nsIFolder * 0x051322cc, nsISupports * 0x0620d640) line 183
nsMsgFolder::NotifyItemDeleted(nsISupports * 0x0620d640) line 1475
nsMsgDBFolder::OnKeyDeleted(nsMsgDBFolder * const 0x05132328, unsigned int
144882, int 0, nsIDBChangeListener * 0x00000000) line 273
nsMsgDatabase::NotifyKeyDeletedAll(nsMsgDatabase * const 0x06a3bcd0, unsigned
int 144882, int 0, nsIDBChangeListener * 0x00000000) line 151 + 24 bytes
nsMsgDatabase::DeleteHeader(nsMsgDatabase * const 0x06a3bcd0, nsIMsgDBHdr *
0x0620e030, nsIDBChangeListener * 0x00000000, int 1, int 1) line 979
nsMsgLocalMailFolder::DeleteMessage(nsIMessage * 0x0620d64c,
nsITransactionManager * 0x04d27de0, int 0) line 1143 + 44 bytes
nsMsgLocalMailFolder::DeleteMessages(nsMsgLocalMailFolder * const 0x051322cc,
nsISupportsArray * 0x06af3c80, nsITransactionManager * 0x04d27de0, int 0) line
1108
nsMsgFolderDataSource::DoDeleteFromFolder(nsIMsgFolder * 0x051322cc,
nsISupportsArray * 0x06af3d20, nsITransactionManager * 0x04d27de0) line 951 + 30
bytes
nsMsgFolderDataSource::DoCommand(nsMsgFolderDataSource * const 0x04f7df80,
nsISupportsArray * 0x06af3cd0, nsIRDFResource * 0x04f7d6e0, nsISupportsArray *
0x06af3d20) line 513 + 30 bytes
CompositeDataSourceImpl::DoCommand(CompositeDataSourceImpl * const 0x0598ea00,
nsISupportsArray * 0x06af3cd0, nsIRDFResource * 0x04f7d6e0, nsISupportsArray *
0x06af3d20) line 1206 + 24 bytes
nsMessenger::DoCommand(nsIRDFCompositeDataSource * 0x0598ea00, char *
0x01526104, nsISupportsArray * 0x06af3cd0, nsISupportsArray * 0x06af3d20) line
456 + 29 bytes
nsMessenger::DeleteMessages(nsMessenger * const 0x04d26310, nsIDOMXULTreeElement
* 0x0598bfe8, nsIDOMXULElement * 0x06b3e470, nsIDOMNodeList * 0x06af2390) line
496 + 40 bytes
XPTC_InvokeByIndex(nsISupports * 0x04d26310, unsigned int 8, unsigned int 3,
nsXPTCVariant * 0x0012e3e4) line 135
nsXPCWrappedNativeClass::CallWrappedMethod(JSContext * 0x04c0f9d0,
nsXPCWrappedNative * 0x04d28950, const XPCNativeMemberDescriptor * 0x04d28d18,
nsXPCWrappedNativeClass::CallMode CALL_METHOD, unsigned int 3, long *
0x012abe1c, long * 0x0012e5ec) line 511 + 44 bytes
WrappedNative_CallMethod(JSContext * 0x04c0f9d0, JSObject * 0x01280078, unsigned
int 3, long * 0x012abe1c, long * 0x0012e5ec) line 128
js_Invoke(JSContext * 0x04c0f9d0, unsigned int 3, int 0) line 655 + 26 bytes
js_Interpret(JSContext * 0x04c0f9d0, long * 0x0012ee18) line 2217 + 15 bytes
js_Invoke(JSContext * 0x04c0f9d0, unsigned int 0, int 0) line 671 + 13 bytes
js_Interpret(JSContext * 0x04c0f9d0, long * 0x0012f600) line 2217 + 15 bytes
js_Invoke(JSContext * 0x04c0f9d0, unsigned int 1, int 0) line 671 + 13 bytes
js_InternalCall(JSContext * 0x04c0f9d0, JSObject * 0x01280408, long 19399696,
unsigned int 1, long * 0x0012f744, long * 0x0012f74c) line 749 + 15 bytes
JS_CallFunctionValue(JSContext * 0x04c0f9d0, JSObject * 0x01280408, long
19399696, unsigned int 1, long * 0x0012f744, long * 0x0012f74c) line 2631 + 29
bytes
nsJSEventListener::HandleEvent(nsIDOMEvent * 0x06af16c0) line 97 + 34 bytes
nsEventListenerManager::HandleEvent(nsIPresContext & {...}, nsEvent *
0x0012f930, nsIDOMEvent * * 0x0012f8ec, unsigned int 3, nsEventStatus &
nsEventStatus_eIgnore) line 568 + 21 bytes
RDFElementImpl::HandleDOMEvent(RDFElementImpl * const 0x04db8ad0, nsIPresContext
& {...}, nsEvent * 0x0012f930, nsIDOMEvent * * 0x0012f8ec, unsigned int 1,
nsEventStatus & nsEventStatus_eIgnore) line 2348
nsEventStateManager::CheckForAndDispatchClick(nsEventStateManager * const
0x04dbae30, nsIPresContext & {...}, nsMouseEvent * 0x0012fbb0, nsEventStatus &
nsEventStatus_eIgnore) line 632 + 31 bytes
nsEventStateManager::PostHandleEvent(nsEventStateManager * const 0x04dbae30,
nsIPresContext & {...}, nsGUIEvent * 0x0012fbb0, nsIFrame * 0x04dbc270,
nsEventStatus & nsEventStatus_eIgnore, nsIView * 0x04c7a290) line 194 + 24 bytes
PresShell::HandleEvent(PresShell * const 0x04c7be94, nsIView * 0x04c7a290,
nsGUIEvent * 0x0012fbb0, nsEventStatus & nsEventStatus_eIgnore) line 2070 + 43
bytes
nsView::HandleEvent(nsView * const 0x04c7a290, nsGUIEvent * 0x0012fbb0, unsigned
int 28, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 833
nsViewManager::DispatchEvent(nsViewManager * const 0x04c7a4b0, nsGUIEvent *
0x0012fbb0, nsEventStatus & nsEventStatus_eIgnore) line 1735
HandleEvent(nsGUIEvent * 0x0012fbb0) line 67
nsWindow::DispatchEvent(nsWindow * const 0x04c7a164, nsGUIEvent * 0x0012fbb0,
nsEventStatus & nsEventStatus_eIgnore) line 434 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012fbb0) line 455
nsWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000 {x=???
y=???}) line 3116 + 15 bytes
ChildWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000 {x=???
y=???}) line 3265
nsWindow::ProcessMessage(unsigned int 514, unsigned int 0, long 2162894, long *
0x0012fdc0) line 2395 + 24 bytes
nsWindow::WindowProc(HWND__ * 0x00230de0, unsigned int 514, unsigned int 0, long
2162894) line 497 + 27 bytes
USER32! 77e71250()
(Assignee)

Updated

19 years ago
Status: NEW → ASSIGNED
Target Milestone: M9
(Assignee)

Comment 1

19 years ago
This only happens if you're deleting the last message? Others work ok?
(Reporter)

Comment 2

19 years ago
Yes, at least as far as I could tell.  It happened to me twice deleting the last
message, but never while deleting other messages.

Comment 3

19 years ago
cc: suresh.  Suresh, when this if fixed, can you verify under a debug build?  I
believe this is for POP.
(Reporter)

Comment 4

19 years ago
I'm also now getting this when I double click on a folder that's the last folder
in the folder pane.  It happens when I'm closing the folder and its children,
not when I'm opening it.
(Reporter)

Comment 5

19 years ago
This is now happening when biff goes off.  I think it's happening in the flash
panel.  Anyway, this makes it pretty hard to have biff on.  If you get a chance,
could you take a look at it.  Nothing bad seems to be happening but I figure
there must be a precondition there for a reason.

Comment 6

19 years ago
*** Bug 9499 has been marked as a duplicate of this bug. ***
(Assignee)

Updated

19 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED
Target Milestone: M9 → M10
(Assignee)

Comment 7

19 years ago
Fixed.

Comment 8

19 years ago
marking verified due to discussion with scott.
You need to log in before you can comment on or make changes to this bug.