You are currently reviewing an older revision of this page.

DRAFT KB-XXXX Interface in /design loads with "Cannot interpret context for UI expression. Reason: Bindings" Error

Symptoms

An interface loads in /design with the following error:

One or both of the following errors are also present in the application server log:

ERROR com.appiancorp.sail.BindingsEncryptionHelper - Caught context exception: java.io.IOException: Max decompression size reached!
....
ERROR com.appiancorp.rest.shared.AppianExceptionMapper - Internal Server Error on REST API invocation.
com.appiancorp.exceptions.LocalizedAppianRuntimeException$LocalizedAppianException: Cannot interpret context for UI expression. Reason: Bindings
ERROR com.appiancorp.sail.BindingsEncryptionHelper - Caught context exception: java.io.IOException: Max decompression size reached!
....
ERROR com.appiancorp.sail.StatefulUiStateWithStatelessFailover - Unable to deserialize bindings using Stateful UI State...reverting to Stateless
com.appiancorp.suiteapi.common.exceptions.AppianException: Cannot interpret context for UI expression. Reason: Bindings (APNX-1-4215-002)

Cause

The context size is too large, which is due to too much data being stored in load() variables in the interface. There is a 200MB limit to the uncompressed context a load() variable can hold for security purposes.

Action

Make changes to the interface sail code, or to the expression rules it uses, to reduce the interface's context size. This requires reducing the amount of data stored in load() variables.

Workarounds

It may not be possible to edit the interface directly due to the error itself. If this is the case, follow one of the below workarounds to make changes to the interface.

Workaround 1

Prevent expression rules that are returning a large number of data from evaluating.

  1. Temporarily comment out the expression rules that are returning a large number of data in 'Appian Expression Rule Designer'.
  2. Make changes to the interface to reduce the context size.
  3. Uncomment the expression rules in the 'Appian Expression Rule Designer'.

Workaround 2

If the interface exists in another environment not experiencing this issue, make changes to the interface in the working environment and import it.

  1. Make changes to the interface to reduce the context size in the working environment.
  2. Add the interface to a patch in the working environment.
  3. Export the patch
  4. Import that patch into the environment experiencing the issue

Affected Versions

This article applies to Appian 17.1 and later.

Last Reviewed: December 2018