rollerderby / scoreboard

CRG Derby Scoreboard
Other
136 stars 55 forks source link

[BUG] Groundhog Day #704

Closed bullseye555 closed 4 months ago

bullseye555 commented 5 months ago

Reported via Facebook from Amy Feral Fouler - replication hasn't yet been attempted

Describe the bug CRG repeats a jam. In the example given, P2J6 repeats itself

Footage here https://www.youtube.com/live/2Sy7uns5xHo?si=3W37FgF1Bkllim2I (start at 3:32:05 to see the end of the first J6, line up time, and start of next J6)

Version: 2023.5

If this issue occurred on a computer, please complete the following information:

Unknown. Have requested and will advise once received

Logs & JSON files have also been requested

frank-weinberg commented 5 months ago

Watching the footage I notice that the first Jam 6 is started 5 seconds late on the scoreboard. Any chance we can get info on what went on there? I'm wondering if there was some kind of malfunction and the SBO then started the Jam using the Start button on the Jam clock instead of the Start Jam button. That could explain the double Jam 6.

bullseye555 commented 5 months ago

I've asked for more details and will pass on when received

bullseye555 commented 5 months ago

No malfunction

SBO was running the score desk solo and was distracted by a late blocker trying to get on track and being returned to bench by the HR. No funky business, just a late start to the jam

Other info

For the Groundhog day Jam - how did that display on the ePLT/Scorekeeper screens? Was there anything done to alter it, or was it just left as-is and what's in the JSON is what was on the screen(s) ?

ePLT behaved as normal, I was PLT for one of the teams and I didn't even notice the duplicate jam number. I was allowed to put lineups in as normal. On the feed you can see that they are a different lineup from the previous jam. The output from the game data retained the original J6 lineup and score but not the 2nd J6 lineup and score.

Device details

Amy believes it was running Windows 11 and the most current Java

Log and JSON files

Amy notes: the game files seem to have reverted to "prepared" state, there is no data for that game. It shows 2 periods but only 1 jam with no data in period 2 GRD Game 6-1-2024 crg.log STATS-2024-06-01_GorgeRollerDerbyAllStars_vs_CherryCityRollerDerby8WheelAssassins_2.json

frank-weinberg commented 5 months ago

The first Exception in that log shows why starting the timeout failed: The preceding Jam (the second J6) had not been added to the period. But after hours of digging through the code and watching the whole period up to the incident, I still have no idea how the hell that could have happened.

At least this is more insight than I have had for prior incidents where the internal state got garbaged. I'll get back to this when I have more time.

frank-weinberg commented 4 months ago

Steps to reproduce:

  1. Start a Jam
  2. Before the JSON update from the jam start has reached the tablet make a lineup change
  3. End the jam and start another one. That one will have the same number as the one from step 1 (this bug)
  4. After that jam start a timeout

BOOM (#705, #709, European Regionals game 8)

(Fix is coming)

bullseye555 commented 4 months ago

😮😮 Great detective work, Speedy!!

On Tue, 18 June 2024, 08:10 frank-weinberg, @.***> wrote:

Steps to reproduce:

  1. Start a Jam
  2. Before the JSON update from the jam start has reached the tablet make a lineup change
  3. End the jam and start another one. That one will have the same number as the one from step 1 (this bug)
  4. After that jam start a timeout

BOOM (#705 https://github.com/rollerderby/scoreboard/issues/705, #709 https://github.com/rollerderby/scoreboard/issues/709, European Regionals game 8)

(Fix is coming)

— Reply to this email directly, view it on GitHub https://github.com/rollerderby/scoreboard/issues/704#issuecomment-2174519377, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG3YNGZJ3WVR5BHKSWPSOY3ZH5NGVAVCNFSM6AAAAABIVLUGWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZUGUYTSMZXG4 . You are receiving this because you authored the thread.Message ID: @.***>

bullseye555 commented 4 months ago

@frank-weinberg I mentioned the steps for this bug (and advice to not have PLT making updates in the 2-3 seconds either side of Jam Start to ensure sync), and Sam Skipsey mentioned that one of they times they saw the P2 Upcoming bug they were NOT using ePLT at the time

To quote

no lineup changes were made in the PLT tablets at all for that game (they were, briefly, for a previous game, before that game started, to check PLT was working & they were connected).

frank-weinberg commented 4 months ago

The same race condition can also be triggered by other updates. This one was just the first one I found. The fix should cover them all.