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

JuliaAli0239 · 2026年6月2日 15:28 UTC

回复讨论

主帖中文翻译暂不可用,以下显示英文原文;回复保留原文。 查看英文原文

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 条回复

LI
LinBell0618

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分
JU
JuliaAli0239

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

8分
LI
LinBell0618

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

18分
CA
CallumBarnes0534

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

17分
LI
LinBell0618

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分
JU
JuliaAli0239

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

14分
LI
LinBell0618

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

15分
JA
JasperBarnes0551

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

18分

参与讨论

欢迎来到 Application Robot

所有人都可以阅读论坛。登录或注册后即可发起讨论、回复或上传照片。

忘记密码?

注册账号即表示你同意我们的 使用条款 和 社区准则。请阅读我们的 隐私政策 ,了解我们如何处理你的信息。