o3de icon indicating copy to clipboard operation
o3de copied to clipboard

Bug Report - Asset Browser using wrong model

Open AMZN-alexpete opened this issue 1 year ago • 0 comments

Describe the bug QSortFilterProxyModel asserts when text is entered in the filter for AssetBrowser when running the debug build of the engine

ASSERT: "!"QSortFilterProxyModel: index from wrong model passed to mapFromSource"" in file D:\github\3p-package-source\package-system\Qt\temp\src\qtbase\src\corelib\itemmodels\qsortfilterproxymodel.cpp, line 560

Call stack

>	EditorLib.dll!AzToolsFramework::AssetBrowser::AssetBrowserTableView::HandleTreeViewSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected) Line 534	C++
 	EditorLib.dll!QtPrivate::FunctorCall<QtPrivate::IndexesList<0,1>,QtPrivate::List<QItemSelection const &,QItemSelection const &>,void,void (__cdecl AzToolsFramework::AssetBrowser::AssetBrowserTableView::*)(QItemSelection const &,QItemSelection const &)>::call(void(AzToolsFramework::AssetBrowser::AssetBrowserTableView::*)(const QItemSelection &, const QItemSelection &) f, AzToolsFramework::AssetBrowser::AssetBrowserTableView * o, void * * arg) Line 152	C++
 	EditorLib.dll!QtPrivate::FunctionPointer<void (__cdecl AzToolsFramework::AssetBrowser::AssetBrowserTableView::*)(QItemSelection const &,QItemSelection const &)>::call<QtPrivate::List<QItemSelection const &,QItemSelection const &>,void>(void(AzToolsFramework::AssetBrowser::AssetBrowserTableView::*)(const QItemSelection &, const QItemSelection &) f, AzToolsFramework::AssetBrowser::AssetBrowserTableView * o, void * * arg) Line 186	C++
 	EditorLib.dll!QtPrivate::QSlotObject<void (__cdecl AzToolsFramework::AssetBrowser::AssetBrowserTableView::*)(QItemSelection const &,QItemSelection const &),QtPrivate::List<QItemSelection const &,QItemSelection const &>,void>::impl(int which, QtPrivate::QSlotObjectBase * this_, QObject * r, void * * a, bool * ret) Line 419	C++
 	Qt5Cored.dll!00007ffcbb021902()	Unknown
 	Qt5Cored.dll!00007ffcbb07b7d8()	Unknown
 	Qt5Cored.dll!00007ffcbb067e77()	Unknown
 	EditorLib.dll!AzToolsFramework::AssetBrowser::AssetBrowserTreeView::selectionChangedSignal(const QItemSelection & _t1, const QItemSelection & _t2) Line 199	C++
 	EditorLib.dll!AzToolsFramework::AssetBrowser::AssetBrowserTreeView::selectionChanged(const QItemSelection & selected, const QItemSelection & deselected) Line 597	C++
 	EditorLib.dll!AzToolsFramework::AssetBrowser::AssetBrowserTreeView::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) Line 117	C++
 	Qt5Cored.dll!00007ffcbb07b8ef()	Unknown
 	Qt5Cored.dll!00007ffcbb067e77()	Unknown
 	Qt5Cored.dll!00007ffcbaf7e3e2()	Unknown
 	Qt5Cored.dll!00007ffcbaf7e6d4()	Unknown
 	Qt5Cored.dll!00007ffcbaf7e0f5()	Unknown
 	Qt5Cored.dll!00007ffcbaf7dc6c()	Unknown
 	EditorLib.dll!AzAssetBrowserWindow::UpdateWidgetAfterFilter() Line 679	C++
 	EditorLib.dll!QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,void (__cdecl AzAssetBrowserWindow::*)(void)>::call(void(AzAssetBrowserWindow::*)() f, AzAssetBrowserWindow * o, void * * arg) Line 152	C++
 	EditorLib.dll!QtPrivate::FunctionPointer<void (__cdecl AzAssetBrowserWindow::*)(void)>::call<QtPrivate::List<>,void>(void(AzAssetBrowserWindow::*)() f, AzAssetBrowserWindow * o, void * * arg) Line 186	C++
 	EditorLib.dll!QtPrivate::QSlotObject<void (__cdecl AzAssetBrowserWindow::*)(void),QtPrivate::List<>,void>::impl(int which, QtPrivate::QSlotObjectBase * this_, QObject * r, void * * a, bool * ret) Line 419	C++
 	Qt5Cored.dll!00007ffcbb021902()	Unknown
 	Qt5Cored.dll!00007ffcbb07b7d8()	Unknown
 	Qt5Cored.dll!00007ffcbb067e77()	Unknown
 	EditorLib.dll!AzToolsFramework::AssetBrowser::AssetBrowserFilterModel::filterChanged() Line 143	C++
 	EditorLib.dll!AzToolsFramework::AssetBrowser::AssetBrowserFilterModel::FilterUpdatedSlotImmediate() Line 229	C++
 	EditorLib.dll!AzToolsFramework::AssetBrowser::AssetBrowserFilterModel::filterUpdatedSlot::__l5::<lambda_1>::operator()() Line 241	C++
 	EditorLib.dll!QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,`AzToolsFramework::AssetBrowser::AssetBrowserFilterModel::filterUpdatedSlot'::`5'::<lambda_1>>::call(AzToolsFramework::AssetBrowser::AssetBrowserFilterModel::filterUpdatedSlot::__l5::<lambda_1> & f, void * * arg) Line 146	C++
 	EditorLib.dll!QtPrivate::Functor<`AzToolsFramework::AssetBrowser::AssetBrowserFilterModel::filterUpdatedSlot'::`5'::<lambda_1>,0>::call<QtPrivate::List<>,void>(AzToolsFramework::AssetBrowser::AssetBrowserFilterModel::filterUpdatedSlot::__l5::<lambda_1> & f, void * __formal, void * * arg) Line 257	C++
 	EditorLib.dll!QtPrivate::QFunctorSlotObject<`AzToolsFramework::AssetBrowser::AssetBrowserFilterModel::filterUpdatedSlot'::`5'::<lambda_1>,0,QtPrivate::List<>,void>::impl(int which, QtPrivate::QSlotObjectBase * this_, QObject * r, void * * a, bool * ret) Line 449	C++
 	Qt5Cored.dll!00007ffcbb021902()	Unknown
 	Qt5Cored.dll!00007ffcbb072920()	Unknown
 	Qt5Cored.dll!00007ffcbb0697dd()	Unknown
 	Qt5Widgetsd.dll!00007ffcb9720247()	Unknown
 	Qt5Widgetsd.dll!00007ffcb971a4c8()	Unknown
 	Qt5Cored.dll!00007ffcbb0077cf()	Unknown
 	Qt5Cored.dll!00007ffcbb0058b2()	Unknown
 	Qt5Cored.dll!00007ffcbb0096d3()	Unknown
 	Qt5Cored.dll!00007ffcbb0de932()	Unknown
 	qwindowsd.dll!00007ffcbe9c5c14()	Unknown
 	Qt5Cored.dll!00007ffcbb0dc952()	Unknown
 	qwindowsd.dll!00007ffcbe9c5bd4()	Unknown
 	Qt5Cored.dll!00007ffcbb00204b()	Unknown
 	Qt5Cored.dll!00007ffcbb0022b4()	Unknown
 	Qt5Cored.dll!00007ffcbb005639()	Unknown
 	Qt5Guid.dll!00007ffcb232a3c8()	Unknown
 	Qt5Widgetsd.dll!00007ffcb9719f8a()	Unknown
 	EditorLib.dll!CryEditMain(int argc, char * * argv) Line 3817	C++
 	Editor.exe!AZStd::Internal::INVOKE<int (__cdecl*&)(int,char * * const),int &,char * * &>(int(*)(int, char * *) & f, int & <args_0>, char * * & <args_1>) Line 209	C++
 	Editor.exe!AZStd::invoke<int (__cdecl*&)(int,char * * const),int &,char * * &>(int(*)(int, char * *) & f, int & <args_0>, char * * & <args_1>) Line 55	C++
 	Editor.exe!main(int argc, char * * argv) Line 31	C++
 	Editor.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 97	C++

Assets required n/a

Steps to reproduce Steps to reproduce the behavior:

  1. Start the debug build of the Editor
  2. Type "plane" in the AssetBrowser and press enter
  3. See error

Expected behavior AssetBrowser filters successfully

Actual behavior Assert is raised

ASSERT: "!"QSortFilterProxyModel: index from wrong model passed to mapFromSource"" in file D:\github\3p-package-source\package-system\Qt\temp\src\qtbase\src\corelib\itemmodels\qsortfilterproxymodel.cpp, line 560

Found in Branch development

Commit ID from o3de/o3de Repository

Desktop/Device (please complete the following information):

  • Device: PC
  • OS: Windows
  • Version10

AMZN-alexpete avatar Feb 14 '24 21:02 AMZN-alexpete