Live opponents (W/kg) freezing

I experienced this issue twice so far. Both times on public TDA. I can't reproduce this on BETA because there simply aren't enough active riders.

Last night I started "Lek Riverside - Kinderdijk - Stage 2" with plenty of Live Opponents as part of the Benelux Challenge. (TDA 4.50.2.0)
After around 10-20 minutes the W/kg stats suddenly froze for all live opponents. The opponents seemed to continue at their last known W/kg.
I had no issues with my internet connections which is wired. I also didn't notice any TDA popups regarding the connection to Tacx Cloud. The film didn't freeze either.

I thought it might be a cloud issue so I disconnected/connected my ethernet cable to force some kind of reconnection. It did not change anything.
My ride continued just fine. I was able to finish my ride. It got saved and marked as complete in the challenge. The opponents W/kg and speed simply didn't update anymore.


This morning I looked at the logs.
I found something possibly related to this issue:

1820|2024-01-04T16:19:09.0480035+00:00|INFO|28|LiveOpponentsService|Live opponents : Mp state changed : Joining
1821|2024-01-04T16:19:09.1011838+00:00|INFO|34|DeviceService|Uninitialized
1822|2024-01-04T16:19:09.1905335+00:00|INFO|6|DeviceService|Uninitialized
1824|2024-01-04T16:19:09.2257683+00:00|WARN|28|LiveOpponentsService|groupId is not a string or empty
1825|2024-01-04T16:19:09.2321929+00:00|WARN|28|LiveOpponentsService|groupId is not a string or empty
1826|2024-01-04T16:19:09.2343652+00:00|WARN|28|LiveOpponentsService|motionType could not be parsed --> System.InvalidCastException: Specified cast is not valid.
at Tacx.UWP.Services.Contestants.LiveOpponents.LiveOpponentsService.UpdateLiveOpponent(Hashtable, LiveOpponent, Boolean) + 0xbbe
1827|2024-01-04T16:19:09.2365113+00:00|WARN|28|LiveOpponentsService|raceState could not be parsed --> System.InvalidCastException: Specified cast is not valid.
at Tacx.UWP.Services.Contestants.LiveOpponents.LiveOpponentsService.UpdateLiveOpponent(Hashtable, LiveOpponent, Boolean) + 0xdc5

These messages continued for a while until:
12785|2024-01-04T16:30:07.4891156+00:00|INFO|28|LiveOpponentsService|Live opponents disconnected. Reason : ClientTimeout
12786|2024-01-04T16:30:07.4891156+00:00|INFO|28|LiveOpponentsService|Live opponents trying to reconnect
12787|2024-01-04T16:30:07.4891156+00:00|INFO|28|LiveOpponentsService|Live opponents : Mp state changed : Disconnected
12895|2024-01-04T16:30:14.0067239+00:00|INFO|33|LiveOpponentsService|Live opponents : Mp state changed : ConnectingToNameServer
At this time the Live Opponents probably froze.

23064|2024-01-04T16:40:26.1933478+00:00|INFO|13|AnalysisLogService|**CONNECTION_INTERNET:{"hasAdapter":false,"isConnected":false}
23065|2024-01-04T16:40:26.1933478+00:00|INFO|13|NotificationService|Toast: Error: No internet connection.
23255|2024-01-04T16:40:37.5653723+00:00|INFO|7|AnalysisLogService|**CONNECTION_INTERNET:{"hasAdapter":true,"isConnected":false,"mediumType":"Wired","networkAdapterId":"5549c164-a8ff-4a41-b7c5-986e09659d54"}
23256|2024-01-04T16:40:37.5653723+00:00|INFO|7|NotificationService|Toast: Error: No internet connection.
23281|2024-01-04T16:40:39.0373445+00:00|INFO|17|AnalysisLogService|**CONNECTION_INTERNET:{"hasAdapter":true,"isConnected":true,"mediumType":"Wired","networkAdapterId":"5549c164-a8ff-4a41-b7c5-986e09659d54"}

This is when I unplugged/plugged my network cable. After these log messages there are no messages indicating reconnection attempts or anything else useful.


As this has happened twice this might be worth looking into.
Maybe someone else has experienced this issues as well?

  • Update on this

    Same thing this morning. This time on "Windmill Sunrise - Kinderdijk - Stage 1"
    Live Opponents W/kg froze after about 20 minutes in.
    This time I switched the Live-opponents tab from distance to time. When I went back to the distance tab the Live Opponents started to show W/kg again.

    Btw, is it possible to get it to show more than 4 opponents? I don't use any other widget on the right side anyway.

  • Yesterday I experienced this problem again.
    It was on TDA 4.56.3.41553
    Note that I was streaming the video.

    Everything was fine in the beginning. W/kg of opponent shown on the "On This Ride" widget was updating regularly as expected. After around 10 minutes in the W/kg of the opponent froze at 1.20 W/kg and it never got unstuck.

    The opponent continued moving along the profile shown on the bottom of the screen. My distance to the opponent increased very quickly (too quickly).
    In the video there's a climb, ^318m-7% avg, so I timed:
    The opponent finished the climb within 5 minutes.
    I did the same climb in around 18 minutes at ~4 W/kg. I conclude the speed/time at which the opponent was finishing the ride should not be possible.

    On my screen the opponent fully finished the ride. When I finished the leaderboard did not show this opponent.
    Afterwards I checked the Tacx log and I found these messages related to Live opponents. 15:16 is the time the W/kg froze:

    2024-05-29T15:16:25.9818629+00:00|INFO|32|LiveOpponentsService|Live opponents disconnected. Reason : ClientTimeout
    2024-05-29T15:16:25.9818629+00:00|INFO|32|LiveOpponentsService|Live opponents trying to reconnect
    2024-05-29T15:16:25.9818629+00:00|INFO|32|LiveOpponentsService|Live opponents : Mp state changed : Disconnected
    2024-05-29T15:16:36.7536797+00:00|INFO|5|LiveOpponentsService|Live opponents : Mp state changed : ConnectingToNameServer
    2024-05-29T15:59:43.9859581+00:00|INFO|2|LiveOpponentsService|Live opponents : Mp state changed : Disconnecting 

    I did not find any other connected/reconnected messages in the logs. I'm not sure these are to be expected...
    My TDA did not show any balloons/popups warning about cloud connectivity issues. During my ride I was watching a video stream on the same internet connection which was working fine.

    I'm left with the following theory:
    Maybe I experienced a very small internet hiccup at 15:16:25 after which TDA did not attempt to reconnect Live Opponents (or it did but only once and too quickly after the hiccup)
    TDA then proceeds by doing a sort-of-extrapolation of speed (in my case very unrealistic) of the Live Opponent so it "feels" you still are racing against Opponents.

    Personally I would prefer that Live Opponents are removed from the screen until my connection to Live Opponents is restored.
    Also, based on the logs it seems that reconnection was only tried once? I think there's room for improvement here ;)

    Tacx developers please improve this!