From <https://www.tomshardware.com/software/macos/macos-has-a-49-7-day-networking-time-bomb-built-in-that-only-a-reboot-fixes-comparison-operation-on-unreliable-time-value-stops-machines-dead-in-their-tracks>:
Speaking from personal experience, using a Mac as a server or
server-like contraption is quite an interesting proposition, as
despite its Unix roots, the operating system isn't exactly
designed for unattended, 24/7 usage and is difficult to set up and
use as such — fighting words, but I stand by them.
Yet another person being taken in by Apple’s use of the “Unix” trademark. In fact Apple’s OS never had any AT&T Unix code in it at
all.
This is peculiar, though:
While most every user will reboot their Mac at least once in the
space of a few weeks, if you happen to leave one running for
precisely 49 days, 17 hours, 2 minutes, and 47 seconds, many parts
will suddenly stop working as its TCP/IP networking stack dies.
I thought macOS was BSD-based? And didn’t BSD have the best TCP/IP networking stack at one point?
Seems those days are gone, eclipsed by Linux.
A clue:
As defined by standards, operating systems collect and remove
closed TCP connections after a short while; 30 seconds in the case
of macOS. The result of attempting to clean up these inactive
connections when tcp_now is close to or at its limit (and gets
stuck there thanks to a bug in Apple's XNU kernel) is that any
connection's expiration status is calculated against that frozen
number, resulting in a value that always overflows a 32-bit
unsigned integer. When the periodic check comes to see whether a
closed connection is meant to be deleted, the result is always
"no," because the comparison math doesn't work.
What does “XNU” stand for? It stands for “XNU’s Not Unix”. So you start to understand how the bug could have come in: Apple has been
meddling with its own OS’s “Unix roots”, and has broken the networking stack in the process.
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,113 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 492338:07:13 |
| Calls: | 14,238 |
| Files: | 186,312 |
| D/L today: |
4,144 files (1,346M bytes) |
| Messages: | 2,514,917 |