When migrating fields using content migrate on several fields I got:

PHP Fatal error: Unsupported operand types in /var/www/site/modules/field/field.crud.inc on line 630, referer: http://site/batch?op=start&id=xxxx

This was caused by the fact that the display types for these fields were not arrays. Unfortunately I was unable to trace which line in the content_migrate module was causing this, however I resolved it by temporarily hacking core:

After line 625 /modules/field/field.crud.inc I added a line:

foreach ($instance['display'] as $view_mode => $display) {

to

foreach ($instance['display'] as $view_mode => $display) {
$display=(array)$display;

Hopes this helps someone dealing with similar issues.

Comments

jkr’s picture

Issue summary: View changes
jkr’s picture

Issue summary: View changes
steve.m’s picture

If anyone else is also late to the D6->D7 upgrade game, there can also be an error thrown for D6 fields where $display['settings'] == NULL

So I also added

if (!is_array($display['settings'])) {
  $display['settings'] = array();
}

As a generic solution, and now my problematic list_boolean fields seem to migrate successfully.