Last Comment Bug 524673 - crash [@ memmove | nsTArray_base::ShiftData(unsigned int, unsigned int, unsigned int, unsigned int)]
: crash [@ memmove | nsTArray_base::ShiftData(unsigned int, unsigned int, unsig...
: crash, fixed-seamonkey2.0.1
Product: MailNews Core
Classification: Components
Component: Backend (show other bugs)
: 1.9.1 Branch
: x86 Windows XP
: -- critical (vote)
: Thunderbird 3.0rc1
Assigned To: David :Bienvenu
Depends on:
  Show dependency treegraph
Reported: 2009-10-27 07:17 PDT by Ludovic Hirlimann [:Usul]
Modified: 2011-06-09 14:58 PDT (History)
4 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---

proposed fix (7.99 KB, patch)
2009-10-27 20:37 PDT, David :Bienvenu
standard8: review+
standard8: superreview+
standard8: approval‑thunderbird3+
Details | Diff | Review

Description Ludovic Hirlimann [:Usul] 2009-10-27 07:17:57 PDT

1. TB safe-mode and view "All Folder";
2. select a folder (e.g. I select my bugzilla folder on Local Folders);
3. on context menu of this folder select "Search";
4. fill one criteria (in my case I create a new "custom headers"
X-Bugzilla-Status and set is as RESOLVED);
5. click on search button on search window;
6. on results section click to "select column to display" and add "Thread";
7. on result section click on Thread column for sort by Thread: TB crash.
Comment 1 David :Bienvenu 2009-10-27 10:04:28 PDT
This crash has to do very specifically with adding the thread colun to the search window and then clicking on the thread column - we try to do a sort by an invalid column, and things spiral out of control a bit.
Comment 2 David :Bienvenu 2009-10-27 20:37:07 PDT
Created attachment 408773 [details] [diff] [review]
proposed fix

this patch does two things:

move OpenWithHdrs to nsMsgSearchDBView from nsMsgXFVirtualFolderDBView, so that switching to threaded mode doesn't turn on the grouping flag, which nsMsgGroupView does - basically, nsMsgSearchDBView needs to override OpenWithHdrs just like nsMsgXFVirtualFolderDBView did, and since nsMsgXFVirtualFolderDBView inherits from nsMsgSearchDBView, moving the override is the right thing to do.

Make sure we're not sorted byNone if threading is turned on in search views - it leads to the errors I described earlier.
Comment 3 David :Bienvenu 2009-10-30 09:37:17 PDT
pinging for r/sr - this fixes an easy to reproduce crash...
Comment 4 David :Bienvenu 2009-10-30 14:36:58 PDT
fix pushed for 3.0 rc1 and trunk.
Comment 5 Wayne Mery (:wsmwk, NI for questions) 2009-12-28 07:23:40 PST
crash is not seen in v3.0.0 (but is in 3.0b4) so I would say this crash is
indeed gone
Comment 6 Wayne Mery (:wsmwk, NI for questions) 2010-03-29 08:00:58 PDT
Ludo, was nsMsgXFVirtualFolderDBView  the second frame on the stack for this crash?

There are several crash signatures whose stacks contain nsMsgXFVirtualFolderDBView - but without investing a lot more time I don't know that any of these are regressions or in any way connected.

 memmove | nsTArray_base::ShiftData(unsigned int, unsigned int, unsigned int, unsigned int)  bp-7a5c0163-64b5-4027-95a5-4c4452100329
nsMsgXFVirtualFolderDBView::CopyDBView(nsMsgDBView*, nsIMessenger*, nsIMsgWindow*, nsIMsgDBViewCommandUpdater*) bp-4195ffc4-228e-44ae-99f5-e28192100329
nsMsgXFViewThread::AddHdr(nsIMsgDBHdr*, int, unsigned int&, nsIMsgDBHdr**)
nsMsgDBView::FnSortIdKeyPtr(void const*, void const*, void*)
nsMsgDatabase::GetSearchResultsTable(char const*, int, nsIMdbTable**)
arena_dalloc_small | arena_dalloc | free | nsMsgHdr::`vector deleting destructor''(unsigned int)
Comment 7 Ludovic Hirlimann [:Usul] 2010-03-29 08:06:49 PDT
Comment 8 Wayne Mery (:wsmwk, NI for questions) 2010-03-29 09:42:31 PDT
I can't find ludo's crash** with  nsMsgXFVirtualFolderDBView on the stack so I'm hesitant about adding  - [@ nsMsgXFVirtualFolderDBView] to the summary

** yields only two crashes bp-31914940-f80f-4a9e-a465-262e52091026 and a eudora crash. And I can't find the crash by time of day because of bug 555740 - [socorro] filter time spec doesn't work with date - means

Note You need to log in before you can comment on or make changes to this bug.