Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
From a new Drupal 6.17 install, upgrading to Drupal 7 CVS fails with:
* Notice: Undefined property: stdClass::$uri in system_update_files_database() (line 2173 of C:\wamp\www\drupal\modules\system\system.module).
* Notice: Undefined property: stdClass::$name in system_update_files_database() (line 2174 of C:\wamp\www\drupal\modules\system\system.module).
* PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'filename' cannot be null: INSERT INTO {system} (filename, name, type, owner, info) ...
[:db_insert_placeholder_65] =>
[:db_insert_placeholder_66] =>
[:db_insert_placeholder_67] => module
[:db_insert_placeholder_68] =>
[:db_insert_placeholder_69] => a:1:{s:8:"required";b:1;}
It looks like the row that is malformed is the $module['default'] install profile entry generated in _system_rebuild_module_data(), and it looks like the corruption is happening in the callback to hook_system_info_alter().
Comment | File | Size | Author |
---|---|---|---|
#4 | 826054_missing_default_profile.patch | 581 bytes | grendzy |
#2 | error.txt | 48.42 KB | Jarek Foksa |
#2 | error.png | 151.34 KB | Jarek Foksa |
Comments
Comment #1
jromine CreditAttribution: jromine commentedOn further study, in modules/system/system.module:_system_rebuild_module_data(), a $modules[] entry is set for the current install profile (for Drupal 6.17, named 'default'). Since the 'default' install profile is not present in Drupal 7, this array entry is unset at around line 2258 of system.module:
However the code at around line 2272:
causes a new entry in $modules to be created with only an 'info' property.
I'm not sure what the correct fix is.
Comment #2
Jarek Foksa CreditAttribution: Jarek Foksa commentedI'm also getting those errors when trying to upgrade from Drupal 6.17 to current dev snapshot (June 13).
Marking as critical since it's clearly breaking the upgrade path.
Comment #3
grendzy CreditAttribution: grendzy commentedComment #4
grendzy CreditAttribution: grendzy commentedSeems to me if the profile doesn't exist (could be default.profile, or a custom profile from prior versions) then it can just be skipped.
Comment #5
catchWorks for me.
Comment #6
Jarek Foksa CreditAttribution: Jarek Foksa commented#4 fixes the problem for me.
Comment #7
Dries CreditAttribution: Dries commentedCommitted to CVS HEAD. Thanks.