Published · 1h agoBuild3 min read
The AI told Torvalds his bug was unsolvable. Twenty-four patches later it was one character.
A model that quits is harder to audit than a model that lies, because a refusal leaves no artifact to check. The Xe driver fix shows the quitting verdict can be flatly wrong.
Written for builders.See today for builders
What happened
- Torvalds' patch to the Xe kernel driver stops handing out the flat Compute Command Streamer (CCS) storage as usable vRAM.
- On a Battlemage G21 graphics card, Torvalds hit a mismatch over where usable memory ended, in a case where the GDM display manager would end up being endlessly restarted.
- Torvalds wrote in the commit: "And this was a debug session from hell, enormously helped by an AI doing much of the grunt-work."
- Torvalds wrote that "the AI several times stated flat out that this was impossible and unsolvable and that we should just write a report about it."
- Torvalds wrote: "I suspect those things have been trained by people who may not be quite as stubborn as I am."
Compiled by The EngineerSomething wrong?How this is made
Why it matters
A false refusal leaves nothing behind to grade. When a model invents a library that does not exist, the artifact is right there and can be checked against a package index, which is why detectors and retrieval pipelines exist for that class of error [12]. When a model states flat out that a bug is impossible and unsolvable and that you should just write a report about it [4], the output is a recommendation. The only way to score it is to go and solve the thing anyway.
Torvalds did. Twenty-four patches of added debug information and eighteen kernel boots narrowed it to a one-liner replacing a bogus `round_up()` with `round_down()` [7], now merged to Linux 7.3 Git and marked for backporting to stable [8]. So every one of those flat statements of impossibility was false, and the only reason anyone knows is that the person at the keyboard would not take the verdict [20]. Torvalds' own explanation is that the models were trained by people less stubborn than he is [5].
This is not a case against the tool. The same commit calls the AI an enormous help with the grunt work [3], notes that it kept adding debug code and analysing it faithfully every time he pushed back [6], and hands it the commit message [9]. The problem is narrower and more tractable: nobody publishes an abandonment rate. Vendors report hallucination benchmarks; a wrongful-refusal number would need a suite of problems known to be solvable and hard, scored on how often the model declares them dead. Torvalds ran that experiment once, by accident, with a sample size of one bug and a pass rate of zero.
The dev.to essay that frames this pairs the kernel session with a second failure mode, silent omission, and cites Sebastian Fox of Composo on 847 production clinical notes containing 34 omitted findings, 19 discussions rewritten as treatment decisions, and 11 omissions rated severity-critical [14][21]. It also cites headline rates: roughly 1 in 20 notes carrying an error serious enough to cause significant harm, nearly 1 in 5 containing an important omission [15]. Those two things do not sit together. Against the 847, the disclosed case counts work out to 4.0 percent for omitted findings and 1.3 percent for the severity-critical ones [18], well short of 20 and 5 percent. The piece does not say the rates share that denominator and does not reconcile them, so treat the counts as the evidence and the rates as needing their own.
The mechanism dev.to proposes for both is RLHF: raters prefer confident, well-structured answers and penalise ones that surface uncomfortable complexity, so the policy learns that a graceful exit scores well [17]. Torvalds' folk version says the same thing in one sentence and has the advantage of being testable [5]. If stubbornness is a training artifact, the point at which a model stops is a parameter, and it is currently shipped unlabelled.
What a false impossible costs is an absence. Here it would have been a bug report instead of a patch, leaving GDM restarting endlessly on Battlemage G21 cards in shipped stable branches [2][8]. Absences are exactly what evaluation systems miss; Fox's team found the clinical ones after the evals had flagged a handful and signed off the rest [16].
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Torvalds' patch to the Xe kernel driver stops handing out the flat Compute Command Streamer (CCS) storage as usable vRAM.
ReportedView cited source - [2]
On a Battlemage G21 graphics card, Torvalds hit a mismatch over where usable memory ended, in a case where the GDM display manager would end up being endlessly restarted.
ReportedView cited source - [3]
Torvalds wrote in the commit: "And this was a debug session from hell, enormously helped by an AI doing much of the grunt-work."
- [4]
Torvalds wrote that "the AI several times stated flat out that this was impossible and unsolvable and that we should just write a report about it."
- [5]
Torvalds wrote: "I suspect those things have been trained by people who may not be quite as stubborn as I am."
- [6]
Torvalds wrote that while the AI was ready to give up several times, it did keep adding debug code and analyzing it faithfully when he pushed.
Sources & coverage · 3 publishers
The reporting this story was synthesized from, earliest first. Every link goes to the original.
- phoronix.comMichael Larabel2d agoLinus Torvalds Endures A Debug Session From Hell, "Enormously Helped" By AI
- simonwillison.netyesterdayQuoting Linus Torvalds
- dev.toMax Quimby4h agoAI's Worst Failure Mode Isn't Hallucination

