b4mad / racing-archived

Apache License 2.0
0 stars 1 forks source link

decoding driver name throws error #2

Open durandom opened 2 years ago

durandom commented 2 years ago

Looks like my local F1 2020 game connects to the udp fwd applications, but it crashes internally while decoding driver names?

Could it be because I started a time trial mode?

2021-11-05 12:47:59 ERROR DefaultErrorHandler:205 - Failed delivery for (MessageId: 638D6BAA0D93386-0000000000000010 on ExchangeId: 638D6BAA0D93386-0000000000000010). Exhausted after delivery attempt: 1 caught: java.lang.NullPointerException: Cannot invoke "io.ppatierno.formula1.enums.Driver.name()" because the return value of "io.ppatierno.formula1.data.ParticipantData.getDriverId()" is null

Message History (complete message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
[udp-multicast-disp] [udp-multicast-disp] [from[netty://udp://0.0.0.0:20777?decoders=%23packet-decoder&sync=false]       ] [       203]
        ...
[route1            ] [split1            ] [split[bean[ref:drivers-splitter method:splitDrivers]]                         ] [         0]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------

java.lang.NullPointerException: Cannot invoke "io.ppatierno.formula1.enums.Driver.name()" because the return value of "io.ppatierno.formula1.data.ParticipantData.getDriverId()" is null
        at io.ppatierno.formula1.Driver.<init>(Driver.java:33)
        at io.ppatierno.formula1.Session.updateDrivers(Session.java:45)
        at io.ppatierno.formula1.DriversSplitter.splitDrivers(DriversSplitter.java:48)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at org.apache.camel.support.ObjectHelper.invokeMethodSafe(ObjectHelper.java:372)
        at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:493)
        at org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:315)
        at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:285)
        at org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:146)
        at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
        at org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:41)
        at org.apache.camel.language.bean.BeanExpression.invokeBean(BeanExpression.java:347)
        at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:202)
        at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:214)
        at org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:150)
        at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:276)
        at org.apache.camel.processor.Splitter.process(Splitter.java:145)
        at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
        at org.apache.camel.processor.MulticastProcessor.lambda$schedule$1(MulticastProcessor.java:312)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        at java.base/java.lang.Thread.run(Thread.java:832)
2021-11-05 12:47:59 WARN  AggregateProcessor:214 - Error processing aggregated exchange. Exchange[638D6BAA0D93386-0000000000000010]. Caused by: [java.lang.NullPointerException - Cannot invoke "io.ppatierno.formula1.enums.Driver.name()" because the return value of "io.ppatierno.formula1.data.ParticipantData.getDriverId()" is null]
java.lang.NullPointerException: Cannot invoke "io.ppatierno.formula1.enums.Driver.name()" because the return value of "io.ppatierno.formula1.data.ParticipantData.getDriverId()" is null
        at io.ppatierno.formula1.Driver.<init>(Driver.java:33)
        at io.ppatierno.formula1.Session.updateDrivers(Session.java:45)
        at io.ppatierno.formula1.DriversSplitter.splitDrivers(DriversSplitter.java:48)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at org.apache.camel.support.ObjectHelper.invokeMethodSafe(ObjectHelper.java:372)
        at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:493)
        at org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:315)
        at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:285)
        at org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:146)
        at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
        at org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:41)
        at org.apache.camel.language.bean.BeanExpression.invokeBean(BeanExpression.java:347)
        at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:202)
        at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:214)
        at org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:150)
        at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:276)
        at org.apache.camel.processor.Splitter.process(Splitter.java:145)
        at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
        at org.apache.camel.processor.MulticastProcessor.lambda$schedule$1(MulticastProcessor.java:312)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        at java.base/java.lang.Thread.run(Thread.java:832)
2021-11-05 12:48:27 ERROR DefaultErrorHandler:205 - Failed delivery for (MessageId: 638D6BAA0D93386-00000000000018F5 on ExchangeId: 638D6BAA0D93386-00000000000018F5). Exhausted after delivery attempt: 1 caught: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0

