Seems to happen randomly we are unsure why this happens when we are in PIE
LoginId:775ef1134910126b3a4bc9b4c7b36828
EpicAccountId:47288e8496e2475db98c2c72501261f9
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000370
UnrealEditor_FMODStudio!UFMODAudioComponent::Stop() [W:\RWS\ANGEL_RWS\Angel\Plugins\FMODStudio\Source\FMODStudio\Private\FMODAudioComponent.cpp:1026]
UnrealEditor_Angel!UAngelFMODAudioComponent::EndPlay() [E:\RWS\Angel\Source\Angel\Private\Framework\Audio\AngelFMODAudioComponent.cpp:400]
UnrealEditor_Engine!AActor::EndPlay() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp:3232]
UnrealEditor_Engine!AActor::RouteEndPlay() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp:3176]
UnrealEditor_Engine!ULevel::RouteActorEndPlayForRemoveFromWorld() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Level.cpp:3894]
UnrealEditor_Engine!UWorld::RemoveFromWorld() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:4063]
UnrealEditor_Engine!ULevelStreaming::UpdateStreamingState() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelStreaming.cpp:1103]
UnrealEditor_Engine!UWorld::UpdateLevelStreaming() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:4903]
UnrealEditor_Engine!UGameViewportClient::Draw() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\GameViewportClient.cpp:1800]
UnrealEditor_Engine!FViewport::Draw() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\UnrealClient.cpp:1816]
UnrealEditor_UnrealEd!UEditorEngine::Tick() [D:\build++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:2420]
UnrealEditor_UnrealEd!UUnrealEdEngine::Tick() [D:\build++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:533]
UnrealEditor!FEngineLoop::Tick() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5625]
UnrealEditor!GuardedMain() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:187]
UnrealEditor!GuardedMainWrapper() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:128]
UnrealEditor!LaunchWindowsStartup() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:282]
UnrealEditor!WinMain() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:339]
UnrealEditor!__scrt_common_main_seh() [D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
Sorry I meant UE 5.6. We just upgraded to them
I believe this is fixed in 2.03.11, are you able to test that version?
Hey Cameron we can try.
We just want to make sure that there is nothing else funky on 03.11. And this issue was addressed. If you have have seen any body else message about any problems with 11. I currently can’t find anything. We are looking to lock in on a version, and the past two updates that have happened have had issues. One with the callbacker.cpp and now this one. We just don’t want to get another issue.
Thank you!
-Rob
I don’t believe there is anything else, which we are aware of, at this point.
Hey Cameron; we updated to 11 and unfortunately some of us are still getting that crash. NOt as often but still getting it.
LoginId:775ef1134910126b3a4bc9b4c7b36828
EpicAccountId:47288e8496e2475db98c2c72501261f9
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000370
UnrealEditor_FMODStudio!UFMODAudioComponent::Stop() [C:\Users\gamef\wkspaces\ANGEL_RWS\Angel\Plugins\FMODStudio\Source\FMODStudio\Private\FMODAudioComponent.cpp:865]
UnrealEditor_Angel!UAngelFMODAudioComponent::EndPlay() [F:\ANGEL_RWS\Angel\Source\Angel\Private\Framework\Audio\AngelFMODAudioComponent.cpp:400]
UnrealEditor_Engine!AActor::EndPlay() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp:3232]
UnrealEditor_Engine!AActor::RouteEndPlay() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp:3176]
UnrealEditor_Engine!ULevel::RouteActorEndPlayForRemoveFromWorld() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Level.cpp:3894]
UnrealEditor_Engine!UWorld::RemoveFromWorld() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:4063]
UnrealEditor_Engine!ULevelStreaming::UpdateStreamingState() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelStreaming.cpp:1103]
UnrealEditor_Engine!UWorld::UpdateLevelStreaming() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:4903]
UnrealEditor_Engine!UGameViewportClient::Draw() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\GameViewportClient.cpp:1800]
UnrealEditor_Engine!FViewport::Draw() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\UnrealClient.cpp:1816]
UnrealEditor_UnrealEd!UEditorEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:2420]
UnrealEditor_UnrealEd!UUnrealEdEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:533]
UnrealEditor!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5625]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:187]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:128]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:282]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:339]
UnrealEditor!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
any suggestions for our coders?
I’ve been trying to reproduce the issue on my end to help debug it but I have not had any luck so far.
From the callstack it looks like this occurs when you start Play-In-Editor and it’s calling UpdateLevelStreaming which is removing Actors that contain an FMODAudioComponent, which then calls EndPlayon it.
Can you double check that the Stop function looks like this:
void UFMODAudioComponent::Stop()
{
UE_LOG(LogFMOD, Verbose, TEXT("UFMODAudioComponent %p Stop"), this);
if (StudioInstance && StudioInstance->isValid())
{
StudioInstance->stop(FMOD_STUDIO_STOP_ALLOWFADEOUT);
}
wasOccluded = false;
}
You could even break point the if check, but this should be enough to avoid exceptions. The only other thing I think it could be, is the isValid()check calls into the FMODStudio System which may be destroyed or not created yet (but then I’m not sure how the Instance is valid).