Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PopcornFX.dll Crash on Shutdown #74

Open
AMZN-Gene opened this issue Apr 16, 2024 · 2 comments
Open

PopcornFX.dll Crash on Shutdown #74

AMZN-Gene opened this issue Apr 16, 2024 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@AMZN-Gene
Copy link

Steps to Repro

  1. Open Multiplayer.sln
  2. Run MultiplayerSample GameLauncher in the debugger (profile mode is fine)
  3. Open console (~ key) and "quit"

Expected Results
MultiplayerSample.GameLauncher shuts downs without crashing

Actual Results
App crashes inside the PopcornFX.dll when trying to release an environment variable

 	PopcornFX.dll!AZStd::pair<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>,AZStd::function<void __cdecl(AZ::ReflectContext *)>>::~pair<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>,AZStd::function<void __cdecl(AZ::ReflectContext *)>>()	C++
 	PopcornFX.dll!AZStd::Internal::hash_table_storage<AZStd::Internal::UnorderedMapTableTraits<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>,AZStd::function<void __cdecl(AZ::ReflectContext *)>,AZStd::hash<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>>,AZStd::equal_to<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>>,AZStd::allocator,0>,1>::~hash_table_storage<AZStd::Internal::UnorderedMapTableTraits<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>,AZStd::function<void __cdecl(AZ::ReflectContext *)>,AZStd::hash<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>>,AZStd::equal_to<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>>,AZStd::allocator,0>,1>()	C++
>	PopcornFX.dll!AZ::Internal::EnvironmentVariableHolder<ScriptCanvasModel>::DestructDispatchNoLock(AZ::Internal::EnvironmentVariableHolderBase * base, AZ::Internal::EnvironmentVariableHolderBase::DestroyTarget selfDestruct) Line 254	C++
 	O3DEKernel.dll!AZ::Internal::EnvironmentVariableHolderBase::UnregisterAndDestroy(void(*)(AZ::Internal::EnvironmentVariableHolderBase *, AZ::Internal::EnvironmentVariableHolderBase::DestroyTarget) destruct, bool moduleRelease) Line 102	C++
 	[External Code]	
 	MultiplayerSample.GameLauncher.exe!AZ::DynamicModuleHandleWindows::UnloadModule() Line 142	C++
 	MultiplayerSample.GameLauncher.exe!AZ::DynamicModuleHandle::Unload() Line 90	C++
 	[External Code]	
 	[Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::Internal::sp_counted_base::release() Line 87	C++
 	[Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::Internal::shared_count::{dtor}() Line 289	C++
 	[Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::Internal::destroy<AZStd::shared_ptr<AZ::ModuleDataImpl> *,AZStd::shared_ptr<AZ::ModuleDataImpl>,0>::single(AZStd::shared_ptr<AZ::ModuleDataImpl> *) Line 68	C++
 	[Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::vector<AZStd::shared_ptr<AZ::ModuleDataImpl>,AZStd::allocator>::pop_back() Line 580	C++
 	MultiplayerSample.GameLauncher.exe!AZ::ModuleManager::UnloadModules() Line 263	C++
 	MultiplayerSample.GameLauncher.exe!AZ::ComponentApplication::Destroy() Line 1042	C++
 	MultiplayerSample.GameLauncher.exe!AzFramework::Application::Stop() Line 285	C++
 	MultiplayerSample.GameLauncher.exe!O3DELauncher::Run(const O3DELauncher::PlatformMainInfo & mainInfo) Line 638	C++
 	MultiplayerSample.GameLauncher.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 41	C++

@ValPKFX
Copy link
Contributor

ValPKFX commented Apr 19, 2024

This seems to come from custom script canvas nodes.
I tried to remove the one we have in the plugin (Code/Source/ScriptCanvas) but it then crash here:

 	Multiplayer_ScriptCanvas.dll!AZStd::pair<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>,AZStd::function<void __cdecl(AZ::ReflectContext *)>>::~pair<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>,AZStd::function<void __cdecl(AZ::ReflectContext *)>>()	C++
 	Multiplayer_ScriptCanvas.dll!AZStd::Internal::hash_table_storage<AZStd::Internal::UnorderedMapTableTraits<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>,AZStd::function<void __cdecl(AZ::ReflectContext *)>,AZStd::hash<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>>,AZStd::equal_to<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>>,AZStd::allocator,0>,1>::~hash_table_storage<AZStd::Internal::UnorderedMapTableTraits<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>,AZStd::function<void __cdecl(AZ::ReflectContext *)>,AZStd::hash<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>>,AZStd::equal_to<AZStd::basic_string<char,AZStd::char_traits<char>,AZStd::allocator>>,AZStd::allocator,0>,1>()	C++
>	Multiplayer_ScriptCanvas.dll!AZ::Internal::EnvironmentVariableHolder<ScriptCanvasModel>::DestructDispatchNoLock(AZ::Internal::EnvironmentVariableHolderBase * base, AZ::Internal::EnvironmentVariableHolderBase::DestroyTarget selfDestruct) Line 254	C++
 	O3DEKernel.dll!AZ::Internal::EnvironmentVariableHolderBase::UnregisterAndDestroy(void(*)(AZ::Internal::EnvironmentVariableHolderBase *, AZ::Internal::EnvironmentVariableHolderBase::DestroyTarget) destruct, bool moduleRelease) Line 102	C++
 	[External Code]	
 	MultiplayerSample.GameLauncher.exe!AZ::DynamicModuleHandleWindows::UnloadModule() Line 142	C++
 	MultiplayerSample.GameLauncher.exe!AZ::DynamicModuleHandle::Unload() Line 90	C++
 	[External Code]	
 	[Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::Internal::sp_counted_base::release() Line 87	C++
 	[Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::Internal::shared_count::{dtor}() Line 289	C++
 	[Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::Internal::destroy<AZStd::shared_ptr<AZ::ModuleDataImpl> *,AZStd::shared_ptr<AZ::ModuleDataImpl>,0>::single(AZStd::shared_ptr<AZ::ModuleDataImpl> *) Line 68	C++
 	[Inline Frame] MultiplayerSample.GameLauncher.exe!AZStd::vector<AZStd::shared_ptr<AZ::ModuleDataImpl>,AZStd::allocator>::pop_back() Line 580	C++
 	MultiplayerSample.GameLauncher.exe!AZ::ModuleManager::UnloadModules() Line 263	C++
 	MultiplayerSample.GameLauncher.exe!AZ::ComponentApplication::Destroy() Line 1042	C++
 	MultiplayerSample.GameLauncher.exe!AzFramework::Application::Stop() Line 285	C++
 	MultiplayerSample.GameLauncher.exe!O3DELauncher::Run(const O3DELauncher::PlatformMainInfo & mainInfo) Line 638	C++
 	MultiplayerSample.GameLauncher.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 41	C++
 	[External Code]	

So it looks like the crash happens with all custom script canvas nodes and is not something done incorrectly in the plugin.

@ValPKFX ValPKFX self-assigned this Apr 19, 2024
@ValPKFX ValPKFX added the bug Something isn't working label Apr 19, 2024
@AMZN-Gene
Copy link
Author

Thanks for investigating! I’ll have to poke around in script canvas :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants