Informix Error -172: ISAM error: Unexpected internal error.
Cause and resolution
ISAM error: Unexpected internal error.
You encountered an unanticipated internal event. Consult the online.log to see if the diagnostics preserved any additional information regarding this event. If the error recurs, refer to your Administrator's Guide to acquire additional diagnostics. Contact IBM Informix Technical Support with the diagnostic information.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-172 is a deliberate catch-all: an internal event the engine didn't have a more specific error
code for. Unlike -117/-142 (flagged as legacy/obsolete) or -160/-161/-165 (specific internal
TEXT/BYTE-handling conditions), -172 doesn't point at any particular mechanism — it's what
the engine reports when something unanticipated happened internally, whatever that turns out to
be.
- A genuinely unanticipated internal engine condition — by design, this code doesn't narrow down the cause; that's the whole point of it being a catch-all rather than a specific code.
- Could stem from a wide range of underlying issues — resource exhaustion, an edge-case interaction between features, or an internal bug — none of which are distinguishable from the error code alone.
- More specific diagnostic detail may exist in the online log even though the client-facing error stays generic — the engine often records additional context at the moment of the failure that the SQL-facing error code itself doesn't carry.
Solutions / Resolution
- Check
online.logimmediately for additional diagnostic detail preserved at the time of the event. Per the official guidance, this is the first and most valuable step — the error code alone is intentionally generic, but the log frequently isn't. - If it recurs, gather additional diagnostics following the process documented in the Administrator's Guide before contacting support.
- Contact IBM Informix Technical Support with the diagnostic information — the online log excerpt, exact circumstances, and version — since this is squarely an escalation path given the catch-all nature of the code.
- Don't spend excessive time speculating about application-level causes before checking
online.log. The actual cause could be almost anything, and the log is the resource most likely to narrow it down quickly.
Examples
The recommended first step
grep -A 5 -B 5 "unexpected" $INFORMIXDIR/online.log
Or more broadly, review the log's contents around the timestamp of the failure — the engine may have logged a more specific internal message alongside the generic client-facing -172.
Preparing for escalation
-- Before contacting support, gather:
-- 1. The online.log excerpt around the failure
-- 2. The exact statement/operation that triggered it
-- 3. The database server version
-- 4. Whether the condition is reproducible, and under what circumstances
Diagnostic Checks
- Check
online.logaround the time of the failure for additional detail the engine may have recorded. - Follow the Administrator's Guide's diagnostic-gathering process if the error recurs.
- Capture exact circumstances, version, and any
online.logexcerpts to support an escalation.
Related Errors / Related Topics
- -100 — "ISAM error: duplicate value for a record with unique key." The other foundational ISAM-level error in this family.
- -160 — "ISAM error: only one TEXT or BYTE field may be open at any time." Part of the broader family of internal-condition errors in this range, though more specifically scoped than -172's deliberately generic catch-all framing.
Check online.log before anything else — it's the one place likely to hold more specific
information than the generic error code itself provides.