Error 834

Severity

20

Message text

Illegal attempt to clean buffer: %S_BUF.

Explanation

The Cache Manager works in conjunction with the Buffer Manager to manage physical disk pages while they are in memory. When a page is read into memory from the disk, a buffer header is assigned to it. The header tracks the usage and the contents of the page image. The page and the buffer header together define a buffer.

The buffers themselves are grouped together to form memory address space segments (MASSes). A buffer cache consists of MASSes linked in MRU/LRU (most recently used or least recently used) chains. The Cache Manager manages MASSes and buffer caches.

When a buffer or MASS is no longer needed (for example during a drop database, drop table, drop index, or deallocation of pages), Adaptive Server performs some cleanup tasks and releases the resources taken up by the buffer or MASS. Before these actions are carried out, Adaptive Server does a number of checks to make sure the buffer or MASS is no longer in use. Error 834 occurs when one of these checks fails. It is caused by an Adaptive Server problem.

Error 834 occurs with the following states:

State

Meaning

1

If the MASS is actively being used or if Adaptive Server is in the process of writing out the MASS when Adaptive Server tries to clean it up, error 834 occurs with state 1. This state is only raised by diagserver.

2

If the buffer is still hashed or has not been cleaned up when Adaptive Server is ready to release it, error 834 occurs with state 2. This state is only raised by diagserver.

3

If the buffer is actively being used or if Adaptive Server is in the process of writing out the buffer when Adaptive Server is ready to release it, error 834 occurs with state 3. This state is only raised by diagserver.

4

If the buffer belonging to a database has been set aside for later use and Adaptive Server tries to clean it out of a cache, error 834 occurs with state 4.

5

If a buffer belonging to an object has been set aside for later use and Adaptive Server tries to clean it out of a cache, error 834 occurs with state 5.

Action


State 4, LTMs running

834 errors with state 4 can occur if the log transfer manager (LTM), a Replication Server component, is running during server recovery. The LTM process attempts to log in before the database is fully recovered. To avoid this error, shut down the LTM before restarting the server. Restart LTM only after all the databases have been recovered.


All other states

Shut down and restart Adaptive Server to clear the buffer structure. If error 834 occurs again, call Sybase Technical Support.

Versions in which this error is raised

All versions