2

I've been tearing my hair out with this and have been through numerous posts here and across various forums, all say the same thing but don't actually offer a solution or somewhere to start. Sad face.

== Problem == I am currently in the process of migrating from 1.9.4.2 to 2.3.2 using the Migration Tool.

So far, so good... I have products etc moved over successfully but I keep encountering some odd behaviour that I am struggling to pin down.

When navigating through the site and finally to a product detail page, some of the products simply WSOD but not in the usual fashion, I'm left with an empty body tag and a partially loaded head. There are no errors being displayed.

<!doctype html>
<html lang="en">
    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# product: http://ogp.me/ns/product#">
        <script>
    var BASE_URL = 'https://mydomainname.com/';
    var require = {
        "baseUrl": "https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB"
    };
</script>
        <meta charset="utf-8"/>
<meta name="description" content="***redacted***"/>
<meta name="robots" content="INDEX,FOLLOW"/>
<meta name="title" content="***redacted***"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="format-detection" content="telephone=no"/>
<title>***redacted***</title>
<link  rel="stylesheet" type="text/css"  media="all" href="https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/mage/calendar.css" />
<link  rel="stylesheet" type="text/css"  media="all" href="https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/css/styles-m.css" />
<link  rel="stylesheet" type="text/css"  media="all" href="https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/mage/gallery/gallery.css" />
<link  rel="stylesheet" type="text/css"  media="screen and (min-width: 768px)" href="https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/css/styles-l.css" />
<link  rel="stylesheet" type="text/css"  media="print" href="https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/css/print.css" />
<link  rel="icon" type="image/x-icon" href="https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/Magento_Theme/favicon.ico" />
<link  rel="shortcut icon" type="image/x-icon" href="https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/Magento_Theme/favicon.ico" />
<script  type="text/javascript"  src="https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/requirejs/require.js"></script>
<script  type="text/javascript"  src="https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/mage/polyfill.js"></script>

<meta property="og:type" content="product" />
<meta property="og:title" content="***redacted***" />
<meta property="og:image" content="https://mydomainname.com/pub/media/catalog/product/cache/11ffc1561674b852a0767715e35515e5/f/v/fvbag.jpg" />
<meta property="og:description" content="***redacted***" />
<meta property="og:url" content="https://mydomainname.com/***redacted***.html" />
    <meta property="product:price:amount" content="16.1"/>
    <meta property="product:price:currency" content="GBP"/>
    </head>
    <body data-container="body" data-mage-init='{"loaderAjax": {}, "loader": { "icon": "https://mydomainname.com/pub/static/version1569421027/frontend/Magento/luma/en_GB/images/loader-2.gif"}}' itemtype="http://schema.org/Product" itemscope="itemscope" class="catalog-product-view product-product-name-redacted page-layout-no-layout-updates">
            </body>
</html>

What's baffling to me at the moment is that there is nothing of note in the logs folder or in my apache error logs.

For transparency, there are lot of variations on the following error in the debug.log and system.log files, but having spent hours trawling the Magento Github pages, this seems fairly common.

main.INFO: Broken reference: the 'header.panel.wrapper' element cannot be added as child to 'header.container', because the latter doesn't exist [] []

Has anyone experienced this and found a reliable solution?

I have tried the various scrubbing of cache suggestions, turning caching off entirely, re-deploying content etc, so far, no dice.

To add some more weirdness to the mix, manually clicking "save" on the product from the admin, in 9/10 cases will solve the problem and the product will load on the next refresh... Note: 9/10 times.

Someone please tell me I'm not going mad...

=== DEBUG LOG ===

