spheenik / clarity-analyzer

JavaFX-Application to interactively visualize the raw data of a Dota 2 replay.
BSD 3-Clause "New" or "Revised" License
46 stars 19 forks source link

cannot load recorded replays #14

Closed nul0m closed 3 years ago

nul0m commented 3 years ago

i'd like to find out what's wrong with the replays i've recorded being a spectator of some public matches. clarity analyzer crashes while playing them throwing the errors like this:

10:46:15.998 ERROR    Runner thread crashed
java.lang.ArrayIndexOutOfBoundsException: 7
    at skadistats.clarity.decoder.s2.Serializer.getUnpackerForFieldPath(Serializer.java:53) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.decoder.s2.field.FixedSubTableField.getUnpackerForFieldPath(FixedSubTableField.java:36) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.decoder.s2.Serializer.getUnpackerForFieldPath(Serializer.java:53) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.decoder.s2.S2DTClass.getUnpackerForFieldPath(S2DTClass.java:64) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.decoder.s2.S2FieldReader.readFields(S2FieldReader.java:71) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.decoder.s2.S2FieldReader.readFields(S2FieldReader.java:14) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.processor.entities.Entities.processEntityUpdate(Entities.java:394) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.processor.entities.Entities.onPacketEntities(Entities.java:327) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.event.AbstractInvocationPoint.invoke(AbstractInvocationPoint.java:86) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.event.Event.raise(Event.java:41) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.processor.reader.InputSourceProcessor.processEmbedded(InputSourceProcessor.java:247) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.event.AbstractInvocationPoint.invoke(AbstractInvocationPoint.java:86) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.event.Event.raise(Event.java:41) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.processor.reader.InputSourceProcessor.processSource(InputSourceProcessor.java:174) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.event.AbstractInvocationPoint.invoke(AbstractInvocationPoint.java:86) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.event.Event.raise(Event.java:41) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.processor.runner.AbstractFileRunner.initAndRunWith(AbstractFileRunner.java:39) ~[clarity-2.5-20210108.182045-28.jar:na]
    at skadistats.clarity.processor.runner.ControllableRunner.lambda$runWith$0(ControllableRunner.java:238) ~[clarity-2.5-20210108.182045-28.jar:na]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_201]
spheenik commented 3 years ago

replay is corrupt - or console recorded?

nul0m commented 3 years ago

sorry, i'm a bit confused now... is there a way to record a replay other than via console's _record command? or "console recorded" means smth else?

spheenik commented 3 years ago

see https://github.com/skadistats/clarity/issues/236#issuecomment-766325500