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 with the following error:

Switching to expression mode also shows this error 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

and / or

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

There is a 200MB limit to the uncompressed context that we put in to prevent a theoretical security vulnerability.

The size of the context is too large, too much is trying to be stored in load().

Reducing context size almost certainly means cutting back on what is stored in load() variables.

Action

Optimize sail code to reduce the amount of information 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