IndexOutOfBounds crash v7.15.33

Forum for MailWasher Pro 7 and/or older 2011/2012 versions.
BlackBird74_
Student Sheep
Posts: 19
Joined: Tue Aug 18, 2020 8:18 pm

IndexOutOfBounds crash v7.15.33

Tue Jul 15, 2025 4:24 am

Hello

I wanted to report the following error thrown using v7.15.33 when the Wash-button is clicked on a multiselection of emails.
(Core error message is shown in Dutch but it means an indexoutofbounds)

Suggestion: as a deletion action is irreversible, it would be handy to have more information in the stacktrace.
Am I now even sure that it were the flagged messages that got deleted?
What if (some) index got/gets shifted and the next message(s) gets deleted?
Upon a crash, there's no guarantee that the delete messages gets written to the Trash (which I could then undo).

14/07/2025 18:09:34 Message: De index ligt buiten de matrixgrenzen.
14/07/2025 18:09:34 Stacktrace: bij System.Data.Common.DateTimeStorage.Get(Int32 record)
bij System.Data.DataRow.get_Item(DataColumn column, DataRowVersion version)
bij System.Data.DataRowView.GetColumnValue(DataColumn column)
bij System.Data.DataColumnPropertyDescriptor.GetValue(Object component)
bij Xceed.Wpf.DataGrid.DataGridItemProperty.GetValueCore(Object component)
bij Xceed.Wpf.DataGrid.DataGridItemPropertyBase.GetValue(Object component)
bij Xceed.Wpf.DataGrid.ItemsSourceHelper.GetValueFromItemProperty(DataGridItemPropertyBase itemProperty, Object item, Object defaultValue)
bij Xceed.Wpf.DataGrid.DataGridGroupDescription.GetPropertyValue(Object item)
bij Xceed.Wpf.DataGrid.DataGridGroupDescription.GroupNameFromItem(Object item, Int32 level, CultureInfo culture)
bij Xceed.Wpf.DataGrid.DataGridCollectionViewGroup.GetGroup(RawItem rawItem, Int32 level, CultureInfo culture, ObservableCollection`1 groupByList, List`1 groupSortComparers)
bij Xceed.Wpf.DataGrid.DataGridCollectionView.GetRawItemNewGroup(RawItem rawItem)
bij Xceed.Wpf.DataGrid.DataGridCollectionView.EnsurePosition(RawItem rawItem, Int32 globalSortedIndex)
bij Xceed.Wpf.DataGrid.DataGridCollectionView.ReplaceSourceItem(Int32 oldStartIndex, IList oldItems, Int32 newStartIndex, IList newItems)
bij Xceed.Wpf.DataGrid.DataGridCollectionView.ExecuteSourceItemOperation(DeferredOperation deferredOperation, Boolean& refreshForced)
bij Xceed.Wpf.DataGrid.DeferredOperationManager.Process(Boolean processAll)
bij Xceed.Wpf.DataGrid.DeferredOperationManager.Dispatched_Process(Object e)
bij System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bij System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bij System.Windows.Threading.DispatcherOperation.InvokeImpl()
bij System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
bij MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
bij System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bij MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
bij System.Windows.Threading.DispatcherOperation.Invoke()
bij System.Windows.Threading.Dispatcher.ProcessQueue()
bij System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bij MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bij MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
bij System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bij System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bij System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
bij MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
bij MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
bij System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
bij System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
bij System.Windows.Application.RunDispatcher(Object ignore)
bij System.Windows.Application.RunInternal(Window window)
bij System.Windows.Application.Run(Window window)
bij MailWasherPro.Startup.Main(String[] args)

14/07/2025 18:09:37 Message: De index ligt buiten de matrixgrenzen.
14/07/2025 18:09:37 Stacktrace: bij MailWasherPro.Startup.Main(String[] args)
gingbat
Least Evil Firetrust Employee
Posts: 1785
Joined: Mon Jul 28, 2008 4:04 pm

Re: IndexOutOfBounds crash v7.15.33

Fri Jul 18, 2025 7:18 am

Update to 7.15.40 first:
https://download.firetrust.com/download ... _15_40.exe

If still errors, you'll need to do the below please:

Backup first:

  • Open MWPro, click File>>Export,
  • Click Browse to choose where to save the backup file,
  • Type a name for it (anything you like)
  • Click Save,
  • Then Export.
  • To restore in future, (IF required) click File>>Import, locate the file you saved and click Import.
Then uninstall, click NO when asked to save your user data, then browse to the following folders (IF there) and delete the contents:

  • C:\Program Files\Firetrust
  • C:\Program Files (x86)\FireTrust
  • C:\ProgramData\Firetrust
(The last folder is actually hidden, so you may need to enable Windows to show hidden files and folders under,
the Windows Control Panel, Folder Options>>View Tab>>Select, Show hidden files and folders.)

Reinstall MWpro.

Import your backup file.

Return to “MailWasher Pro 7”