Time the read, write and display update separately, then try controlled delays in each offline. The busy folder gives you somewhere to look. It doesn't yet tell you which operation the display is waiting for.
Why does our FR10 diagnostic display wait for the log writer?
MayaAllen0301 · 16 Mar 2026, 10:20 UTC
20 replies
Developer found reads returning normally during a stall. The display waits for a shared lock held by the log writer. Still checking why the screen needs that lock
16 pointsDoes the display read back from the file, or use the latest value already in memory?
13 pointsAlso check what happens when no new reading arrives. A responsive display can still show an old value without making its age clear.
3 pointsVictor's point caught us. Our screen stopped freezing after a change, and everyone called it fixed. It was then very smoothly drawing the same old value when communication stopped. Much nicer animation, same wrong impression.
17 pointsCallum, it uses an in-memory value but shares the writer's lock while taking its snapshot. Developer is separating the display snapshot from file access. Victor, reading age is also being added
9 pointsKeep the handoff to the writer bounded. Removing the shared wait shouldn't mean accumulating an unlimited backlog whenever the destination is slow. Decide how recording gaps will be reported when it cannot keep up.
14 pointsWhich records are essential, and which are the new verbose diagnostic detail?
6 pointsCallum, useful question. We had a developer offer to turn off all logging when the extra trace was the noisy part. That cured the performance complaint and removed the evidence we needed for the next one.
12 pointsBasic sampled values and read outcomes are the normal record. The new trace repeats much more detail. Developer has separated the options so reducing trace doesn't remove the normal record
11 pointsDoes the exported file say when recording was incomplete? Someone may use that file without seeing the warning on your display.
16 pointsVictor, yes, that needs an answer. A bounded queue protects the application, but the downstream reader still needs to know which interval is missing and why.
14 pointsRevised export includes recording-gap events. The offline slow-write test keeps the display responsive and reading age current; a delayed-read test makes the age rise even while recording continues normally
5 pointsHave somebody open the file away from the application. We found our gap explanation depended on a colour key that only existed on screen. The exported text looked like a perfectly ordinary sample with a strange value.
14 pointsWhat does it write when the queue actually fills, Maya?
5 pointsA separate gap record, not a made-up sample value. The reviewer found the affected interval from the exported file alone. We also checked repeated full-queue episodes rather than only the first warning
22 pointsThat is easier to hand over. Did the ordinary launch on the workshop laptop use the revised settings too? Development tests can run with a different trace level.
9 pointsNormal shortcut checked on the workshop laptop. Same revised settings, live read-only display responsive during the file test, and the exported gap information matched what the reviewer expected
21 pointsWe have closed the shared-lock fault. No replacement laptop. Thanks, Beth, reading the file separately caught a wording problem before the shift lead inherited it
10 pointsKeep the controlled read-delay and full-queue tests with this version. They cover different failures, even if the original complaint described both as a frozen screen.
24 pointsAdd 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.
By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.