ttyflags wants to set some little flags on each tty. These flags are LOCAL, CRTSCTS, SOFTCAR and MDMBUF.
To do so, it opens every physical tty listed in /etc/ttys with open(path, O_RDONLY | O_NONBLOCK), does an ioctl to the mode, and close it. That ioctl should not block. It's right there, in the argument. If that blocks, the driver has a bug. My guess is that com.c has had a bug for a long time regarding non-existing or bogus or otherwise weird hardware, and what has changed trust ACPI's tables that there is an actual com device at a certain hardware address, and the driver code trips over the device and goes into a non-returning loop. What can I recommend? change /etc/rc to do ktrace -di -o /tmp/ktrace.out ttyflags -a & add add something like sleep 40 kdump -lf /tmp/ktrace.out That might let us see it it hung on open() or in the ioctl()