• Runtimes
  • [UE] Updating data file causes crash

Hello,
I have an imported spine animation and want to update it in Unreal Engine. When I drag and drop the json file the engine crashes. After restarting the engine and I do the same process it works. Is this because I have an animation playing in viewport or where is the error I'm making? Here's a stack trace:

LoginId:1558d7e24e1b3e169821d69cbf4e46f4
EpicAccountId:4c19f7729d464be9bc5b79057a7dfa2b

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION 0x0000000000000000

UnrealEditor_SpinePlugin!USpineSkeletonRendererComponent::UpdateMesh() [C:\devl\game-project\Game\Plugins\SpinePlugin\Source\SpinePlugin\Private\SpineSkeletonRendererComponent.cpp:224]
UnrealEditor_SpinePlugin!USpineSkeletonRendererComponent::TickComponent() [C:\devl\game-project\Game\Plugins\SpinePlugin\Source\SpinePlugin\Private\SpineSkeletonRendererComponent.cpp:82]
UnrealEditor_Engine!FActorComponentTickFunction::ExecuteTickHelper<<lambda_8e93cba63652895611dfa1bc126611cb> >() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Engine\Classes\GameFramework\Actor.h:3931]
UnrealEditor_Engine!FActorComponentTickFunction::ExecuteTick() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Engine\Private\Components\ActorComponent.cpp:1070]
UnrealEditor_Engine!FTickFunctionTask::DoTask() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:284]
UnrealEditor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:975]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksNamedThread() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:753]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksUntilIdle() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:653]
UnrealEditor_Core!FTaskGraphCompatibilityImplementation::ProcessThreadUntilIdle() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:2105]
UnrealEditor_Engine!FTickTaskSequencer::ReleaseTickGroup() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:582]
UnrealEditor_Engine!FTickTaskManager::RunTickGroup() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1592]
UnrealEditor_Engine!UWorld::RunTickGroup() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:790]
UnrealEditor_Engine!UWorld::Tick() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1546]
UnrealEditor_UnrealEd!UEditorEngine::Tick() [C:\devl\game-project\UnrealEngine\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:1568]
UnrealEditor_UnrealEd!UUnrealEdEngine::Tick() [C:\devl\game-project\UnrealEngine\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:474]
UnrealEditor!FEngineLoop::Tick() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5215]
UnrealEditor!GuardedMain() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Launch\Private\Launch.cpp:183]
UnrealEditor!GuardedMainWrapper() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]
UnrealEditor!LaunchWindowsStartup() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]
UnrealEditor!WinMain() [C:\devl\game-project\UnrealEngine\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]
UnrealEditor!__scrt_common_main_seh() [d:\a01\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
Related Discussions
...

Importing a JSON file should not crash an actor that's displayed in the real-time viewport in the editor. I'll need more information, possibly so I can reproduce the issue:

  1. What Spine Runtimes version are you using?
  2. Is the actor in the viewport using the asset that you have tried to re-import?
  3. Can you provide exact steps based on the spine-ue4 example project to reproduce the issue reliably?
  1. Spine Runtime 4.1 (eb7bf3a8b3411a2c0e0f1c392a5f00551d85ab33)
  2. Yes, it was either in a level or the Actor viewport
  3. Steps to reproduce:
  4. Export spine to json and pack attachments as single atlas
  5. Open Unreal Engine (we're using UE 5 built from source)
  6. Drag n Drop the exported JSON onto the Content Drawer in a relevant folder
  7. Open the actor that should have the animation or create a blank actor using blueprints
  8. Add the SpineSkeletonAnimation and SpineSkeletonRenderer components to the actor.
  9. Select the appropriate data file and atlas.
  10. Make some changes to the spine animation and export again using the same settings.
  11. Drag and drop the exported JSON file into the content drawer (Actor already open and previews the first frame of the animation)
  12. The engine freezes for a second and crashes giving the error output in the first message.

Let me know if there is anything else I should try or if you need more information on any of the steps.

13 jours plus tard

Sorry this took a while. It's now fixed in both the 4.1 and 4.2-beta branches. Thanks for reporting!

Woho! :party:

Awesome, I'll pull the latest today :yes:

Thanks!