4

I need some help with the Rules fails the check integrity issue. I am running the Rules version 7.x-2.7. It works most of the times and appears to be suddenly.

When I checked on the dblog it has error message like so:

the action Set a data value () fails the integrity check and cannot be executed

After clearing all the Drupal caches, it will start working again. It had a message like Action was marked dirty, but passes the integrity check now and is active again.

This is a screenprint of the issue.

rules error screen

2
  • 1
    Hi, Binod. The key part of the "fails the integrity check" message is missing. It should be followed with "Error: ..." and then a message. If you're still having this problem please include it if you can. Also, it wouldn't hurt to update your module to most recent version. Commented Aug 20, 2015 at 5:33
  • Some module is probably missing. Try to enable recently disabled modules. Commented Sep 15, 2015 at 12:38

1 Answer 1

1

Possible reasons

Some reasons (pretty sure it is an incomplete list ...) that may help to pinpoint the reason for this typical message are like so:

  • Some module is missing "now" (which was there when the rule was added). It could well be a recently disabled, or uninstalled module.
  • The rule (or Rules Component) refers (in a Rules Condition or Rules Action) to a machine name of a field that is "no longer there".
  • The rule (or Rules Component) refers to a Rules Component that is no longer there, or, as a variation, something changed in a Rules Component (eg the data type of a parameter) so that it is no longer compatible with the way some Rule is trying to execute that Rules Component.
  • The rule (or Rules Component) refers to a content type (or more generic an entity type) that is no longer there, or a role that was removed.
  • The rule (or Rules Component) has a Rules Condition or Rules Action, which is provided by some module, based on some logic in that module. A good example of this can be found in the Content Access module: the ACL module seems to be a weak module dependency of the Content Access module, i.e. the Rules Action with machine name content_access_action_user_grant is only available if, and for as long as, ACL is enabled (if you disable the ACL module, then any rule that has such content_access_action_user_grant action will show such "... fails the integrity check".

Possible resolutions

Depending on what the actual reason is, these are possible remedies for it:

  • Re-enable recently disabled modules:

    • if any such module adds an extra content type with some related fields, and any of your rules still refer to them, then that would cause the typical error message.
    • if the existence of any such module is used to provide some extra Rules Condition or Rules Action, then any of your rules that still refer to those conditions/actions would cause the typical error message.
  • If you know/remember which entity some field (which got deleted) referred to, then manually adding that field again (with identical machine name) should make the error message go away.

  • ...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.