Description

Crash attempting to use a HapticFeedbackEffect_SoundWave with no sound set on it (i.e. a newly created one.)

Found on:
4.13.1 Binary CL-3120228
//UE4/Release-4.13 CL-3123398

Similar to UE-35344 (Crash when playing a HapticFeedbackEffect_Soundwave), but only occurs with no sound assigned to the effect.

Steps to Reproduce
  1. Have an Oculus set up and a right touch controller.
  2. Open UE4Editor.exe QAGAME TM-MotionControllers
  3. Create a NewHapticFeedbackEffect_SoundWave asset
    1. Save it
    2. Close it
  4. Open the QA_MoCoComponents asset in to the blueprint editor
  5. Scroll down in the event graph to the 'Right Haptics' comment box, and change the Play Haptic Effect node (that is connected to (R) Trigger event) to using your aforecreated NewHapticFeedbackEffect_SoundWave
  6. Play in VR Preview
  7. Press E on the keyboard (this just enabled the haptics related nodes)
  8. Pull the right trigger on the oculus touch controller.

Result: Crash

Callstack
MachineId:93621A354124D3DA0CD87BB8C7BF4324
EpicAccountId:a93319c1a68241d295f2574a4ba3da59

Access violation - code c0000005 (first/second chance not available)

UE4Editor_Engine!USoundWave::IsStreaming() [d:\release-4.13\engine\source\runtime\engine\private\soundwave.cpp:804]
UE4Editor_XAudio2!FXAudio2Device::GetRuntimeFormat() [d:\release-4.13\engine\source\runtime\windows\xaudio2\public\xaudio2device.h:107]
UE4Editor_Engine!UHapticFeedbackEffect_SoundWave::PrepareSoundWaveBuffer() [d:\release-4.13\engine\source\runtime\engine\private\userinterface\hapticfeedbackeffect.cpp:176]
UE4Editor_Engine!UHapticFeedbackEffect_SoundWave::Initialize() [d:\release-4.13\engine\source\runtime\engine\private\userinterface\hapticfeedbackeffect.cpp:150]
UE4Editor_Engine!FActiveHapticFeedbackEffect::FActiveHapticFeedbackEffect() [d:\release-4.13\engine\source\runtime\engine\classes\haptics\hapticfeedbackeffect_base.h:40]
UE4Editor_Engine!APlayerController::PlayHapticEffect() [d:\release-4.13\engine\source\runtime\engine\private\playercontroller.cpp:3524]
UE4Editor_Engine!APlayerController::execPlayHapticEffect() [d:\release-4.13\engine\source\runtime\engine\classes\gameframework\playercontroller.h:163]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\release-4.13\engine\source\runtime\coreuobject\private\uobject\class.cpp:4280]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\release-4.13\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:697]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\release-4.13\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2126]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\release-4.13\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:922]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\release-4.13\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:821]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\release-4.13\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:922]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\release-4.13\engine\source\runtime\coreuobject\private\uobject\class.cpp:4280]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\release-4.13\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1305]
UE4Editor_Engine!AActor::ProcessEvent() [d:\release-4.13\engine\source\runtime\engine\private\actor.cpp:652]
UE4Editor_Engine!FInputActionHandlerDynamicSignature::Execute() [d:\release-4.13\engine\source\runtime\engine\classes\components\inputcomponent.h:93]
UE4Editor_Engine!FInputActionUnifiedDelegate::Execute() [d:\release-4.13\engine\source\runtime\engine\classes\components\inputcomponent.h:189]
UE4Editor_Engine!UPlayerInput::ProcessInputStack() [d:\release-4.13\engine\source\runtime\engine\private\userinterface\playerinput.cpp:1232]
UE4Editor_Engine!APlayerController::ProcessPlayerInput() [d:\release-4.13\engine\source\runtime\engine\private\playercontroller.cpp:2331]
UE4Editor_Engine!APlayerController::TickPlayerInput() [d:\release-4.13\engine\source\runtime\engine\private\playercontroller.cpp:3882]
UE4Editor_Engine!APlayerController::PlayerTick() [d:\release-4.13\engine\source\runtime\engine\private\playercontroller.cpp:1994]
UE4Editor_Engine!APlayerController::TickActor() [d:\release-4.13\engine\source\runtime\engine\private\playercontroller.cpp:3960]
UE4Editor_Engine!FActorTickFunction::ExecuteTick() [d:\release-4.13\engine\source\runtime\engine\private\actor.cpp:112]
UE4Editor_Engine!FTickFunctionTask::DoTask() [d:\release-4.13\engine\source\runtime\engine\private\ticktaskmanager.cpp:251]
UE4Editor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [d:\release-4.13\engine\source\runtime\core\public\async\taskgraphinterfaces.h:868]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\release-4.13\engine\source\runtime\core\private\async\taskgraph.cpp:932]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [d:\release-4.13\engine\source\runtime\core\private\async\taskgraph.cpp:679]
UE4Editor_Core!FTaskGraphImplementation::WaitUntilTasksComplete() [d:\release-4.13\engine\source\runtime\core\private\async\taskgraph.cpp:1776]
UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [d:\release-4.13\engine\source\runtime\engine\private\ticktaskmanager.cpp:520]
UE4Editor_Engine!FTickTaskManager::RunTickGroup() [d:\release-4.13\engine\source\runtime\engine\private\ticktaskmanager.cpp:1426]
UE4Editor_Engine!UWorld::RunTickGroup() [d:\release-4.13\engine\source\runtime\engine\private\leveltick.cpp:706]
UE4Editor_Engine!UWorld::Tick() [d:\release-4.13\engine\source\runtime\engine\private\leveltick.cpp:1275]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\release-4.13\engine\source\editor\unrealed\private\editorengine.cpp:1408]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\release-4.13\engine\source\editor\unrealed\private\unrealedengine.cpp:371]
UE4Editor!FEngineLoop::Tick() [d:\release-4.13\engine\source\runtime\launch\private\launchengineloop.cpp:2834]
UE4Editor!GuardedMain() [d:\release-4.13\engine\source\runtime\launch\private\launch.cpp:156]
UE4Editor!GuardedMainWrapper() [d:\release-4.13\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\release-4.13\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:255]
kernel32
ntdll

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-35964 in the post.

0
Login to Vote

Fixed
ComponentXR
Affects Versions4.13.14.14
Target Fix4.13.1
Fix Commit3127534
CreatedSep 13, 2016
ResolvedSep 15, 2016
UpdatedSep 16, 2019