Why does our FR10 diagnostic display wait for the log writer?
MayaAllen0301 · 16 Mar 2026, 10:20 UTC
20 replies
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.
19pointsDeveloper 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
16pointsDoes the display read back from the file, or use the latest value already in memory?
13pointsAlso check what happens when no new reading arrives. A responsive display can still show an old value without making its age clear.
3pointsVictor'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.
17pointsCallum, 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
9pointsKeep 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.
14pointsWhich records are essential, and which are the new verbose diagnostic detail?
6pointsCallum, 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.
12pointsBasic 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
11pointsDoes the exported file say when recording was incomplete? Someone may use that file without seeing the warning on your display.
16pointsVictor, 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.
14pointsRevised 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
5pointsHave 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.
14pointsWhat does it write when the queue actually fills, Maya?
5pointsA 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
22pointsThat 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.
9pointsNormal 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
21pointsWe 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
10pointsKeep 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.
24pointsDiscussion closed
This discussion is closed to new replies after six months without activity. Last activity: .