Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can anybody think of an explanation why the 'bug' happened only after the 576th byte?


I loves me some speculation! Here goes:

576 decimal looks like this in other common bases:

  binary: 0000 00010  0100 0000
  octal: 1100
  hexadecimal: 240
My first inclination would be a firmware problem: was it upgraded recently? Are there any known problems with the version that was installed? Did you build it yourself? If we have access to the code, the information about the 'shape' of 576 may come in handy. Or maybe we just need to look at your build environment.

Assuming the firmware had not changed recently (very likely in gear that sits quietly doing its job without human intervention for long periods of time), then failing hardware becomes the suspect. Maybe a memory module is going bad and this particular byte is normally avoided (see intermittent failures in OP.) Maybe it's using flash to store transitory data and a particular cell is going bad. Maybe the unit has suffered vibration damage and a solder point related to memory has come loose.

Some of these are far less likely than others. I think of all these, I'd put money on a bad memory stick.


576 bytes is the minimum datagram size that must be accepted by all nodes in an IPv4 internet.

In practice, on the modern Internet, you'll see tons of packets larger. So who knows; perhaps some massively outdated optimization in an ASIC somewhere resulted in different hardware paths for >576 bytes.


Might just be accidental as it could be bad RAM. Perhaps it just happened to pass poor QA tests that only checked small packets.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: