I try to edit Condition to Rule After Saving Content and get:
Fatal error: Unsupported operand types in /Volumes/sites/all/modules/rules/includes/rules.state.inc on line 620

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

marko42’s picture

I am getting the same error. I'm also using 7.14.

brandy.brown’s picture

Same problem here. Breaks entire site.

I get it on 2.1 and the -dev versions.

marko42’s picture

I brought my module versions up to date and ran update.php. Now the problem has cleared. I don't know why exactly.

_KASH_’s picture

Fatal error: Unsupported operand types in xxxxxx/sites/all/modules/contrib/rules/includes/rules.state.inc on line 620

running 7.x-2.x-dev

emcniece’s picture

Component: Rules Engine » Rules Core

Do you guys have Node Export or UUID installed? Try getting rid of it - that worked for me.

http://drupal.org/node/1423234 has some patches that might be of use, I didn't get a chance to try them out.

timofey’s picture

Clearing cache did the trick.

pschuelke’s picture

Same error for me. Tried patch suggested in #5; made it worse. Clearing the cache didn't help. I do have Node Export and UUID installed but can't get rid of them.

greg.1.anderson’s picture

Haven't really had a chance to look into this deeply; I just did the naive thing, and changed line 620 like this:

+    if (array_key_exists('properties', $site_info)) {
        $property_info['properties'] += $site_info['properties'];
+    }

Edit: Don't do this! See below.

greg.1.anderson’s picture

Hm, I don't think #8 is helpful. It took away the errors all right, but the missing information in $site_info is important (!); rules cannot be successfully set up without it. Disabling the uuid module did the trick.

skamble’s picture

I am getting same errors and i used drupal 7.14. I try #6 solutions for clear cache and its work for me.

gomanual’s picture

Removing UUID worked for me.

ronigal’s picture

Updating module UUID to uuid-7.x-1.x-dev solved the problem.

tengoku’s picture

same here.... disabling uuid fixed the problem

radiobuzzer’s picture

Same problem here.

mitchell’s picture

Status: Active » Fixed

Looks like this was a bug in previous versions of UUID and/or stale Rules caches.

If there's a UUID bug to track down, please open a new issue there and link to this issue.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

jaykainthola’s picture

#8 Worked for me.
Thanks

nd987’s picture

The latest dev version of UUID fixes this issue.

emudojo’s picture

Updating to the latest dev for uuid solved the problem for me as well, this time using pressflow 7.14

Andy Inman’s picture

Same issue with everything up to date, core 7.21, also fixed by disabling UUID (I din't try the dev version of UUID so can't confirm whether that works or not).

owntheweb’s picture

I've run into this error on multiple occasions, when updating modules such as Token, Entity API, Rules and some others (some of those listed are likely not related). I start noticing these errors when attempting to save content that trigger rules, looking at the Rules configuration page in general or when attempting to edit a rule (ajax errors).

The fix for me is usually pretty simple (and I'm posting here to help myself remember when this happens again):

  • Update UUID to the latest dev version
  • Run update.php
  • Clear Drupal cache
  • If errors go away:
    • Celebrate!
  • Else:
jwjoshuawalker’s picture

@owntheweb

Love it :)
I was just going through the same thing today, and about to make a very similar post.

JamesRobertson’s picture

I followed @owntheweb in post #21. I held my breath - nothing happened. Still the same error. I cried a bit then went into rules.state.inc and replaced

$property_info['properties'] += $site_info['properties'];

with

if(!empty($site_info['properties']))$property_info['properties'] += $site_info['properties'];

I have absolutely no idea what I have done - but at least i can now access my Rules.

I may have, unwittingly, sold my soul to the devil, but, hey, at least my site has started working again.

greg.1.anderson’s picture

#23 is essentially the same as #8. As I mentioned in #9, this simple modification is destructive to the happy operation of rules, and will hurt you later. I recommend #21.

decibel.places’s picture

followed #21

had to checkout latest 7.x-1.x branch of uuid from git, a db update was run, cleared cache and

happy now

pbz1912’s picture

Disabled uuid. It worked. uuid alpha-4 still broken, don't have the option to use dev where I am. Didn't have any actual use of uuid that needed it to stay in for the time being. However, I suspect that may change soon.

kevla’s picture

:( I'm having the same issue here. Although I don't have UUID.

dynamiz77’s picture

Status: Closed (fixed) » Active

just like kcmanc87 I don't have UUID module installed and am still getting this error - anybody got a solution? (Have the latest version of Rules Module - 7.x-2.4

Drupal core 7.23

dynamiz77’s picture

Sorry - Forgot to attach the pic of the error.

dynamiz77’s picture

Issue summary: View changes

correction

Reg’s picture

I just came across this issue and I do not have UUID installed. In my case it happens every time I log in.

Looking for other instances of entity_get_property_info('site') I came across this in the entity module:

/**
 * Returns a metadata wrapper for accessing site-wide properties.
 *
 * Although there is no 'site' entity or such, modules may provide info about
 * site-wide properties using hook_entity_property_info(). This function returns
 * a wrapper for making use of this properties.
 *
 * @return EntityMetadataWrapper
 *   A wrapper for accessing site-wide properties.
 *
 * @see entity_metadata_system_entity_property_info()
 */
function entity_metadata_site_wrapper() {
  $site_info = entity_get_property_info('site');
  $info['property info'] = $site_info['properties'];
  return entity_metadata_wrapper('site', FALSE, $info);
}

What the comment suggests to me is that if no modules provide site wide information then the 'properties' array element can be non-existent. This being the case #8 is a correct solution.

If you want to give the function some site wide variables then we can look at the system module and pull the variables from system_site_information_settings() which I have done in the patch.

areynolds’s picture

Seeing as the entity module adds in the site info in system.info.inc's entity_metadata_system_entity_property_info() call, I don't think the patch in #30 should be necessary.

If this implementation were to be pursued, the naming of the properties should be brought into line with what is defined in the aforementioned function. If applied as currently formatted, this patch will break rules which use most site properties, since the naming defined in this patch is different.

jduhls’s picture

I've got latest drupal and rules versions. I was able to cause this error using a poorly defined constant in my module:

define ("_BAD_CONST_", array("arrays","are","bad"));

This was cached somewhere I guess because my site would be stuck at WSOD and logging these errors. I had to clear the cache via the mysql cli (couldn't use drush cc all, although I could still use drush sql-cli):

mysql> DELETE FROM cache;
Query OK, 4 rows affected (0.01 sec)

mysql> DELETE FROM cache_rules;
Query OK, 12 rows affected (0.00 sec)

mysql> DELETE FROM cache_bootstrap;
Query OK, 4 rows affected (0.00 sec)

...then I could drush cc all and work on the site again.

TR’s picture

Status: Active » Closed (outdated)

This issue was closed in #16. The overwhelming evidence is that is was caused by an old version of the UUID module - that module has since been updated and that solved the problem.

This issue was reopened in #28 for what appears to be an unrelated problem - the image in that post shows an Ajax 500 error, which is common in Drupal and probably not related to Rules except for the fact that it showed up during a Rules operation. No dblog error or web server error was given to show that this was a result of the same issue, and none of the subsequent comments give any indication that they are experiencing the error from the original post.

Because this issue has deviated significantly from the original post, and because the original issue seems to have been fixed, and because there has been no further information for years, I'm closing this as "outdated".

If you are still experiencing a problem, please open a new issue with details about how to reproduce your problem, including any error messages from the dblog and web server, along with the steps you had to take to get the error to show up on a clean site.