New Beta 1 and dev releases are killing the site.

WD php: Warning: array_diff(): Argument #1 is not an array in FacesExtendable->extend() (line 222 of /var/www-sites/drupal/edg/sites/all/modules/rules/includes/faces.inc). [warning]
WD php: Warning: class_implements(): Class RulesPluginFeaturesIntegrationInterace does not exist and could not be loaded in FacesExtendable->extend() (line 226 of [warning]
/var/www-sites/drupal/edg/sites/all/modules/rules/includes/faces.inc).
PHP Fatal error: Unsupported operand types in /var/www-sites/drupal/edg/sites/all/modules/rules/includes/faces.inc on line 226

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

lathan’s picture

Component: Rules Core » Rules Engine

Is there a requirement for the face module..... ?

rodrigoaguilera’s picture

No one is using rules on D7?
I have the same problem, maybe it's a php 5.2 issue.
this is the line:
$this->faces += class_implements($interface);

nice work

klausi’s picture

Status: Active » Postponed (maintainer needs more info)

"RulesPluginFeaturesIntegrationInterace" exists in rules.features.inc, but is obviously not loaded on your site. Try to clear the cache or go to update.php to clear the class registry cache.

I'm part of the Rules Issue Squad, helping out in the issue queue. You can join, too!

klausi’s picture

Version: 7.x-2.0-beta1 » 7.x-2.x-dev
Priority: Major » Critical
Status: Postponed (maintainer needs more info) » Closed (cannot reproduce)

Closed since no further information has been provided. Reopen if still an issue.

lathan’s picture

here is error log... by me had to remove it.

Thu Sep 15 00:41:07 2011] [error] [client 41.160.31.74] PHP Fatal error:  Class 'FacesExtendable' not found in /drupal-7.8/sites/golegal.co.za/modules/rules/includes/rules.core.inc on line 231
[Thu Sep 15 00:41:09 2011] [error] [client 41.160.31.74] PHP Fatal error:  Class 'FacesExtendable' not found in /drupal-7.8/sites/golegal.co.za/modules/rules/includes/rules.core.inc on line 231
[Thu Sep 15 00:41:10 2011] [error] [client 41.160.31.74] PHP Fatal error:  Class 'FacesExtendable' not found in /drupal-7.8/sites/golegal.co.za/modules/rules/includes/rules.core.inc on line 231
[Thu Sep 15 00:41:11 2011] [error] [client 41.160.31.74] PHP Fatal error:  Class 'FacesExtendable' not found in /drupal-7.8/sites/golegal.co.za/modules/rules/includes/rules.core.inc on line 231
[Thu Sep 15 00:41:15 2011] [error] [client 41.160.31.74] PHP Fatal error:  Class 'FacesExtendable' not found in /drupal-7.8/sites/golegal.co.za/modules/rules/includes/rules.core.inc on line 231
[Thu Sep 15 00:41:30 2011] [error] [client 41.160.31.74] PHP Fatal error:  Class 'FacesExtendable' not found in /drupal-7.8/sites/golegal.co.za/modules/rules/includes/rules.core.inc on line 231

think this is due to a migration of servers here... the path is reported incorrectly in the error... something is cached there.

rodrigoaguilera’s picture

you are looking for this issue
http://drupal.org/node/1257580

lachezar.valchev’s picture

Component: Rules Engine » Rules Core
Issue summary: View changes
FileSize
649 bytes

I was looking for better place to post this patch and here seems like relevant place.

We have a patch that solved warnings for in faces.inc.

gluebox’s picture

I'm working through any needed updates to land on the latest PHP7.2. The latest rules 7.x-2.x-dev fixed a bunch of my errors however I was left with one. The patch in #7 worked to straighten this out. (Thanks lachezar.valchev !) I would bet that others will hit this issue. It'd be nice to get this committed if possible.

