Error 1251



Message text

An in-use preallocated semaphore cursor was encountered. 


A semaphore is the position at the head of a queue of locks, and is used by the server’s Lock Manager to ensure that tasks obtain valid and compatible locks. Error 1251 is raised when a task attempts to access a semaphore from a position in the queue that is already in use.

1251 errors are due to a Adaptive Server locking synchronization problem and results in a stack trace.

Some situations that can raise a 1251 error:


Call Sybase Technical Support for assistance; you may be able to upgrade to an Adaptive Server Enterprise version where the problem is resolved.

Additional information

If the error was raised while creating or altering a database on AIX, note that the space actually available on a device is slightly smaller than the device size; specifying a slightly smaller size when you create or alter the database may help resolve the problem.

If the error was raised while executing alter table drop column, disable parallel processing with sp_configuremax scan parallel degree” as a workaround.

If the error was raised invoking a Java method, check your query. Commands like begin tran, commit, rollback, set chained on/off are not allowed in nested SQL. See Java in Adaptive Server Enterprise for details.

Before calling Sybase Technical Support, have the information available that is listed in “Reporting errors”, including the query that raised the error.

Versions in which this error is raised

All versions