Informix Error -527
-527 Lock Mode is not available on this system.
You tried to use the SET LOCK MODE TO WAIT statement on IBM Informix SE, but your IBM Informix SE database server uses CREATE LOCKING rather than System V locking. If the error recurs, note all circumstances and contact IBM Informix Technical Support.
The database server cannot execute the SET LOCK MODE TO WAIT statement because the host operating system does not have adequate support for locking to permit waiting for a lock to be released. On this system, your program will be notified when a table or row is locked (with an error such as -233 or -378); your program determines what to do next, such as rolling back the transaction and trying it again.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-527 is specific to IBM Informix SE: SET LOCK MODE TO WAIT requires System V-style locking
support from the host OS, and this SE instance is instead using SE's CREATE LOCKING mechanism,
which doesn't support waiting for a lock to be released.
SET LOCK MODE TO WAITissued against an Informix SE database server configured for CREATE LOCKING, per the official guidance — the direct, only cause.- Application code written against (or ported from) a platform where
WAITmode is supported, not accounting for SE's CREATE LOCKING limitation on this host.
Solutions / Resolution
- Don't rely on
SET LOCK MODE TO WAITon this system. Per the official guidance, the program will instead be notified immediately when a table or row is locked, via an error such as -233 or -378. - Handle lock-conflict errors explicitly in application logic: on -233/-378, roll back the transaction and retry, per the official guidance's suggested pattern, rather than expecting the server to wait automatically.
- If this recurs unexpectedly on a system believed to support WAIT mode, per the official guidance, note all circumstances and contact IBM Informix Technical Support.
Examples
The disallowed statement on this system
SET LOCK MODE TO WAIT;
-- -527: this SE instance uses CREATE LOCKING, not System V locking
Handling lock conflicts explicitly instead
SET LOCK MODE TO NOT WAIT; -- the default; conflicts surface immediately
BEGIN WORK;
UPDATE orders SET status = 'shipped' WHERE order_id = 42;
-- on -233/-378: ROLLBACK WORK, then retry after a short delay
Diagnostic Checks
- Confirm the Informix SE instance's locking mechanism (CREATE LOCKING vs. System V) before
assuming
WAITmode is available. - Review application retry logic for -233/-378 to confirm it exists, since this system depends on the application handling immediate lock-conflict notification rather than server-side waiting.
Related Errors / Related Topics
- -233 — "Cannot read record that is locked by another user." One of the two lock-conflict errors the official guidance says to expect instead of waiting; both -233 and -378 describe a locked record, differing by the operation that hits the conflict rather than by lock granularity.
- -378 — "Record currently locked by another user." The other lock-conflict error the official guidance says to expect instead of waiting.
An Informix SE / CREATE LOCKING limitation: handle -233/-378 explicitly with a rollback-and-retry
pattern instead of relying on SET LOCK MODE TO WAIT.