All versions of the Doom engine contain an error in the
EV_BuildStairs function which leaves several fields in the
floormove_t thinker structure uninitialized. This structure tracks moving sector floors, remembering facts such as their destination height, speed, crushing properties, and for "lower-and-change" types, what sector special and flat to which the sector should change.
By leaving the
texture fields of this structure uninitialized, this error causes the
T_MoveFloor function to later read effectively random values out of these fields. If the value of the
type field just happens to be
lowerAndChange, the random special and flat texture will be propagated to the sector. Since there is only one possible value out of 65536 that will result in this behavior, this problem is of extreme rarity, and may not be witnessed even once during literal years of gameplay.
This elusive glitch may cause the game to crash by attempting to load an invalid flat. More often, however, it causes the game to exit when the player steps on the offending sector. The error message "P_PlayerInSpecialSector: unknown special ###," with "###" being a seemingly random number, will appear at the DOS prompt.
This problem can also occur in Strife, which was based on Doom II 1.666. In the video, a descending set of stairs in Tarnhill that lead to the Front Base have suffered this malfunction on a single sector in the set. It has taken on a yellow-and-black-striped texture, and has the unknown sector type 102. The game exits as soon as the player steps into this sector. Unfortunately, due to Strife's hub system, this error has been saved permanently into the player's save file and will continue to act as an obstruction to progress.