[Bug] Demo Playback Problem
Hi! I've got a problem playing demos.
I've recorded a demo in the "Development" build configuration in a cooked/packaged version of my game. When I play this demo back with the console command, "demoplay test" it works fine. When I try to play it back using the UGameInstance::PlayReplay method, or using a faked console command via the APlayerController::ConsoleCommand method, it does not.
By works fine, I mean the map loads and stuff happens. As expected.
By not working fine, I mean the game freezes. Task manager shows it using 0% cpu and "not responding." I cannot tab into the game (it doesn't appear,) but it happily waits in the background if I minimize all other windows. All threads (debugged with VS) sit in FWinEvent::Wait, the main thread blocking on the WaitPhysScenes() call in the UWorld::EnsureCollisionTreeIsBuilt() method during level load.
The log I get when trying to play the demo is attached. The number of thread exits at the end varies from 2 to 3.
I've tried making the call from both the input event (co-opted from APlayerController::InputEvent or APlayerController::ProcessInput) and from a tick event. Both give the same results.
I really have no idea why this works when entering the console command directly, but not when faking the console command through code or calling the UGameInstance method directly.
I've attached the log file, thread list and call stack of the main thread.
Any ideas? Thanks.
Edit: It's in a 4.8.3 source build and running on w10 64bit.
I've placed another bug in the demoplay freezing problem. The same thing occurs in our internal build of 4.11 but in my case of testing it on 4.8.3, I get an assert and a crash report than just freezing. Unfortunately, other than using the actual console commands themselves, I can't think of any other type of workaround in the meantime. I'll update you here if the issue is fixed.
Have a nice day!
answered Nov 13 '15 at 07:08 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here