Custom File Menu Refresh Crash

Custom File Menu Refresh Crash

robwiese149
Contributor Contributor
594 Views
1 Reply
Message 1 of 2

Custom File Menu Refresh Crash

robwiese149
Contributor
Contributor

Hey. 

 

So I'm creating a custom file menu inside maya and have successfully done this reading a yaml file to loop through and create all the menus/submenus/menuItems. A python file/function is called within the userSetup.py file just fine and the menu shows up and is working when launching maya. However, I have one menuItem button I want to use to refresh this custom menu if I update the yaml file with Maya already open.

 

I created a python function to do just this that essentially will delete the custom menu and all items underneath it and then run the original createMenu function to re-create the menu with the updated yaml file. To my surprise, when I launch the refresh menu button, it runs through the full code (all lines are executed without error) and then Maya crashes. No idea what is going on. If my code is executing all the way through with zero error, why would Maya crash afterwards?

 

I went and found Maya's crash log and here's the most recent crash log I got:

//=====================================================
Maya Crash Report
//=====================================================

Exception code: C0000005: ACCESS_VIOLATION - illegal read at address 0x00000028
Fault address:  59D5A46D in C:\Program Files\Autodesk\Maya2019\bin\Qt5Widgets.dll
0001:0006946D Logical offset (see .map file for location)