---
array_diff(): Argument #1 is not an array faces.inc:225 [warning]
class_implements(): Class RulesPluginFeaturesIntegrationInterface does not exist and could not be loaded faces.inc:229 [warning]
WD php: Error: Unsupported operand types in FacesExtendable->extend() (line 229 of /sites/all/modules/rules/includes/faces.inc). [error]
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Unsupported operand types in FacesExtendable->extend() (line 229 of /sites/all/modules/rules/includes/faces.inc).

TR’s picture

Note that the initial issue is almost 8 years old, and #2 said "maybe it's a php 5.2 issue" ...

This is unlikely to have any connection to PHP 7.2 ... The Rules automated tests work for PHP 7.2 and detect no problem - there are no known Rules issues related to PHP 7.2.

So while I have no problem committing the patch, I do insist that we identify the problem first so that we're not just hiding the real problem with an isset() - that will just cover up the problem.

To me this appears to be a situation where the core Drupal class loader is not doing the right thing. One way that can happen is when your cache or registry needs to be rebuilt. If you've done that and still have a problem, then we need to be able to reproduce the bug on a clean install. If you can provide instructions for reproducing the error on a clean site then we can reopen this and look into the problem.

grahamvalue’s picture

Version: 7.x-2.x-dev » 7.x-2.11
Status: Closed (cannot reproduce) » Active

Getting the same error with the WSOD on updating to Rules 7.x-2.12.
(Not able to find 7.x-2.12 in the version drop-down for the issue)

The log entry says:

Warning: array_diff(): Argument #1 is not an array in FacesExtendable->extend() (line 229 of /var/www/html/xxx/sites/all/modules/rules/includes/faces.inc).

Have temporarily rolled back to Rules 7.x-2.11.

Note: The site seems to work fine after the update till the first cron run.

pawel_r’s picture

#10 Same here, going back to 2.11 + patch from #7.

cewernlund’s picture

Hey all, I'm getting the same error message with the 7x-2.12 update. Rolling back for now.

TR’s picture

idefix6’s picture

Same problem here, upgrade to 2.12 killed all hosted sites.
I downgraded now to 2.11 and applied the patch from #7 which restored everything.

While having 2.12 installed and using drush shows the following error messages:

.usr.local.www.drupal7#_redacted_.de >> array_diff(): Argument #1 is not an array faces.inc:233                                                                                          [warning]
.usr.local.www.drupal7#_redacted_.de >> class_implements(): Class RulesPluginFeaturesIntegrationInterface does not exist and could not be loaded faces.inc:237                           [warning]
.usr.local.www.drupal7#_redacted_.de >> WD php: Error: Unsupported operand types in FacesExtendable->extend() (line 237 of                                                               [error]
/usr/local/www/drupal7/sites/all/modules/rules/includes/faces.inc).
.usr.local.www.drupal7#_redacted_.de >> Drush command terminated abnormally due to an unrecoverable error.                                                                               [error]
.usr.local.www.drupal7#_redacted_.de >> <h1>Additional uncaught exception thrown while handling exception.</h1><h2>Original</h2><p>Error: Unsupported operand types in FacesExtendable-&gt;extend() (line 237 of /usr/local/www/drupal7/sites/all/modules/rules/includes/faces.inc).</p><h2>Additional</h2><p>FacesExtendableException: There is no method process for this instance of the class RulesAction. in FacesExtendable-&gt;__call() (line 139 of /usr/local/www/drupal7/sites/all/modules/rules/includes/faces.inc).</p><hr />
jigarius’s picture

I was facing the same problem and created a patch makes sure your site works so that you can clear cache and tell Drupal about the existence of the interface.

karolus’s picture

In updating a legacy D7 site, ran across this issue, as well. The patch in #15 by jigarius worked for me.

aToll’s picture

Also encountered this problem on an outdated site. The patch in #15 by jigarius helped for me. Thanks.

amklose’s picture

Patch in #15 works for me as well - I hope it gets committed to the module soon. Thanks @jigarius!

crutch’s picture

+1 #15 - thanks

jimafisk’s picture

Status: Closed (duplicate) » Reviewed & tested by the community

Patch in #15 worked for me too.

TR’s picture

Status: Reviewed & tested by the community » Closed (duplicate)