As of today, 4 Nov 2014, I have latest versions of D6, D8 and Migrate Upgrade. I generated some dummy content, users, vocabularies/terms in D6 site using Devel module. D6 site is plain Drupal site with some dummy content.

Now when I am migrating D6 site to D8, using Migrate Upgrade module, I am getting following fatal error,

An AJAX HTTP error occurred.
HTTP Result Code: 200
Debugging information follows.
Path: /batch?id=2&op=do_nojs&op=do
StatusText: OK
ResponseText: 
Fatal error:  Call to a member function getConfigDependencyName() on a non-object in core/lib/Drupal/Core/Field/FieldConfigBase.php on line 252

I noticed that vocabularies and terms are migrated from D6 site. Any ideas?

CommentFileSizeAuthor
#12 migration_log.txt22.97 KBamitgoyal

Comments

Anonymous’s picture

It may be possible that the system detected something in the site that is not enabled in D8, and then tried to migrate it into something that isn't there yet. Check the "Extend" page and compare to D6 site to see if there is something obvious there. Hopefully we can get a patch in over the next few days if it is that issue...

amitgoyal’s picture

I disabled almost all of the unwanted modules in D6 site and enabled almost all the modules in D8 site. But I am still getting the same issue.

Anonymous’s picture

I just ran it myself without any issues. Are you using the latest version of core from git? Or are you using a beta? Or the imp sandbox?

The migrate_upgrade I'm using is checked out from git. I haven't tried the nightly build but one of my other projects has a packaging error so I figured I should ask...

Anonymous’s picture

I'm getting the same error now. I have a potential workaround that causes some different errors but it does complete, so I'm going to keep on it tomorrow while I'm at BADcamp sprinting.

amitgoyal’s picture

Yes, I have latest versions from GIT D6, D8 and Migrate Upgrade.

Now I re-installed both the sites. Generated only 10 users using Devel in D6. Migration again failed with following error,

An AJAX HTTP error occurred.
HTTP Result Code: 500
Debugging information follows.
Path: /batch?id=2&op=do_nojs&op=do
StatusText: Internal Server Error
ResponseText: {"error":"A fatal error occurred: The \u0022book\u0022 plugin does not exist."}
amitgoyal’s picture

Regarding #5,

