When system log messages (all of them: hardware, security, syserr, etc) are generated in OpenVOS, they are sent to the syserr partition, and an event is notified. A process named TheOverseer is waiting on that event, along with a lot of other events.
In order to handle this event, TheOverseer then reads messages out of the partition and stores them in its user heap. It then writes the messages to the module console terminal, writes them to the specified log, and then deletes them from the user heap. If either of the 2 writes are unsuccessful, the message remains in the user heap for a retry later.
The partition is limited in size. The user heap will only contain a given number of log messages. If either of these areas overflows, the specified log file is locked for writing by some other process, or the console terminal is broken, a flag is set. This causes existing messages get overwritten and TheOverseer will output **Log Messages Lost** into the syserr_log and to the console.
TheOverseer has a lot of tasks to complete. Among them are creation and destruction of processes, send_message type of communication traffic, and others, which can take a significant amount of time and processing. If this process is busy, then it will not be servicing the syserr event mechanism often, and can lead to syserr wraparound.
Any module event that causes a flood of messages to be placed into the syserr partition (ex: stopping a lot of processes all at once, user applications writing to the syserr, etc) can cause the partition to become full. For this reason, we do not recommend that user applications use the syserr_log mechanism to keep site specific logging information. User applications should use their own mechanisms to contain application-specific logging information.