In a Drupal 8.1.10 site migrated from Drupal 6, cron always stopped (says 'completed' but shows an error) before indexing is completed. Currently, indexing is stuck at 4% (1732 items left to index).

The error shown is: InvalidArgumentException: The URI 'hardware/example1' is invalid. You must use a valid URI scheme.

This error message has found to be misleading and not informative, because 'hardware/example1', while is a legitimate invalid URI (and theoretically can be fixed by adding a preceding forward slash, i.e. '/hardware/example1' if it's referred in a node), is not referred anywhere in any of the pages in that form, and in fact the node itself is currently unpublished. Also, a mirror site migrated from the same Drupal 6 base has the exact same error type, but different invalid URI shown (say, 'software/example2'), which is also an old node not referred anywhere else on the site, with the same status as the other node above.

Every time cron is run (3-hour schedule, currently), it always stopped on a different, seemingly random 'location', and the same error showing consistently the same invalid URI ('hardware/example1'), while the actual indexing process never continues.

I have tried the reindexing process, which ended up resetting the index, and then the indexing process stuck at 0% and wouldn't start at all. I have also tried uninstalling and reinstalling the search module, in which case resulted in indexing process started, but stuck at 4% as before.

I'm not sure where to go from here. Any help/ideas on where to look to fix this will be appreciated.

Comments

erjuni created an issue. See original summary.

erjuni’s picture

This turns out to be a legitimate invalid URI in a single field that is referred to in some of the nodes, that aren't having problem loading because the field itself is hidden from display.

On the site, there are several of these nodes with invalid internal URI after migration from Drupal 6 to Drupal 8, but they are all easily identifiable because the nodes will not load at all if there's an invalid URI in it. Apparently there are a few pages with these fields in them where the fields with invalid URI are hidden from display, and therefore have no problem loading, but crashes and stopped the indexing process when cron is running.

My apologies for the false alarm. This is not a bug.

Version: 8.1.10 » 8.1.x-dev

Core issues are now filed against the dev versions where changes will be made. Document the specific release you are using in your issue comment. More information about choosing a version.

Version: 8.1.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Branches prior to 8.8.x are not supported, and Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

quietone’s picture

Version: 8.9.x-dev » 9.3.x-dev
Category: Bug report » Support request
Status: Active » Fixed
Issue tags: -indexing +Bug Smash Initiative

@erjuni, thanks for following up and explaining that this is not a bug and that the problem is resolved.

Changing to a support request. Since the problem began after a D6 to D8 migration, changing the migration system component. Also, closing as fixed because the problem is resolved.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.