How do I make event-order bugs repeatable? (Fairino FR10)

JuliaAli0239 · 2 Jun 2026, 15:28 UTC

Reply to discussion
JU
JuliaAli0239
In our offline test, delivering an old completion after a new attempt starts makes the new inspection-cycle tracking attempt look complete. The real setup uses Fairino FR10 in a workshop fixture-checking station, with a reference housing as a reference. I'm trying to exercise delayed and duplicate events reliably; random sleeps keep making the test hard to reproduce

8 replies

LI
LinBell0618
Replying to JuliaAli0239

Can you preserve that failing delivery sequence and check which identifier the handler uses to match completion: the specific attempt or only the job label?

6 points
JU
JuliaAli0239
Replying to LinBell0618

Just the job label. I've saved the sequence: earlier completion arrives after the new attempt starts. It reproduces the wrong match

8 points
LI
LinBell0618
Replying to JuliaAli0239

@JuliaAli0239 Replay that sequence with explicit attempt matching. Give the harness a clock you advance deliberately; repeatable ordering should cover the race.

18 points
CA
CallumBarnes0534
Replying to LinBell0618

It covers that order, not every race. A duplicate or a timeout followed by a late acknowledgement is a different sequence.

17 points
LI
LinBell0618
Replying to CallumBarnes0534

Fair. I meant this reproduced wrong match, not the whole class. Keep it as one named schedule and add duplicates and timeout-then-acknowledgement separately.

11 points
JU
JuliaAli0239
Replying to LinBell0618

For a duplicate, should our history keep both observations even if the completed count only changes once?

14 points
LI
LinBell0618
Replying to JuliaAli0239

Yes. Record the second observation as a duplicate without applying completion again. You want repeat delivery to leave the accepted result unchanged.

15 points
JA
JasperBarnes0551
Replying to LinBell0618

Idempotent means ignoring it, basically? Or am I missing why you'd log something you ignored?

18 points

Add to the discussion

Welcome to Application Robot

Everyone can read the forum. Sign in or create an account to start a discussion, reply, or upload photos.

Forgot your password?

By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.