Informix Error -403
-403 The size of a received row disagrees with the expected size.
This internal error indicates a problem in the communication between the database server and the library functions that call it. Check that your program is at the same software level as the database server in use. If the error recurs, note all circumstances and contact IBM Informix Technical Support.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-403 is an internal communications-protocol error, similar in kind to -361: it reflects a
mismatch between what the client library expects and what the server actually sent for a row's
size, most commonly stemming from a client/server software-level mismatch.
- A client library compiled/linked against a different server version than the one actually
being connected to — similar in root cause to
-368'ssqlexecincompatibility, but surfacing as a row-size mismatch instead. - A driver or client library bug in how row data is decoded from the wire protocol.
- Network-level corruption affecting the data exchanged between client and server, though rare.
Solutions / Resolution
- Ensure the client program's software level matches the database server's, per the official
guidance — this is the most common concrete fix, mirroring
-368's resolution. - If the problem persists after confirming version alignment, document all relevant details (client driver/version, server version, statement being executed) and contact IBM Informix Technical Support, per the official guidance, rather than attempting further application-level workarounds.
- Check for a client driver/library update if the error recurs consistently with a specific client.
Examples
Confirming client/server version alignment
-- Compare the client library's compiled/linked version against
-- the actual connected server version (the server's version
-- appears in the header line of `onstat -`; check the client
-- SDK's own version-reporting utility on the other side).
Documenting circumstances for escalation
- Client driver and version in use
- Server version
- Exact statement being executed
- Frequency: one-off or reproducible?
Diagnostic Checks
- Confirm the client library's version matches the connected server's version.
- Check for available client driver/library updates.
- Confirm whether the error is a one-off or reproducible.
Related Errors / Related Topics
- -361 — "Column size too large." Another internal communications-level error in the same general client/server-protocol family.
- -368 — "Incompatible sqlexec module." A related client/server version-mismatch error, at a more explicit level (a named incompatible module) than this row-size-disagreement symptom.
Check client/server version alignment first, since it's the most common concrete fix — escalate to IBM Informix Technical Support with full reproduction details if the mismatch persists.