Whatever the problem is, it seems to be subtle. I can't *reliably*
reproduce it on the original Debian 6 system.
I saw the problem in a shell that had been running for a couple of weeks,
with several thousand commands executed. Replacing the shell process with
"exec bash -l" (using the same version of bash) did not fix the problem,
but starting a new shell seems to have fixed it, at least for now.
For a while, I had two running login shells, one that had the problem
and one that didn't. Comparing the output of "set" and "shopt" from
both shells didn't show any differences that could explain this.
My best guess at this point is that some internal data structure was
corrupted as a result of *something* that I did. I wish I could be more
specific. I'll keep an eye on it, and let you know if I can come up with
something more concrete.
Any suggestions on more data I can gather if this happens again?
I can try attaching strace and sending a copy of the log.