TouchDesigner / TouchEngine-UE

The TouchEngine-UE plugin allows UE developers to load TouchDesigner components within UE while relying on the TouchEngine API.
Other
166 stars 11 forks source link

User Submitted Crash - ToxFailedLoad() #82

Closed jetXS closed 3 years ago

jetXS commented 3 years ago
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000020

UE4Editor_TouchEngineEditor!TouchEngineDynamicVariableStructDetailsCustomization::ToxFailedLoad() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Source\TouchEngineEditor\Private\TouchEngineDynVarDetsCust.cpp:775]
UE4Editor_TouchEngineEditor!TBaseRawMethodDelegateInstance<0,TouchEngineDynamicVariableStructDetailsCustomization,void __cdecl(FString),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:467]
UE4Editor_TouchEngine!TMulticastDelegate<void __cdecl(FString),FDefaultDelegateUserPolicy>::Broadcast() [C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:955]
UE4Editor_TouchEngine!FTouchEngineDynamicVariableContainer::ToxFailedLoad() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Source\TouchEngine\Private\TouchEngineDynamicVariableStruct.cpp:196]
UE4Editor_TouchEngine!TBaseRawMethodDelegateInstance<0,FTouchEngineDynamicVariableContainer,void __cdecl(FString),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:467]
UE4Editor_TouchEngine!TMulticastDelegate<void __cdecl(FString),FDefaultDelegateUserPolicy>::Broadcast() [C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:955]
UE4Editor_TouchEngine!UFileParams::FailedLoad() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Source\TouchEngine\Private\TouchEngineSubsystem.cpp:270]
UE4Editor_TouchEngine!UFileParams::execFailedLoad() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Intermediate\Build\Win64\UE4Editor\Inc\TouchEngine\TouchEngineSubsystem.gen.cpp:31]
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_TouchEngine!TBaseUFunctionDelegateInstance<UFileParams,void __cdecl(FString),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:161]
UE4Editor_TouchEngine!TMulticastDelegate<void __cdecl(FString),FDefaultDelegateUserPolicy>::Broadcast() [C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:955]
UE4Editor_TouchEngine!UTouchEngine::loadTox() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Source\TouchEngine\Private\UTouchEngine.cpp:1160]
UE4Editor_TouchEngine!UTouchEngineInfo::load() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Source\TouchEngine\Private\TouchEngineInfo.cpp:81]
UE4Editor_TouchEngine!UTouchEngineSubsystem::LoadTox() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Source\TouchEngine\Private\TouchEngineSubsystem.cpp:209]
UE4Editor_TouchEngine!UTouchEngineSubsystem::GetParamsFromTox() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Source\TouchEngine\Private\TouchEngineSubsystem.cpp:85]
UE4Editor_TouchEngine!UTouchEngineComponentBase::LoadParameters() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Source\TouchEngine\Private\TouchEngineComponent.cpp:252]
UE4Editor_TouchEngine!UTouchEngineComponentBase::PostEditChangeProperty() [H:_DERIVATIVE\Github\TE-UE4-Plugin-Release\0.9.1\TouchEngine-UE4\HostProject\Plugins\TouchEngine\Source\TouchEngine\Private\TouchEngineComponent.cpp:210]
UE4Editor_CoreUObject
UE4Editor_Engine
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_ApplicationCore
UE4Editor_ApplicationCore
UE4Editor_ApplicationCore
UE4Editor_ApplicationCore
user32
user32
UE4Editor_ApplicationCore
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor
kernel32
ntdll
jetXS commented 3 years ago

Really odd how all the paths are the ones from my machine @ddthejj ? Is that to be expected? Or some compile/release issue?

jetXS commented 3 years ago

From forum user Tedpallas after recompiling manually (aka not using release binaries)

I rebuilt the plugin locally via the sample project, and can confirm I installed touchdesigner from the dropbox alongsied the old build. With the rebuilt plugin I get this error, which has all local paths:

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffffffffffff

