"One, named the “Dalmellington Bug”, after the village in Scotland where a post office operator first fell prey to it, would see the screen freeze as the user was attempting to confirm receipt of cash. Each time the user pressed “enter” on the frozen screen, it would silently update the record. In Dalmellington, that bug created a £24,000 discrepancy, which the Post Office tried to hold the post office operator responsible for."
https://clarotesting.wordpress.com/tag/dalmellingto-bug/
"The Dalmellington Bug entailed a user repeatedly hitting a key when the system froze as she was trying to acknowledge receipt of a consignment of £8,000 in cash. Unknown to her each time she struck the key she accepted responsibility for a further £8,000. The bug created a discrepancy of £24,000 for which she was held responsible."
It only mentions a few bugs out of the hundreds that were discovered (a full list hasn't been published), but it appears that the bugs weren't the only issue:
> In 2015, for instance, the Post Office told the House of Commons inquiry: “There is no functionality in Horizon for either a branch, Post Office or Fujitsu to edit, manipulate or remove transaction data once it has been recorded in a branch’s accounts.” This was untrue, and the Post Office admitted as such four years later during a high court case.
> In fact, staff at Fujitsu, which made and operated the Horizon system, were capable of remotely accessing branch accounts, and had “unrestricted and unaudited” access to those systems, the inquiry heard.
It's truly a scandal that no-one in charge at the Post Office or Fujitsu has been prosecuted for providing false testimony that led to so much misery and death for the sub postmasters. The MET has finally started to investigate fraud and perjury charges which seems like they only bother investigating crimes that have been made into a popular four-part series.
> Two people have been interviewed under caution but nobody has been arrested since the investigation was launched in January 2020.
Exactly what I said.
I worked in core banking systems for a bit. This is beyond basic, it demonstrates Fujitsu do not have controls in place to design compliant systems. Fujitsu should forever have their reputation tarnished and never let near financial systems. I don't often advocate selling a business to Tata, but this might be one of those times.
It seems like the classical mega-corp system issues:
"These flaws included rounding errors, data corruption, and issues with synchronization between local and central databases."
it seems like, on top of the buggy software, Fujitsu had contractors logging in to Post Office systems to manually 'fix' accounting errors the buggy software had produced
one of them described how while they were logged in to the POS system it would appear to be working to the real user but would actually be doing nothing because it was in some kind of remote admin mode, seems like the sort of remediation that's likely to make things worse
sounded like a total shit show
The wrong people went to prison.
All the existing convictions must be considered unsafe.
https://www.judiciary.uk/wp-content/uploads/2019/12/bates-v-...
The judgement in question: https://www.judiciary.uk/wp-content/uploads/2019/12/bates-v-...
[edit: added judgement proper]
https://www.jfsa.org.uk/uploads/5/4/3/1/54312921/technical_a...
But we can't blame this scandal on a software fault, or even an averagely terrible government IT contractor - there were some monsters in the Post Office who chose to take this as far as they did.
(for dang) I'd change this link to the main source on this story since the mid-2000s - https://www.private-eye.co.uk/special-reports/justice-lost-i...
> One, named the “Dalmellington Bug”, after the village in Scotland where a post office operator first fell prey to it, would see the screen freeze as the user was attempting to confirm receipt of cash. Each time the user pressed “enter” on the frozen screen, it would silently update the record. In Dalmellington, that bug created a £24,000 discrepancy, which the Post Office tried to hold the post office operator responsible for.
> Another bug, called the Callendar Square bug – again named after the first branch found to have been affected by it – created duplicate transactions due to an error in the database underpinning the system: despite being clear duplicates, the post office operator was again held responsible for the errors.
There isn't a full list of the bugs produced, but it does look like a lot of bugs directly involved incorrect accounting to be recorded.
But these bugs suggest that at least some of the errors would likely have been obvious in a ledger, and the Post Office simply didn't care. That rather makes Fujitsu look not quite as bad here, and the Post Office look worse.
Sounds like a rather complex distributed system which no one fully understood combined with the failure of the database to meet ACID requirements.
There isn't, as far as I can tell, a single interesting "bug" that was causing incorrect figures to be saved in a database, which is the impression you get from skimming the coverage.
> One, named the “Dalmellington Bug”, after the village in Scotland where a post office operator first fell prey to it, would see the screen freeze as the user was attempting to confirm receipt of cash. Each time the user pressed “enter” on the frozen screen, it would silently update the record. In Dalmellington, that bug created a £24,000 discrepancy, which the Post Office tried to hold the post office operator responsible for.
> Another bug, called the Callendar Square bug – again named after the first branch found to have been affected by it – created duplicate transactions due to an error in the database underpinning the system: despite being clear duplicates, the post office operator was again held responsible for the errors.
There isn't a full list of the bugs produced, but it does look like a lot of bugs directly involved incorrect accounting to be recorded.
The article gives one example of a bug where the UI would freeze/get stuck, but still respond to key presses, so a user might think the system had crashed but press 'enter' repeatedly, which would silently create several records.