Call stack:
	Module:  C:\Program Files\Autodesk\Maya2019\bin\Qt5Widgets.dll (-exported-)
	Location: Qt5Widgets.dllQApplicationPrivate::notify_helper + 112 bytes
	Decl: public: bool __cdecl QApplicationPrivate::notify_helper(class QObject * __ptr64,class QEvent * __ptr64) __ptr64
	Module:  C:\Program Files\Autodesk\Maya2019\bin\Qt5Widgets.dll (-exported-)
	Location: Qt5Widgets.dllQApplication::notify + 1B27 bytes
	Decl: public: virtual bool __cdecl QApplication::notify(class QObject * __ptr64,class QEvent * __ptr64) __ptr64
	Module:  C:\Program Files\Autodesk\Maya2019\bin\ExtensionLayer.dll (-exported-)
	Location: ExtensionLayer.dllTwindowManager::windowPreferencesAreEnabled + 3CD bytes
	Decl: public: bool __cdecl TwindowManager::windowPreferencesAreEnabled(void)const __ptr64
	Module:  C:\Program Files\Autodesk\Maya2019\bin\Qt5Core.dll (-exported-)
	Location: Qt5Core.dllQCoreApplication::notifyInternal2 + B9 bytes
	Decl: private: static bool __cdecl QCoreApplication::notifyInternal2(class QObject * __ptr64,class QEvent * __ptr64)
	Module:  C:\Program Files\Autodesk\Maya2019\bin\Qt5Gui.dll (-exported-)
	Location: Qt5Gui.dllQGuiApplicationPrivate::processMouseEvent + 7F3 bytes
	Decl: public: static void __cdecl QGuiApplicationPrivate::processMouseEvent(class QWindowSystemInterfacePrivate::MouseEvent * __ptr64)
	Module:  C:\Program Files\Autodesk\Maya2019\bin\Qt5Gui.dll (-exported-)
	Location: Qt5Gui.dllQWindowSystemInterface::sendWindowSystemEvents + 9B bytes
	Decl: public: static bool __cdecl QWindowSystemInterface::sendWindowSystemEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>)
	Module:  C:\Program Files\Autodesk\Maya2019\bin\Qt5Core.dll (-exported-)
	Location: Qt5Core.dllQEventDispatcherWin32::processEvents + DA8 bytes
	Decl: public: virtual bool __cdecl QEventDispatcherWin32::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>) __ptr64
	Module:  C:\Windows\System32\USER32.dll (-exported-)
	Location: USER32.dllCallWindowProcW + 3BD bytes
	Module:  C:\Windows\System32\USER32.dll (-exported-)
	Location: USER32.dllDispatchMessageW + 1F2 bytes
	Module:  C:\Program Files\Autodesk\Maya2019\bin\Qt5Core.dll (-exported-)
	Location: Qt5Core.dllQEventDispatcherWin32::processEvents + 4D6 bytes
	Decl: public: virtual bool __cdecl QEventDispatcherWin32::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>) __ptr64
	Module:  C:\Program Files\Autodesk\Maya2019\plugins\platforms\qwindows.dll (-exported-)
	Location: qwindows.dllqt_plugin_query_metadata + 24B9 bytes
	Module:  C:\Program Files\Autodesk\Maya2019\bin\Qt5Core.dll (-exported-)
	Location: Qt5Core.dllQEventLoop::exec + 1B3 bytes
	Decl: public: int __cdecl QEventLoop::exec(class QFlags<enum QEventLoop::ProcessEventsFlag>) __ptr64
	Module:  C:\Program Files\Autodesk\Maya2019\bin\Qt5Core.dll (-exported-)
	Location: Qt5Core.dllQCoreApplication::exec + 147 bytes
	Decl: public: static int __cdecl QCoreApplication::exec(void)
	Module:  C:\Program Files\Autodesk\Maya2019\bin\ExtensionLayer.dll (-exported-)
	Location: ExtensionLayer.dllTapplication::start + CE bytes
	Decl: public: void __cdecl Tapplication::start(void) __ptr64
	Module:  C:\Program Files\Autodesk\Maya2019\bin\maya.exe (-exported-)
	Location: maya.exe<7FF7C7F277A8>
	Decl:  ?? 
	Module:  C:\Program Files\Autodesk\Maya2019\bin\maya.exe (-exported-)
	Location: maya.exeTiteratorWrapperFwd<TscenePartitions::ConstIteratorDescriptor,TiteratorWrapper<TscenePartitions::ConstIteratorDescriptor> >::operator++ + F504 bytes
	Decl: public: class TiteratorWrapper<struct TscenePartitions::ConstIteratorDescriptor> & __ptr64 __cdecl TiteratorWrapperFwd<struct TscenePartitions::ConstIteratorDescriptor,class TiteratorWrapper<struct TscenePartitions::ConstIteratorDescriptor> >::operator++
	Module:  C:\Program Files\Autodesk\Maya2019\bin\maya.exe (-exported-)
	Location: maya.exeTiteratorWrapperFwd<TscenePartitions::ConstIteratorDescriptor,TiteratorWrapper<TscenePartitions::ConstIteratorDescriptor> >::operator++ + E47F bytes
	Decl: public: class TiteratorWrapper<struct TscenePartitions::ConstIteratorDescriptor> & __ptr64 __cdecl TiteratorWrapperFwd<struct TscenePartitions::ConstIteratorDescriptor,class TiteratorWrapper<struct TscenePartitions::ConstIteratorDescriptor> >::operator++
	Module:  C:\Windows\System32\KERNEL32.DLL (-exported-)
	Location: KERNEL32.DLLBaseThreadInitThunk + 14 bytes
	Module:  C:\Windows\SYSTEM32\ntdll.dll (-exported-)
	Location: ntdll.dllRtlUserThreadStart + 21 bytes
End of stack

//crash log file name = C:\Users\rwie\AppData\Local\Temp\MayaCrashLog200221.1645.log
//version     = 19.2.0.8774
//cut            = Tue 07/02/2019, 201907021628
//current scene = unDisclosed
//command history (most recent last):
//====================================================
//last tool: renderWindowSelectContextItem
//====================================================
//panel with focus: graphEditor1
//visible panels:
// modelPanel4 graphEditor1 scriptEditorPanel1 
//====================================================
//Memory usage:
// 45642.410 Mb	Free Memory
// 46479.031 Mb	Free Swap
// 1481.117 Mb	Current

//====================================================

If anybody has a specific way to refresh a custom maya file menu, I would much appreciate seeing how that's done without crashing maya.

 

Thanks for the help!

0 Likes
595 Views
1 Reply
Reply (1)
Message 2 of 2

lee.dunham
Collaborator
Collaborator

I can only suspect your code is doing something it shouldn't, probably when you delete (depending on how you're doing it).

The crash is Qt based, so nothing related to reading the file.

If you can post the code or a snippet to reproduce it?

0 Likes