I’ve been observing a really strange problem on Ubuntu Server 8.04: processes are sitting in limbo not doing anything. I first observed this as phones losing their SIP registrations periodically (but at random intervals).
When debugging the issue, I saw that a ping
running on the system would often just sit there, not sending more packets, sometimes for seconds on end (I didn’t always wait to see if it would ever continue). Since hitting a key on the keyboard would immediately be echoed back, it wasn’t a problem with the terminal or ssh connection. Pinging the system from another would work without problems. Interrupting ping
would report no packet loss (which was true — you can’t lose replies to packets you didn’t send).
My best guess is that the alternative scheduler chosen by the Ubuntu developers for the server kernels doesn’t work as intended on AMD CPUs (or just the Athlon XP, or some other part of the hardware I’m using).
My “fix” was to switch to Debian 5.0 (lenny), which doesn’t exhibit this problem at all.
I could have tried with the desktop edition of Ubuntu, but can’t really spare the time right now. Especially since I now have something that works reliably again.
I did try with different network hardware, though. I was originally using an SMC card based on ns83820
(but for some reason not reporting anything at all with ethtool
— works fine with the gsip
driver on NetBSD). I then switched to a Netwjork “brand” card based on r8169
(well liked by ethtool
). No difference, but stayed with the latter (working ethtool
is always nice).