OpenBSD 4.5 was released the other day. I upgraded one of my servers and workstations to the new release, from 4.4-current and 4.4-release respectively. Mostly, things have gone pretty smoothly, as is usually the case with OpenBSD. The new release has plenty of incremental improvements, with the developers gradually polishing and refining things such that the operating system as a whole gets better and better. Some of the highlights for me include the new multi-plexing, re-sampling, low-latency audio server aucat(1), the new even-stricter malloc(3) which can catch buffer overflows of even a single byte. Additionally, the Atheros wireless driver, ath(4), which I have in a couple of my laptops, now supports WPA. All in all, lots of nice improvements which make OpenBSD even more of a pleasure to use. I did however come across one nasty bug after upgrading one of my servers. We use the symon system monitor on all our servers to log and graph all the sorts of system and network metrics you'd expect - cpu usage, disk, memory, network io, etc. This is very useful for capacity planning and also for spotting bugs or mis-configurations. Especially on a shared, multi-user system you want to keep an eye on resource utilisation over time. Unfortunately, the 4.5-release symon package for amd64 would exit after startup. When I ran it in debug mode, it gave me a 'Bus error' - then when I twiddled the symon.conf a bit more to remove some sensors, it would exit with a segfault, and finally I could get it to run by disabling some stuff but it would spew warning messages to standard IO. Specifically, it had a problem with the if(lo0) and if(bnx) sensors. If I disabled those, it would run, but spit out warnings. However, these sensors were pretty useful to me, so not having them was very annoying. I noticed some recent commits to the -current symon port, so I decided to give that a shot. Its always pretty hairy building -current ports on -release, but in this case I didn't have much choice. Fortunately for me, the -current symon port built and ran fine, completely eliminating the issues I'd had with the 4.5 -release packages. So, this was a mild annoyance, although it does highlight the sad demise of the -stable ports tree. Overall, 4.5 is a solid release with plenty of new features, just be warned that the symon package might not work out of the box for you, if you rely on it.
Niall O'Higgins is an author and software developer. He wrote the O'Reilly book MongoDB and Python. He also develops Strider Open Source Continuous Deployment and offers full-stack consulting services at FrozenRidge.co.Tweet