TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

My Hardest Bug

3 点作者 ttsiodras将近 6 年前

1 comment

daly将近 6 年前
IBM OS gets loaded into memory which the hardware marked as &quot;read-only&quot;. However, a bad bit in the memory caused a change which caused the hardware to mark the page as &quot;dirty&quot; so it got paged out with the failed bit copied into the disk image... The OS took &quot;core dumps&quot;, leaving a pile of paper with a binary printout of all 16Mbytes of memory at my door, because core dumps automatically printed. Paper piles every day. It was a long week.<p>PL&#x2F;I had a language feature to copy-by-name from one record to another record. However, it didn&#x27;t work as advertised and the only way to find it was from core dumps. A grant-funded project was failing.<p>The IBM 370 wouldn&#x27;t boot up for 3 days. It turned out that the 3270 display controllers on channel 0 were causing a fault at power-up (found only after we flew in one of the designers). It turned out that the hardware maintenance guys were swapping boards between the dozens of controllers but the controllers were at different levels of &quot;yellow wire patches&quot; so they were not compatible. So 72 programmers (who shared the machine) did nothing for 3 days.<p>Back in the 1970s I hooked a Unimate robot to a PDP 11&#x2F;03 which caused the PDP to freeze. Turns out there was a &quot;ground loop&quot; (electrical fault) that caused the PDP backplane to carry 440V rather than 5V. It takes a long time to decide to check voltage levels on a backplane.<p>Our Robot control board required a &quot;useless read&quot; to initialize the board. The data was garbage so the result was ignored. All following reads were valid. But it didn&#x27;t work. The hardware guy swore we were not doing the initialize read. I showed him the code. We finally put a scope on the wires to settle it. The software was NOT doing the initial read, despite what the code said. Turns out the new Bliss optimizing compiler decided it could remove the read because the result was never used.<p>My paper tape failed to load from the TTY just before we were going to demo for our major customer. Turns out the memory address control chip died. Fortunately Radio Shack had the chip and a de-soldering gun so we replaced the chip and it worked.<p>There were SO many more... Except for the last one, they cost me several days of &quot;being in the hot seat&quot;.<p>A subtle bug can ruin your whole day.