VCRUNTIME140
UE4Editor_TouchEngineEditor!FString::operator=<FString &,0>() [D:\ueInstalls\UE_4.26\Engine\Source\Runtime\Core\Public\Containers\UnrealString.h:294]
UE4Editor_TouchEngineEditor!TouchEngineDynamicVariableStructDetailsCustomization::ToxFailedLoad() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Source\TouchEngineEditor\Private\TouchEngineDynVarDetsCust.cpp:775]
UE4Editor_TouchEngineEditor!TBaseRawMethodDelegateInstance<0,TouchEngineDynamicVariableStructDetailsCustomization,void __cdecl(FString),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\ueInstalls\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:467]
UE4Editor_TouchEngine!TMulticastDelegate<void __cdecl(FString),FDefaultDelegateUserPolicy>::Broadcast() [D:\ueInstalls\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:955]
UE4Editor_TouchEngine!FTouchEngineDynamicVariableContainer::ToxFailedLoad() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Source\TouchEngine\Private\TouchEngineDynamicVariableStruct.cpp:196]
UE4Editor_TouchEngine!TBaseRawMethodDelegateInstance<0,FTouchEngineDynamicVariableContainer,void __cdecl(FString),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\ueInstalls\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:467]
UE4Editor_TouchEngine!TMulticastDelegate<void __cdecl(FString),FDefaultDelegateUserPolicy>::Broadcast() [D:\ueInstalls\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:955]
UE4Editor_TouchEngine!UFileParams::FailedLoad() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Source\TouchEngine\Private\TouchEngineSubsystem.cpp:270]
UE4Editor_TouchEngine!UFileParams::execFailedLoad() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Intermediate\Build\Win64\UE4Editor\Inc\TouchEngine\TouchEngineSubsystem.gen.cpp:31]
UE4Editor_CoreUObject
UE4Editor_CoreUObject
UE4Editor_TouchEngine!TBaseUFunctionDelegateInstance<UFileParams,void __cdecl(FString),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\ueInstalls\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:161]
UE4Editor_TouchEngine!TMulticastDelegate<void __cdecl(FString),FDefaultDelegateUserPolicy>::Broadcast() [D:\ueInstalls\UE_4.26\Engine\Source\Runtime\Core\Public\Delegates\DelegateSignatureImpl.inl:955]
UE4Editor_TouchEngine!UTouchEngine::loadTox() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Source\TouchEngine\Private\UTouchEngine.cpp:1160]
UE4Editor_TouchEngine!UTouchEngineInfo::load() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Source\TouchEngine\Private\TouchEngineInfo.cpp:81]
UE4Editor_TouchEngine!UTouchEngineSubsystem::LoadTox() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Source\TouchEngine\Private\TouchEngineSubsystem.cpp:209]
UE4Editor_TouchEngine!UTouchEngineSubsystem::GetParamsFromTox() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Source\TouchEngine\Private\TouchEngineSubsystem.cpp:85]
UE4Editor_TouchEngine!UTouchEngineComponentBase::LoadParameters() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Source\TouchEngine\Private\TouchEngineComponent.cpp:252]
UE4Editor_TouchEngine!UTouchEngineComponentBase::PostEditChangeProperty() [D:\Unreal\derivative\TouchEngine-UE4-Samples-main\Plugins\TouchEngine-UE4\Source\TouchEngine\Private\TouchEngineComponent.cpp:210]
UE4Editor_CoreUObject
UE4Editor_Engine
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_PropertyEditor
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_Slate
UE4Editor_ApplicationCore
UE4Editor_ApplicationCore
UE4Editor_ApplicationCore
UE4Editor_ApplicationCore
user32
user32
UE4Editor_ApplicationCore
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor
kernel32
ntdll
jetXS commented 3 years ago

Q

@tedpallas

What TouchDesigner licence are you using ?

When recompiling, did you use the .bat file or Visual Studio ?

Thanks in advance, and apologies for the issue + all the questions !

A

I am using a Commercial license. I recompiled by launching the project and going through the automated build. Interestingly, the visual solution method wouldn’t load projects for me (0/2 Loaded).

No worries on the questions! Cheers for the rapid responses! Let’s get this cooking fam :sunglasses:

Q

Interestingly, the visual solution method wouldn’t load projects for me (0/2 Loaded).

Ok, that sounds familiar…

Can you try the following point from the doc, even if it is not the exact same issue:

The Unreal related options are missing from the context menu when right clicking the Unreal project file, what should I do ?

This seems to be an install bug, we encountered it on our end as well. With luck, the Epic Games Launcher will show up with a message mentioning to “Fix the project files”, clicking “Fix now” should solve the issue. If the message doesn’t show up, another solution is to open your project using right click → Open with… and open the project with the UnrealVersionSelector.exe located in your Epic Games Launcher install folder (by default, C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win64)

It feels like something is not linked properly somewhere.

Do you have Visual Studio 2019 installed?

A

I am using VS2019, yes. I can generate a Solutions file, but don’t get any projects able to load through that solution.

ddthejj commented 3 years ago

Added a potential fix for the crash in 20093518ba9943f5ffe58b476b94ed8c5411b62b

The local paths are expected, I believe - UE4 saves some built data as local paths, for instance if you load a texture into UE4 and then look at it's source it will be a local path

jetXS commented 3 years ago

Closing for now, as fix is in release 0.9.2 and we didn't hear back from user.

Thanks