Message History (complete message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
[udp-multicast-disp] [udp-multicast-disp] [from[netty://udp://0.0.0.0:20777?decoders=%23packet-decoder&sync=false]       ] [         1]
        ...
[udp-kafka-events  ] [process1          ] [Processor@0x10683d9d                                                          ] [         0]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------

java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
        at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
        at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
        at java.base/java.util.Objects.checkIndex(Objects.java:359)
        at java.base/java.util.ArrayList.get(ArrayList.java:427)
        at io.ppatierno.formula1.EventsRouteBuilder.buildEvent(EventsRouteBuilder.java:86)
        at io.ppatierno.formula1.EventsRouteBuilder.lambda$configure$1(EventsRouteBuilder.java:51)
        at org.apache.camel.support.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:66)
        at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
        at org.apache.camel.processor.MulticastProcessor.lambda$schedule$1(MulticastProcessor.java:312)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        at java.base/java.lang.Thread.run(Thread.java:832)
2021-11-05 12:49:58 ERROR DefaultErrorHandler:205 - Failed delivery for (MessageId: 638D6BAA0D93386-0000000000004978 on ExchangeId: 638D6BAA0D93386-0000000000004978). Exhausted after delivery attempt: 1 caught: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0

Message History (complete message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
[udp-multicast-disp] [udp-multicast-disp] [from[netty://udp://0.0.0.0:20777?decoders=%23packet-decoder&sync=false]       ] [      9807]
        ...
[udp-kafka-events  ] [process1          ] [Processor@0x10683d9d                                                          ] [         0]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------

java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
        at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
        at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
        at java.base/java.util.Objects.checkIndex(Objects.java:359)
        at java.base/java.util.ArrayList.get(ArrayList.java:427)
        at io.ppatierno.formula1.Session.updateEventData(Session.java:108)
        at io.ppatierno.formula1.EventsRouteBuilder.lambda$configure$1(EventsRouteBuilder.java:49)
        at org.apache.camel.support.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:66)
        at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
        at org.apache.camel.processor.MulticastProcessor.lambda$schedule$1(MulticastProcessor.java:312)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        at java.base/java.lang.Thread.run(Thread.java:832)
durandom commented 2 years ago

and more index errors

2021-11-05 12:56:56 ERROR DefaultErrorHandler:205 - Failed delivery for (MessageId: 638D6BAA0D93386-00000000000080A9 on ExchangeId: 638D6BAA0D93386-00000000000080A9). Exhausted after delivery attempt: 1 caught: java.lang.IndexOutOfBoundsException: Index 9 out of bounds for length 0

Message History (complete message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
[udp-multicast-disp] [udp-multicast-disp] [from[netty://udp://0.0.0.0:20777?decoders=%23packet-decoder&sync=false]       ] [         1]
        ...
[udp-kafka-events  ] [process1          ] [Processor@0x10683d9d                                                          ] [         0]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------

java.lang.IndexOutOfBoundsException: Index 9 out of bounds for length 0
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
        at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
        at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
        at java.base/java.util.Objects.checkIndex(Objects.java:359)
        at java.base/java.util.ArrayList.get(ArrayList.java:427)
        at io.ppatierno.formula1.Session.updateEventData(Session.java:108)
        at io.ppatierno.formula1.EventsRouteBuilder.lambda$configure$1(EventsRouteBuilder.java:49)
        at org.apache.camel.support.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:66)
        at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
        at org.apache.camel.processor.MulticastProcessor.lambda$schedule$1(MulticastProcessor.java:312)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        at java.base/java.lang.Thread.run(Thread.java:832)
2021-11-05 12:56:59 ERROR DefaultErrorHandler:205 - Failed delivery for (MessageId: 638D6BAA0D93386-0000000000008305 on ExchangeId: 638D6BAA0D93386-0000000000008305). Exhausted after delivery attempt: 1 caught: java.lang.IndexOutOfBoundsException: Index 19 out of bounds for length 0

Message History (complete message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
[udp-multicast-disp] [udp-multicast-disp] [from[netty://udp://0.0.0.0:20777?decoders=%23packet-decoder&sync=false]       ] [         1]
        ...
[udp-kafka-events  ] [process1          ] [Processor@0x10683d9d                                                          ] [         0]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------

java.lang.IndexOutOfBoundsException: Index 19 out of bounds for length 0
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
        at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
        at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
        at java.base/java.util.Objects.checkIndex(Objects.java:359)
        at java.base/java.util.ArrayList.get(ArrayList.java:427)
        at io.ppatierno.formula1.Session.updateEventData(Session.java:108)
        at io.ppatierno.formula1.EventsRouteBuilder.lambda$configure$1(EventsRouteBuilder.java:49)
        at org.apache.camel.support.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:66)
        at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
        at org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55)
        at org.apache.camel.processor.MulticastProcessor.lambda$schedule$1(MulticastProcessor.java:312)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        at java.base/java.lang.Thread.run(Thread.java:832)
durandom commented 2 years ago

lets try to record the datastream with https://pypi.org/project/f1-2020-telemetry/ to record UDP packets into a MySQL db and you can even play via this Python instead of having the F1 2020 running

ppatierno commented 2 years ago

If you can provide me the outcoming MySQL db I could try to run it locally and debug the decoder to verify the problem.