When I looked into the migrate_upgrade code, I noticed that it does the migration based on migrate.config.yml and migrate.content.yml files. As 'book' plugin was disabled on default install of both the sites, it gave the error (#5).

I commented out 'd6_book' and other stuff except 'd6_user' in migrate.content.yml file and migration worked perfectly fine for 'users' as I am trying the migration for one entity at a time.

amitgoyal’s picture

Project: Migrate Upgrade » IMP
Version: 8.x-1.x-dev »
benjy’s picture

Project: IMP » Drupal core
Version: » 8.0.x-dev
Component: Code » migration system

All d6 to d8 migration issues should be in the core issue queue now.

Anonymous’s picture

Interesting. I was planning to make a patch to migrate_upgrade to at least report the error but was having trouble figuring out how to fail the migration from calculateDependencies. Is it still worth catching the issue in the UI? I suspect it is... in which case I can create a new issue to deal with that.

benjy’s picture

Not sure what the exact error is here because much of the mentioned errors are related to the UI and not the migration itself but the book errors could be fixed in #2346039: Add missing migrations to MigrateDrupal6Test and fix the result

amitgoyal’s picture

Not sure why is the Fatal Error related to the UI and not the migration itself. I am still getting the same fatal error when I run it from command line,

drush migrate-manifest manifest.yml --legacy-db-url=mysql://drupaluser:@127.0.0.1:33067/d6

I have taken the manifest file from https://www.drupal.org/files/issues/D6Manifest-Complete.yml.

amitgoyal’s picture

StatusFileSize
new22.97 KB

Attaching here complete migration log from the command line.

Taxonomies and users are migrated along with site settings. But I am still not able to migrate nodes.

chx’s picture

We have seen this before when someone had forum at one point and it was disabled in D8.

amitgoyal’s picture

I updated the D8 code through GIT, reinstalled D8 site and then enabled almost al the modules in D8. Even then I am getting the same error "Fatal error: Call to a member function getConfigDependencyName() on a non-object in /d8/core/lib/Drupal/Core/Field/FieldConfigBase.php on line 252".

Anonymous’s picture

A temporary solution to this is to completely uninstall the module in D6 that is causing the migration to fail. Simply disabling it does not stop D8 from trying to migrate the content.

Alternatively, as I suggested above, consider enabling the D8 module(s) that are missing so that the source data has a target to migrate into.

Lastly, you could use a custom manifest file to simply not run the problematic migration.

Eventually the code will deal with this situation a bit more elegantly...

benjy’s picture

Would be good if these errors could be re-tested and the IS updated now that #2374339: FieldConfigBase::calculateDependencies() fatal error is unhelpful is in. Should give us some more context.

amitgoyal’s picture

I tried it again. I updated my D8 code through GIT. Re-installed my D8 site and then enabled all the modules.

I ran the migration using Migration Upgrade module and got the following error,

An AJAX HTTP error occurred.
HTTP Result Code: 200
Debugging information follows.
Path: /batch?id=3&op=do_nojs&op=do
StatusText: OK
ResponseText: 
( ! ) Fatal error: Call to a member function getConfigDependencyName() on a non-object in /core/lib/Drupal/Core/Entity/EntityDisplayBase.php on line 165
Call Stack
#TimeMemoryFunctionLocation
10.0003145412{main}(  )../index.php:0
20.02491243936Drupal\Core\DrupalKernel->handle(  )../index.php:24
30.12715180748Stack\StackedHttpKernel->handle(  )../DrupalKernel.php:577
40.12715180852Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(  )../StackedHttpKernel.php:23
50.12715180912Drupal\ban\BanMiddleware->handle(  )../ReverseProxyMiddleware.php:58
60.12775181156Drupal\Core\StackMiddleware\PageCache->handle(  )../BanMiddleware.php:55
70.15385921516Drupal\Core\StackMiddleware\KernelPreHandle->handle(  )../PageCache.php:52
80.22759367960Symfony\Component\HttpKernel\HttpKernel->handle(  )../KernelPreHandle.php:53
90.22759368208Symfony\Component\HttpKernel\HttpKernel->handleRaw(  )../HttpKernel.php:66
100.339812930628call_user_func_array:{/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php:145}
(  )../HttpKernel.php:145
110.339812930840Drupal\system\Controller\BatchController->batchPage(  )../HttpKernel.php:145
120.341312987008_batch_page(  )../BatchController.php:60
130.359414505156_batch_do(  )../batch.inc:83
140.359414505312_batch_process(  )../batch.inc:101
150.361214560072call_user_func_array:{/core/includes/batch.inc:256}
(  )../batch.inc:256
160.361814587272Drupal\migrate_upgrade\MigrateUpgradeRunBatch::run(  )../batch.inc:256
170.685420351012Drupal\migrate\MigrateExecutable->import(  )../MigrateUpgradeRunBatch.php:38
183.103425727308Drupal\migrate\Plugin\migrate\destination\ComponentEntityDisplayBase->import(  )../MigrateExecutable.php:285
193.155925738872Drupal\Core\Entity\Entity->save(  )../ComponentEntityDisplayBase.php:34
203.155925738872Drupal\Core\Config\Entity\ConfigEntityStorage->save(  )../Entity.php:325
213.156025738928Drupal\Core\Entity\EntityStorageBase->save(  )../ConfigEntityStorage.php:232
223.161625739648Drupal\Core\Entity\EntityDisplayBase->preSave(  )../EntityStorageBase.php:395
233.161625739676Drupal\Core\Config\Entity\ConfigEntityBase->preSave(  )../EntityDisplayBase.php:150
243.169425752168Drupal\Core\Entity\EntityDisplayBase->calculateDependencies(  )../ConfigEntityBase.php:309
benjy’s picture

How annoying, the error is going from a difference place. I've opened a new issue: #2383079: EntityDisplayBase::calculateDependencies() fatal error is unhelpful

jhedstrom’s picture

Given #18, is this still an issue?

amitgoyal’s picture

Finally there were no Fatal errors!

As usual, I did git pull for both D8 and Migrate Upgrade module. Reinstalled D8 site and enabled most of the modules. Performed D6 to D8 migration using Migrate Upgrade module.

During migration it reported some missing bundles but no fatal errors. I checked and found that Users / Vocabularies / Terms have been migrated successfully. Migration also created Page and Story content types but both were having just one field called Body. I think that's the reason no content and comments have been migrated.

Although there are no fatal errors now but I am still not able migrate the content.

benjy’s picture

Status: Active » Closed (works as designed)

I think this error was fixed as mentioned in #18. If you have other problems, please open a new issue.