When I empty my Class Registry (using admin menu) I get a:

Warning: Invalid argument supplied for foreach() in _registry_update() (line 54 of /var/www/html/switch/includes/registry.inc).

This is because the info column in the system table for this feature exceeds the maximum length, and the full array is stored in the BLOB table.
The problem seems to be retrieving the BLOB value. I tried changing the beginning of _registry_update to the following, so the Oracle Driver would handle the FetchAll, but that still does not seem to work:

function _registry_update() {

  // The registry serves as a central autoloader for all classes, including
  // the database query builders. However, the registry rebuild process
  // requires write ability to the database, which means having access to the
  // query builders that require the registry in order to be loaded. That
  // causes a fatal race condition. Therefore we manually include the
  // appropriate query builders for the currently active database before the
  // registry rebuild process runs.
  $connection_info = Database::getConnectionInfo();
  $driver = $connection_info['default']['driver'];
  require_once DRUPAL_ROOT . '/includes/database/' . $driver . '/database.inc';
  require_once DRUPAL_ROOT . '/includes/database/' . $driver . '/schema.inc';
  require_once DRUPAL_ROOT . '/includes/database/' . $driver . '/select.inc';
  require_once DRUPAL_ROOT . '/includes/database/' . $driver . '/query.inc';

The workaround (for people who googled this) is to include fewer exportables in your feature, until the array fits in the info column.

Comments

bohart’s picture

Status: Active » Closed (outdated)

D7 reached its EOL back in January 2025, and there is no active release for D7 for this module anymore.
Development or support is not planned for D7. All D7-related issues are marked as outdated in a bunch.

Everyone can apply the patches/suggestions above (not tested by the maintainers, tested by the community) to their D7 projects.
If the issue remains relevant for D10+ versions, merge requests with proposed solutions for a new module version (D10+) are welcome in a new follow-up issue.

Thanks!

Now that this issue is closed, please review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, please credit people who helped resolve this issue.