Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Record and Replay issues after new serialization update #3862

Open
AndyTechGuy opened this issue Mar 20, 2020 · 0 comments
Open

Record and Replay issues after new serialization update #3862

AndyTechGuy opened this issue Mar 20, 2020 · 0 comments
Labels
Category: Performance Requests, Issues and Changes targeting performance Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc. Type: Bug Issues reporting and PRs fixing problems

Comments

@AndyTechGuy
Copy link
Contributor

After the newSerialization branch was merged, the Record & Replay feature stopped working normally under most conditions. While short recordings on worlds with a low number of modules operate correctly, longer recordings made on worlds with many modules cause errors on replay.

When a recording session is finished, the process of saving each recorded event takes a long time under the new serialization updates. This results in TaskMaster killing the thread with this message:
[main] WARN o.t.utilities.concurrency.TaskMaster - Timed out awaiting thread termination

Therefore recordings end up with an incomplete save, and the game throws errors when loading one of these bugged recordings (this exception repeats similarly for the files file_amount.json, state_event_position.json, direction_origin_list.json, and more):

java.io.FileNotFoundException: recordings\ted\events3.json (The system cannot find the file specified)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileReader.<init>(FileReader.java:72)
        at org.terasology.persistence.serializers.GsonSerializer.fromJson(GsonSerializer.java:215)
        at org.terasology.recording.RecordedEventSerializer.deserializeRecordedEvents(RecordedEventSerializer.java:76)
        at org.terasology.recording.RecordAndReplaySerializer.deserializeRecordedEvents(RecordAndReplaySerializer.java:112)
        at org.terasology.recording.RecordAndReplaySerializer.deserializeRecordAndReplayData(RecordAndReplaySerializer.java:98)
        at org.terasology.engine.modes.loadProcesses.InitialiseRecordAndReplay.step(InitialiseRecordAndReplay.java:51)
        at org.terasology.engine.modes.StateLoading.update(StateLoading.java:246)
        at org.terasology.engine.TerasologyEngine.tick(TerasologyEngine.java:462)
        at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:425)
        at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:401)
        at org.terasology.engine.Terasology.main(Terasology.java:162)

The game continues despite these errors, and the world loads in without a replay, as if the game was launched normally.

Resources

@Cervator Cervator added Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc. Type: Bug Issues reporting and PRs fixing problems Category: Performance Requests, Issues and Changes targeting performance labels Mar 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Performance Requests, Issues and Changes targeting performance Topic: Architecture Requests, Issues and Changes related to software architecture, programming patterns, etc. Type: Bug Issues reporting and PRs fixing problems
Projects
None yet
Development

No branches or pull requests

2 participants