[2019-09-26 08:09:03] main.INFO: Broken reference: the 'catalog.compare.sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:09:03] main.INFO: Broken reference: the 'sale.reorder.sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:09:03] main.INFO: Broken reference: the 'wishlist_sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:09:03] main.INFO: Broken reference: the 'paypal.partner.right.logo' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:09:03] main.INFO: Broken reference: the 'bml.right.logo' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:09:24] main.INFO: Broken reference: the 'catalog.compare.sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:09:24] main.INFO: Broken reference: the 'sale.reorder.sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:09:24] main.INFO: Broken reference: the 'wishlist_sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:09:24] main.INFO: Broken reference: the 'paypal.partner.right.logo' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:09:24] main.INFO: Broken reference: the 'bml.right.logo' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'header.panel.wrapper' element cannot be added as child to 'header.container', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'theme.active.editor' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'head.components' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'requirejs-config' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'translate-config' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'translate' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'js_cookies' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'global_notices' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'skip_to_content.target' element cannot be added as child to 'main.content', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'header-wrapper' element cannot be added as child to 'header.container', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'navigation.sections' element cannot be added as child to 'page.top', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'top.container' element cannot be added as child to 'page.top', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'breadcrumbs' element cannot be added as child to 'page.top', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'page.main.title' element cannot be added as child to 'columns.top', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'page.messages' element cannot be added as child to 'columns.top', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'content.top' element cannot be added as child to 'main', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'content' element cannot be added as child to 'main', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'content.aside' element cannot be added as child to 'main', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'content.bottom' element cannot be added as child to 'main', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'page.bottom' element cannot be added as child to 'page.bottom.container', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'footer' element cannot be added as child to 'footer-container', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'absolute_footer' element cannot be added as child to 'before.body.end', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'frontend-storage-manager' element cannot be added as child to 'before.body.end', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'catalog.compare.sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'sale.reorder.sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'cookie_notices' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'logger' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'paypal.express-in-context.component' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'wishlist_sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'emailCapture' element cannot be added as child to 'before.body.end', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'ddg.checkout.tag' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'googleoptimizer.experiment.script' element cannot be added as child to 'after.body.start', because the latter doesn't exist [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'header.panel.wrapper' tries to reorder itself towards '', but their parents are different: 'header.container' and '' respectively. [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'skip_to_content.target' tries to reorder itself towards '', but their parents are different: 'main.content' and '' respectively. [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'navigation.sections' tries to reorder itself towards '', but their parents are different: 'page.top' and '' respectively. [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'frontend-storage-manager' tries to reorder itself towards '', but their parents are different: 'before.body.end' and '' respectively. [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'skip_gallery_before' tries to reorder itself towards 'product.info.media.image', but their parents are different: 'skip_gallery_before.wrapper' and 'product.info.media' respectively. [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'skip_gallery_after' tries to reorder itself towards 'product.info.media.image', but their parents are different: 'skip_gallery_after.wrapper' and 'product.info.media' respectively. [] []
[2019-09-26 08:13:53] main.INFO: Broken reference: the 'googleoptimizer.experiment.script' tries to reorder itself towards '', but their parents are different: 'after.body.start' and '' respectively. [] []
[2019-09-26 08:13:53] main.WARNING: Broken reference: The element with the "before.body.end" ID wasn't found. Verify the ID and try again. [] []

The SYSTEM LOG is the same.

1
  • I've edited the question to include the full logging info in both debug and system.
    – B Wake
    Commented Sep 26, 2019 at 8:17

2 Answers 2

2

After going in many different directions, I resorted to directly comparing a working product vs a non-working product in the db. Arguably, I should have done this first.

There were some variations between the two and I have managed to trace this to 'page_layout' (attribute_id = 107 (for me at least)) with a value of 'No layout updates' in the value column of the catalog_product_entity_varchar table.

Scrubbing these records - There may be a record saved for each of the store views (admin, default etc) - and clearing the cache solved my issue.

Hopefully this helps someone in the future.

2
  • for me it was also the page_layout attribute after a migration, delteting the rows solved the white page problem Commented Jan 25, 2021 at 13:21
  • Thank you very much, I disabled my theme for debugging purposes. I had a custom page layout in my theme and after disabling it the page layout was not found and the site is empty... Magento should add a fallback or at least show an error.
    – Black
    Commented Oct 27, 2021 at 11:08
0

First of all, you need to find an error. So for that, you need to enable developer mode and add below code in the root index.php file

To enable developer mode:

php bin/magento deploy:mode:set developer

Add error log report enable code in the index.php

error_reporting(E_ALL);
ini_set('display_errors', 1);

Still, you cannot able to see the error then please let me know.

And if you can able to see the error then try to fix it from your end or if you need my help please let me know the error, I will try to provide a solution.

Hope this will help you.

3
  • 1
    Hi there, thanks for the response. Sadly, all of the above has already been done, nothing is displayed as an error.
    – B Wake
    Commented Sep 26, 2019 at 8:00
  • Then I would suggest, please disable custom modules and see you are getting the same blank page. Please let me know still getting the same issue.
    – Nits
    Commented Sep 26, 2019 at 10:37
  • 2
    Hi @nits - It's a vanilla install. The only custom thing so far is the migration tool provided by Magento...
    – B Wake
    Commented Sep 26, 2019 at 11:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.