An uninstantiation error occurs when a predicate or command is called with one of its input arguments instantiated when an unbound variable was expected.
The SICStus_Error term associated with an instantiation error is
uninstantiation_error(Goal,ArgNo,Culprit)
For example, the goal
open(f, write, bar)
throws the exception
error(uninstantiation_error(bar), uninstantiation_error(open(f,write,bar),3,bar))
because the third argument was not a variable.