Adventures in Open Source

ziggy on 2002-08-06T03:35:40

Last week, I was seeing some intermittent problems with my dialup link to the ISP. It happens every so often, and usually forcibly disconnecting and reconnecting is sufficient to sort things out. (Occasionally, there's some cut fiber in the area, and nothing works, which can get to be quite frustrating)

This time, the standard fixit-hacks weren't working. So I decided to drop down into singleuser mode and restart everything from scratch. This is a rather extreme solution, one minor step away from "reboot, and see if it goes away".

FreeBSD failed to return from singleuser mode; it failed to reboot as well. Thankfully, I was able to get into singleuser mode from the boot loader and fix things. (The problem was happening during init, not hardware configuration.) Something was very wrong, so I started to recompile a fresh kernel. (It's been a while, and there are a few fixes I updates I needed to catch.) The GENERIC kernel seemed OK (but didn't have the de driver, which may have been part of it). My custom kernel continued to hang on boot.

Eventually, I traced the problem down to ethernet bridging -- the sysctl variables I had set in /etc/sysctl.conf used to work, but now they're causing a fatal hang. Eventually I poked around enough (causing a few crashes in the mean time) until I got the whole thing sorted.

Oh well. An unexpected 3 hours of system maintenance. It's better than an opaque BSOD (one of the NT boxes at work has got some strange juju - login once, and it fails to create a profile for you; login twice, and it crashes creating a profile for you; reboot and login, and it fails to find your profile; login a fourth time, and all is well).