An AJAX HTTP error occurred. HTTP Result Code: 500 Debugging information follows. Path: /d7/batch?id=456&op=do StatusText: Service unavailable (with message) ResponseText: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'node-3-0-0-und' for key 'PRIMARY': INSERT INTO {field_data_field_summary} (entity_type, bundle, entity_id, revision_id, language, delta, field_summary_value, field_summary_format) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7); Array ( [:db_insert_placeholder_0] => node [:db_insert_placeholder_1] => article [:db_insert_placeholder_2] => 3 [:db_insert_placeholder_3] => 3 [:db_insert_placeholder_4] => und [:db_insert_placeholder_5] => 0 [:db_insert_placeholder_6] => [:db_insert_placeholder_7] => ) in drupal_write_record() (line 6776 of /Applications/MAMP/htdocs/d7/includes/common.inc).
Comments
Comment #1
mlhess commentedComment #2
karens commentedI can't even tell if this has anything to do with CCK. Reporting an error message without any information about what you were doing at the time is not helpful.
If this happened while you were migrating fields, I need at a minimum to know what kind of field you were trying to migrate, how it was configured, and what kind of data was in it.
Comment #3
aaronpinero commentedI am having a similar error trying to migrate fields. I get a similar error (starts with AJAX error) but I think the critical part of the error message is "Fatal error: Cannot use string offset as an array in /www/drupal7/sites/tinderbox/modules/cck/modules/content_migrate/includes/content_migrate.admin.inc".
The particular field I was trying to migrate is a very simple list_text field, but it also happens on every single field I try to migrate (long_text, date). When I click on the link to the error page that accompanies the error, I'm unhelpfully returned to the Migrate Fields page. The field in question appears on the "Converted Fields" list, but if I try to edit a node that has this field, the field has no value. I've tried re-saving the field in the "Manage Fields" interface for the content type, but that has no effect.
I've had this work on a different Drupal 7 site, but I have no idea what the key difference might be. There are too many to count.
Here is the full error message (almost completely unintelligible to me):
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: /batch?id=59&op=do StatusText: parsererror ResponseText: ( ! ) Fatal error: Cannot use string offset as an array in /www/drupal7/sites/tinderbox/modules/cck/modules/content_migrate/includes/content_migrate.admin.inc on line 252 Call Stack #TimeMemoryFunctionLocation 10.000062556{main}( )../index.php:0 20.04281993088menu_execute_active_handler( )../index.php:22 30.04332037104call_user_func_array ( )../menu.inc:501 40.04332037104system_batch_page( )../menu.inc:0 50.04332037104_batch_page( )../system.admin.inc:2282 60.04342037120_batch_do( )../batch.inc:81 70.04342037120_batch_process( )../batch.inc:162 80.04472050600call_user_func_array ( )../batch.inc:285 90.04472050600_content_migrate_batch_process_create_fields( )../batch.inc:0
Any insight would be greatly appreciated.
Comment #4
xmacinfoDuplicating the same issue:
An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: /batch?render=overlay&id=5&op=do StatutTexte: OK ReponseTexte: ( ! ) Fatal error: Cannot use string offset as an array in /Sites/tinderbox/sites/all/modules/cck/modules/content_migrate/includes/content_migrate.admin.inc on line 252 Call Stack #TimeMemoryFunctionLocation 10.000159264{main}( )../index.php:0 20.07922663316menu_execute_active_handler( )../index.php:22 30.07972709492call_user_func_array ( )../menu.inc:501 40.07972709720system_batch_page( )../menu.inc:0 50.07982710004_batch_page( )../system.admin.inc:2282 60.07982711536_batch_do( )../batch.inc:81 70.07982711840_batch_process( )../batch.inc:162 80.08152735564call_user_func_array ( )../batch.inc:285 90.08152735724_content_migrate_batch_process_create_fields( )../batch.inc:0Using an upgraded site from D6 to D7 I installed:
Content Construction Kit (CCK) 7.x-2.x-dev (2011-May-10)
Field Permissions 7.x-1.0-alpha1
References 7.x-2.0-beta3
I have a single field to convert, which is node_reference. Actually, on the site I am upgrading, there is only a single field (node_reference).
Using the admin/structure/content_migrate to convert the single field available, it immediately generates the error message.
Comment #5
imclean commentedI'm having a similar problem with the Link field. #1157916: Error migrating D6 to D7
An image field migrated without error.
Comment #6
xmacinfo#1157916: Error migrating D6 to D7 is clearly a duplicate of #3 and #4.
Comment #7
imclean commentedAye, but posted in the Link issue queue as that's only field type I was having trouble with. I found this issue (very) shortly afterwards. Is the problem CCK or the contributed field module? It would seem from this issue it could be a more general CCK problem.
Possibly related as well: #1157234: Various PHP fatal errors, typos, etc.
Comment #8
xmacinfoThe problem may be in CCK Content Migrate (CCK 7.x), hence the issue here...
...or in each affected module code.
Let's see what @KarenS will say about this.
Comment #9
aaronpinero commented@imclean - I'll take a look at that other issue. I don't think I'm using that version of PHP, however...
Comment #10
iaminawe commentedI can confirm this happens when trying to migrate any fields for me.
Fields are created on the target content type (after the top error message) but no content is migrated.
Subscribing.
Comment #11
iaminawe commentedApplying the patch in comment #4 over here http://drupal.org/node/1157234 fixes this for me :)
Comment #12
dale42The key portion of the error message is:
Fatal error: Cannot use string offset as an array in /Sites/tinderbox/sites/all/modules/cck/modules/content_migrate/includes/content_migrate.admin.inc on line 252I'm getting the same error using:
drush @sa content-migrate-fieldsIt's the result of a name collision with the $context variable.
The function signature uses a variable named $context. It's an array. The foreach loop at line 242 is overwriting the $context variable, changing it from an array to a string:
This results in the $context['instances'] reference producing the "Cannot use string offset as an array" error.
Among other things, the patch mentioned in #11 changes the foreach loop variable $context to $display_mode.
Comment #13
xmacinfoMarking this as a duplicate of #1157234: Various PHP fatal errors, typos, etc., which have a fix to patch the Content Migrate module.
I have successfully being able to use patched Content Migrate to migrate 6.x Node References to 7.x References.
Comment #14
cswormy commentedI hope this will help others. I have had the same error when I tried to migrate all my 20 fields.
And for me, the only one solution was to migrate each field one type by one type (all text, then all list text and finish by specifics like node ref)