Recent versions of xfree and xorg-x11-6.7.0 will sometimes trigger what seems to
be a hardware bug in Transmeta's Crusoe processor. An example error message is :
The program 'firefox-bin' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadLength (poly request too large or internal Xlib length
(Details: serial 576712 error_code 16 request_code 18 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error()
After a crash occurs, most other programs refuse to open, reporting a similar
error. If a system is left alone for a while the problem disappears. This
seems to be due to the Crusoe's instruction cache. If an affected system is
given new instructions, the problem disappears quicker, as new optimized code
has filled the cache. Rebooting the system also clears the problem.
Debian bug 216933 contains many accounts of this behaviour.
Version info for my Crusoe (in a Fujitsu P1120):
CPU: Processor revision 220.127.116.11, 800 MHz
CPU: Code Morphing Software revision 4.3.2-9-548
CPU: 20021205 18:32 official release 28.0.1-4.3.2#1
This is a processor issue, documented extensively on debian-x.