elementor / elementor

The most advanced frontend drag & drop page builder. Create high-end, pixel perfect websites at record speeds. Any theme, any page, any design.
https://elementor.com/
GNU General Public License v3.0
6.58k stars 1.42k forks source link

⛔ 🧩 📚 🐞 get_settings_for_display(); causing crash #23979

Open BRNSystems opened 1 year ago

BRNSystems commented 1 year ago

Prerequisites

Description

I tried this on the latest developement version. I was developing a plugin, and I managed to cause such an error:


2023/10/08 20:21:19 [error] 1003123#1003123: *172917 FastCGI sent in stderr: "PHP message: PHP Warning:  Trying to access array offset on value of type null in ../wp-content/plugins/elementor/includes/base/controls-stack.php on line 1098; PHP message: PHP Fatal error:  Uncaught TypeError: Elementor\Controls_Stack::sanitize_settings(): Argument #1 ($settings) must be of type array, null given, called in ../wp-content/plugins/elementor/includes/base/controls-stack.php on line 1098 and defined in ../wp-content/plugins/elementor/includes/base/controls-stack.php:2411
Stack trace:
#0 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1098): Elementor\Controls_Stack->sanitize_settings()
#1 ../wp-content/plugins/elementor/includes/base/controls-stack.php(2158): Elementor\Controls_Stack->get_data()
#2 ../wp-content/plugins/elementor/core/base/base-object.php(142): Elementor\Controls_Stack->get_init_settings()
#3 ../wp-content/plugins/elementor/core/base/base-object.php(40): Elementor\Core\Base\Base_Object->ensure_settings()
#4 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1112): Elementor\Core\Base\Base_Object->get_settings()
#5 /va" while reading response header from upstream, client: 81.92.253.147, server: .., request: "POST /wp-admin/admin-ajax.php HTTP/2.0", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "2ndjudgement.com", referrer: "../wp-admin/post.php?post=2826&action=elementor"

In the backtrace there is no mention of my code, so I think this might be a problem in elementor.

Steps to reproduce

I am not sure whether this version of the plugin will cause it, because I didn't test it in a clean installation. But the problem persists even if I remove everything from register controls except:

$this->start_controls_section(
            'menu_section',
            [
                'label' => __('Menu Settings', 'your-text-domain'),
            ]
        );
$menu_items = $this->get_menu_items(); // Get menu items
$this->end_controls_section();

It only stops when I comment out


$settings = $this->get_settings_for_display();

This is the plugin that created this issue:

menucko.zip

Isolating the problem

System Info

Click to reveal ````txt == Server Environment == Operating System: Linux Software: nginx/1.25.1 MySQL version: Debian 11 v10.5.19 PHP Version: 8.2.10 PHP Memory Limit: 256M PHP Max Input Vars: 1000 PHP Max Post Size: 2100M GD Installed: Yes ZIP Installed: Yes Write Permissions: All right Elementor Library: Connected == WordPress Environment == Version: 6.3.1 Site URL: .. Home URL: .. WP Multisite: No Max Upload Size: 2 GB Memory limit: 40M Max Memory limit: 256M Permalink Structure: /%year%/%monthnum%/%day%/%postname%/ Language: sk-SK Timezone: 1 Debug Mode: Inactive == Theme == Name: Royal Elementor Kit Version: 1.0.110 Author: WP Royal Child Theme: No == User == Role: administrator WP Profile lang: en_US User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0 == Active Plugins == Change WordPress Login Logo Version: 1.2 Author: Boopathi Rajan Complianz | GDPR/CCPA Cookie Consent Version: 6.5.4 Author: Really Simple Plugins Elementor Version: 3.17.0-dev1 Author: Elementor.com Elementor Beta (Developer Edition) Version: 1.1.1 Author: Elementor.com Elementor Pro Version: 3.16.2 Author: Elementor.com Menucko Version: 0.0.1 Author: BRN Systems Nginx Helper Version: 2.2.3 Author: rtCamp Object Cache 4 everyone Version: 2.1 Author: fpuenteonline ShortPixel Critical CSS Version: 1.0.1 Author: ShortPixel Site Kit by Google Version: 1.110.0 Author: Google Web Font Display Version: 1.0 Author: AIS Technolabs WooCommerce Version: 8.1.1 Author: Automattic Wooshlist Version: 0.0.1 Author: BRN Systems Yoast SEO Version: 21.3 Author: Team Yoast == Použitie prvkov == archive : 1 container : 2 theme-archive-title : 1 woocommerce-products : 1 footer : 1 container : 7 form : 1 heading : 7 social-icons : 1 header : 1 container : 38 heading : 26 html : 1 icon : 5 image : 11 login : 1 nav-menu : 1 search-form : 1 wishlist-link-widget : 1 woocommerce-menu-cart : 1 popup : 1 call-to-action : 1 container : 2 product : 1 add-to-wishlist-button : 1 container : 7 heading : 3 post-comments : 1 woocommerce-notices : 1 woocommerce-product-add-to-cart : 1 woocommerce-product-content : 1 woocommerce-product-images : 1 woocommerce-product-price : 1 woocommerce-product-related : 1 woocommerce-product-title : 1 wp-page : 13 blockquote : 2 button : 2 container : 152 divider : 5 form : 1 heading : 75 icon : 16 icon-box : 10 icon-list : 13 image : 49 image-box : 13 loop-carousel : 2 media-carousel : 2 nested-carousel : 2 shortcode : 1 star-rating : 32 text-editor : 22 toggle : 1 wishlist-link-widget : 1 woocommerce-cart : 1 woocommerce-checkout-page : 1 woocommerce-my-account : 1 woocommerce-products : 2 woocommerce-purchase-summary : 1 product-archive : 1 blockquote : 2 container : 8 heading : 4 media-carousel : 1 star-rating : 2 text-editor : 1 woocommerce-products : 1 loop-item : 7 container : 4 heading : 1 image : 2 star-rating : 2 theme-post-featured-image : 1 woocommerce-product-images : 1 woocommerce-product-price : 1 woocommerce-product-title : 1 error-404 : 1 button : 1 container : 2 heading : 1 text-editor : 1 == Nastavenia == cpt_support: post, page allow_tracking: yes unfiltered_files_upload: 1 font_display: swap load_fa4_shim: yes == Features == Custom Fonts: 0 Custom Icons: 0 == Integrácia == woocommerce: Aktívny == Experimenty so softvérom Elementor == Optimalizovaný výstup DOM: Aktívne Vylepšené načítavanie prvkov: Aktívne Vylepšené načítavanie CSS: Aktívne Ikony inline písma: Aktívne Dodatočné prispôsobiteľné hraničné body: Aktívne admin_menu_rearrangement: Predvolené ako neaktívne Kontajner Flexbox: Aktívne Upgrade Swiper Library: Aktívne Grid Container: Aktívne Default to New Theme Builder: Aktívne Editor Top Bar: Aktívne Gutenberg Asset Loading: Predvolené ako aktívne Build with AI: Predvolené ako neaktívne Vstupné stránky: Aktívne Nested Elements: Aktívne Obrázky pozadia Lazy Load: Aktívne Optimize Image Loading: Predvolené ako aktívne Pages Panel: Predvolené ako neaktívne Global Style Guide: Aktívne Page Transitions: Aktívne Notes: Aktívne Form Submissions: Aktívne Scroll Snap: Aktívne Menu: Aktívne Taxonomy Filter: Predvolené ako neaktívne == Záznam == PHP: showing 20 of 24PHP: 2023-09-24 06:38:33 [notice X 324][../wp-content/plugins/elementor/includes/elements/container.php::42] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_start is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(42): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/includes/base/element-base.php(361): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor/includes/base/element-base.php(1480): Elementor\Element_Base -> add_child() #4: ../wp-content/plugins/elementor/includes/base/element-base.php(300): Elementor\Element_Base -> init_children() ', )] PHP: 2023-09-24 06:38:34 [notice X 324][../wp-content/plugins/elementor/includes/elements/container.php::43] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_end is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(43): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/includes/base/element-base.php(361): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor/includes/base/element-base.php(1480): Elementor\Element_Base -> add_child() #4: ../wp-content/plugins/elementor/includes/base/element-base.php(300): Elementor\Element_Base -> init_children() ', )] PHP: 2023-09-29 10:38:00 [error X 2][../wp-content/plugins/elementor/includes/widgets/image-carousel.php::851] Uncaught TypeError: Cannot access offset of type string on string in ../wp-content/plugins/elementor/includes/widgets/image-carousel.php:851 Stack trace: #0 ../wp-content/plugins/elementor/includes/base/controls-stack.php(2265): Elementor\Widget_Image_Carousel->render() #1 ../wp-content/plugins/elementor/includes/base/widget-base.php(609): Elementor\Controls_Stack->render_by_mode() #2 ../wp-content/plugins/elementor/includes/base/widget-base.php(733): Elementor\Widget_Base->render_content() #3 ../wp-content/plugins/elementor/includes/base/element-base.php(551): Elementor\Widget_Base->get_raw_data() #4 ../wp-content/plugins/elementor/core/base/document.php(1013): Elementor\Element_Base->get_raw_data() #5 ../wp-content/plugins/elementor/core/base/document.php(679): Elementor\Core\Base\Document->get_elements_raw_data() #6 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1010): Elementor\Core\Base\Document->get_initial_config() #7 ../wp-content/plugins/elementor/core/documents-manager.php(640): Elementor\Controls_Stack->get_config() #8 [internal function]: Elementor\Core\Documents_Manager->ajax_get_document_config() #9 ../wp-content/plugins/elementor/core/common/modules/ajax/module.php(175): call_user_func() #10 ../wp-includes/class-wp-hook.php(310): Elementor\Core\Common\Modules\Ajax\Module->handle_ajax_request() #11 ../wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters() #12 ../wp-includes/plugin.php(517): WP_Hook->do_action() #13 ../wp-admin/admin-ajax.php(188): do_action() #14 {main} thrown [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] PHP: 2023-09-29 10:51:00 [error X 1][../wp-content/plugins/elementor/includes/widgets/image-carousel.php::851] Uncaught TypeError: Cannot access offset of type string on string in ../wp-content/plugins/elementor/includes/widgets/image-carousel.php:851 Stack trace: #0 ../wp-content/plugins/elementor/includes/base/controls-stack.php(2265): Elementor\Widget_Image_Carousel->render() #1 ../wp-content/plugins/elementor/includes/base/widget-base.php(609): Elementor\Controls_Stack->render_by_mode() #2 ../wp-content/plugins/elementor/includes/base/widget-base.php(733): Elementor\Widget_Base->render_content() #3 ../wp-content/plugins/elementor/includes/base/element-base.php(551): Elementor\Widget_Base->get_raw_data() #4 ../wp-content/plugins/elementor/core/base/document.php(1013): Elementor\Element_Base->get_raw_data() #5 ../wp-content/plugins/elementor/core/base/document.php(679): Elementor\Core\Base\Document->get_elements_raw_data() #6 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1010): Elementor\Core\Base\Document->get_initial_config() #7 ../wp-content/plugins/elementor/core/editor/loader/common/editor-common-scripts-settings.php(34): Elementor\Controls_Stack->get_config() #8 ../wp-content/plugins/elementor/core/editor/loader/v2/editor-v2-loader.php(133): Elementor\Core\Editor\Loader\Common\Editor_Common_Scripts_Settings::get() #9 ../wp-content/plugins/elementor/core/editor/editor.php(358): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->enqueue_scripts() #10 ../wp-includes/class-wp-hook.php(310): Elementor\Core\Editor\Editor->enqueue_scripts() #11 ../wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters() #12 ../wp-includes/plugin.php(517): WP_Hook->do_action() #13 ../wp-includes/script-loader.php(2225): do_action() #14 ../wp-includes/class-wp-hook.php(310): wp_enqueue_scripts() #15 ../wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters() #16 ../wp-includes/plugin.php(517): WP_Hook->do_action() #17 ../wp-includes/general-template.php(3053): do_action() #18 ../wp-content/plugins/elementor/includes/editor-templates/editor-wrapper.php(31): wp_head() #19 ../wp-content/plugins/elementor/core/editor/loader/v2/editor-v2-loader.php(179): include('...') #20 ../wp-content/plugins/elementor/core/editor/editor.php(163): Elementor\Core\Editor\Loader\V2\Editor_V2_Loader->print_root_template() #21 ../wp-includes/class-wp-hook.php(310): Elementor\Core\Editor\Editor->init() #22 ../wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters() #23 ../wp-includes/plugin.php(517): WP_Hook->do_action() #24 ../wp-admin/admin.php(419): do_action() #25 ../wp-admin/post.php(12): require_once('...') #26 {main} thrown [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] PHP: 2023-10-02 17:45:34 [notice X 6][../wp-content/plugins/elementor-pro/core/editor/editor.php::118] Using ${var} in strings is deprecated, use {$var} instead [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] PHP: 2023-10-07 12:06:12 [notice X 59][../wp-content/plugins/elementor/includes/elements/container.php::42] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_start is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(42): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/core/files/css/post.php(172): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor/core/files/css/base.php(677): Elementor\Core\Files\CSS\Post -> render_css() #4: ../wp-content/plugins/elementor/core/files/base.php(155): Elementor\Core\Files\CSS\Base -> parse_content() ', )] PHP: 2023-10-07 12:06:12 [notice X 59][../wp-content/plugins/elementor/includes/elements/container.php::43] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_end is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(43): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/core/files/css/post.php(172): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor/core/files/css/base.php(677): Elementor\Core\Files\CSS\Post -> render_css() #4: ../wp-content/plugins/elementor/core/files/base.php(155): Elementor\Core\Files\CSS\Base -> parse_content() ', )] PHP: 2023-10-07 12:06:15 [notice X 9][../wp-content/plugins/elementor/includes/elements/container.php::42] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_start is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(42): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/core/base/document.php(1733): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor/core/base/document.php(1134): Elementor\Core\Base\Document -> print_elements() #4: ../wp-content/plugins/elementor/includes/frontend.php(1179): Elementor\Core\Base\Document -> print_elements_with_wrapper() ', )] PHP: 2023-10-07 12:06:15 [notice X 9][../wp-content/plugins/elementor/includes/elements/container.php::43] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_end is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(43): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/core/base/document.php(1733): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor/core/base/document.php(1134): Elementor\Core\Base\Document -> print_elements() #4: ../wp-content/plugins/elementor/includes/frontend.php(1179): Elementor\Core\Base\Document -> print_elements_with_wrapper() ', )] PHP: 2023-10-07 12:06:15 [notice X 1][../wp-content/plugins/elementor/includes/elements/container.php::42] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_start is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(42): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/core/files/css/post.php(172): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor/core/files/css/base.php(677): Elementor\Core\Files\CSS\Post -> render_css() #4: ../wp-content/plugins/elementor-pro/modules/theme-builder/files/css/template.php(26): Elementor\Core\Files\CSS\Base -> parse_content() ', )] PHP: 2023-10-07 12:06:15 [notice X 1][../wp-content/plugins/elementor/includes/elements/container.php::43] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_end is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(43): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/core/files/css/post.php(172): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor/core/files/css/base.php(677): Elementor\Core\Files\CSS\Post -> render_css() #4: ../wp-content/plugins/elementor-pro/modules/theme-builder/files/css/template.php(26): Elementor\Core\Files\CSS\Base -> parse_content() ', )] PHP: 2023-10-07 12:06:15 [notice X 50][../wp-content/plugins/elementor/includes/elements/container.php::42] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_start is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(42): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/core/base/document.php(1733): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(418): Elementor\Core\Base\Document -> print_elements() #4: ../wp-content/plugins/elementor-pro/modules/loop-builder/documents/loop.php(242): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document -> print_elements_with_wrapper() ', )] PHP: 2023-10-07 12:06:15 [notice X 50][../wp-content/plugins/elementor/includes/elements/container.php::43] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_end is deprecated [array ( 'trace' => ' #0: ../wp-content/plugins/elementor/includes/elements/container.php(43): Elementor\Core\Logger\Manager -> rest_error_handler() #1: ../wp-content/plugins/elementor/includes/managers/elements.php(89): Elementor\Includes\Elements\Container -> __construct() #2: ../wp-content/plugins/elementor/core/base/document.php(1733): Elementor\Elements_Manager -> create_element_instance() #3: ../wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(418): Elementor\Core\Base\Document -> print_elements() #4: ../wp-content/plugins/elementor-pro/modules/loop-builder/documents/loop.php(242): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document -> print_elements_with_wrapper() ', )] PHP: 2023-10-08 09:36:12 [notice X 41][../wp-content/plugins/elementor/includes/base/controls-stack.php::228] hexdec(): Passing null to parameter #1 ($hex_string) of type string is deprecated [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] PHP: 2023-10-08 13:19:05 [warning X 1][../wp-content/plugins/elementor/modules/history/revisions-manager.php::363] Trying to access array offset on value of type null [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] PHP: 2023-10-08 13:42:39 [error X 1][../wp-content/plugins/elementor-pro/modules/theme-builder/classes/conditions-manager.php::304] Uncaught Error: Call to a member function update_meta() on null in ../wp-content/plugins/elementor-pro/modules/theme-builder/classes/conditions-manager.php:304 Stack trace: #0 ../wp-content/plugins/elementor-pro/modules/theme-builder/classes/conditions-manager.php(177): ElementorPro\Modules\ThemeBuilder\Classes\Conditions_Manager->save_conditions() #1 [internal function]: ElementorPro\Modules\ThemeBuilder\Classes\Conditions_Manager->ajax_save_theme_template_conditions() #2 ../wp-content/plugins/elementor/core/common/modules/ajax/module.php(175): call_user_func() #3 ../wp-includes/class-wp-hook.php(310): Elementor\Core\Common\Modules\Ajax\Module->handle_ajax_request() #4 ../wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters() #5 ../wp-includes/plugin.php(517): WP_Hook->do_action() #6 ../wp-admin/admin-ajax.php(188): do_action() #7 {main} thrown [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] PHP: 2023-10-08 18:59:58 [error X 2][../wp-content/plugins/elementor/includes/base/controls-stack.php::2411] Uncaught TypeError: Elementor\Controls_Stack::sanitize_settings(): Argument #1 ($settings) must be of type array, null given, called in ../wp-content/plugins/elementor/includes/base/controls-stack.php on line 1098 and defined in ../wp-content/plugins/elementor/includes/base/controls-stack.php:2411 Stack trace: #0 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1098): Elementor\Controls_Stack->sanitize_settings() #1 ../wp-content/plugins/elementor/includes/base/controls-stack.php(2158): Elementor\Controls_Stack->get_data() #2 ../wp-content/plugins/elementor/core/base/base-object.php(142): Elementor\Controls_Stack->get_init_settings() #3 ../wp-content/plugins/elementor/core/base/base-object.php(40): Elementor\Core\Base\Base_Object->ensure_settings() #4 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1112): Elementor\Core\Base\Base_Object->get_settings() #5 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1203): Elementor\Controls_Stack->get_parsed_dynamic_settings() #6 ../wp-content/plugins/menucko/modules/menucko_widget.php(112): Elementor\Controls_Stack->get_settings_for_display() #7 ../wp-content/plugins/menucko/modules/menucko_widget.php(45): Better_Elementor_Menu_Widget->get_menu_items() #8 ../wp-content/plugins/elementor/includes/base/controls-stack.php(2324): Better_Elementor_Menu_Widget->_register_controls() #9 ../wp-content/plugins/elementor/includes/base/widget-base.php(1039): Elementor\Controls_Stack->init_controls() #10 ../wp-content/plugins/elementor/includes/base/controls-stack.php(509): Elementor\Widget_Base->init_controls() #11 ../wp-content/plugins/elementor/includes/base/widget-base.php(177): Elementor\Controls_Stack->get_stack() #12 ../wp-content/plugins/elementor/includes/managers/widgets.php(375): Elementor\Widget_Base->get_stack() #13 [internal function]: Elementor\Widgets_Manager->ajax_get_widget_types_controls_config() #14 ../wp-content/plugins/elementor/core/common/modules/ajax/module.php(175): call_user_func() #15 ../wp-includes/class-wp-hook.php(310): Elementor\Core\Common\Modules\Ajax\Module->handle_ajax_request() #16 ../wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters() #17 ../wp-includes/plugin.php(517): WP_Hook->do_action() #18 ../wp-admin/admin-ajax.php(188): do_action() #19 {main} thrown [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] PHP: 2023-10-08 19:04:17 [error X 11][../wp-content/plugins/elementor/includes/base/controls-stack.php::2411] Uncaught TypeError: Elementor\Controls_Stack::sanitize_settings(): Argument #1 ($settings) must be of type array, null given, called in ../wp-content/plugins/elementor/includes/base/controls-stack.php on line 1098 and defined in ../wp-content/plugins/elementor/includes/base/controls-stack.php:2411 Stack trace: #0 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1098): Elementor\Controls_Stack->sanitize_settings() #1 ../wp-content/plugins/elementor/includes/base/controls-stack.php(2158): Elementor\Controls_Stack->get_data() #2 ../wp-content/plugins/elementor/core/base/base-object.php(142): Elementor\Controls_Stack->get_init_settings() #3 ../wp-content/plugins/elementor/core/base/base-object.php(40): Elementor\Core\Base\Base_Object->ensure_settings() #4 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1112): Elementor\Core\Base\Base_Object->get_settings() #5 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1203): Elementor\Controls_Stack->get_parsed_dynamic_settings() #6 ../wp-content/plugins/menucko/modules/menucko_widget.php(94): Elementor\Controls_Stack->get_settings_for_display() #7 ../wp-content/plugins/menucko/modules/menucko_widget.php(44): Better_Elementor_Menu_Widget->get_menu_items() #8 ../wp-content/plugins/elementor/includes/base/controls-stack.php(2324): Better_Elementor_Menu_Widget->_register_controls() #9 ../wp-content/plugins/elementor/includes/base/widget-base.php(1039): Elementor\Controls_Stack->init_controls() #10 ../wp-content/plugins/elementor/includes/base/controls-stack.php(509): Elementor\Widget_Base->init_controls() #11 ../wp-content/plugins/elementor/includes/base/widget-base.php(177): Elementor\Controls_Stack->get_stack() #12 ../wp-content/plugins/elementor/includes/managers/widgets.php(375): Elementor\Widget_Base->get_stack() #13 [internal function]: Elementor\Widgets_Manager->ajax_get_widget_types_controls_config() #14 ../wp-content/plugins/elementor/core/common/modules/ajax/module.php(175): call_user_func() #15 ../wp-includes/class-wp-hook.php(310): Elementor\Core\Common\Modules\Ajax\Module->handle_ajax_request() #16 ../wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters() #17 ../wp-includes/plugin.php(517): WP_Hook->do_action() #18 ../wp-admin/admin-ajax.php(188): do_action() #19 {main} thrown [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] PHP: 2023-10-08 19:26:52 [error X 2][../wp-content/plugins/elementor/includes/base/controls-stack.php::2411] Uncaught TypeError: Elementor\Controls_Stack::sanitize_settings(): Argument #1 ($settings) must be of type array, null given, called in ../wp-content/plugins/elementor/includes/base/controls-stack.php on line 1098 and defined in ../wp-content/plugins/elementor/includes/base/controls-stack.php:2411 Stack trace: #0 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1098): Elementor\Controls_Stack->sanitize_settings() #1 ../wp-content/plugins/elementor/includes/base/controls-stack.php(2158): Elementor\Controls_Stack->get_data() #2 ../wp-content/plugins/elementor/core/base/base-object.php(142): Elementor\Controls_Stack->get_init_settings() #3 ../wp-content/plugins/elementor/core/base/base-object.php(40): Elementor\Core\Base\Base_Object->ensure_settings() #4 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1112): Elementor\Core\Base\Base_Object->get_settings() #5 ../wp-content/plugins/elementor/includes/base/controls-stack.php(1203): Elementor\Controls_Stack->get_parsed_dynamic_settings() #6 ../wp-content/plugins/menucko/modules/menucko_widget.php(94): Elementor\Controls_Stack->get_settings_for_display() #7 ../wp-content/plugins/menucko/modules/menucko_widget.php(44): Better_Menu_Widget->get_menu_items() #8 ../wp-content/plugins/elementor/includes/base/controls-stack.php(2324): Better_Menu_Widget->_register_controls() #9 ../wp-content/plugins/elementor/includes/base/widget-base.php(1039): Elementor\Controls_Stack->init_controls() #10 ../wp-content/plugins/elementor/includes/base/controls-stack.php(509): Elementor\Widget_Base->init_controls() #11 ../wp-content/plugins/elementor/includes/base/widget-base.php(177): Elementor\Controls_Stack->get_stack() #12 ../wp-content/plugins/elementor/includes/managers/widgets.php(375): Elementor\Widget_Base->get_stack() #13 [internal function]: Elementor\Widgets_Manager->ajax_get_widget_types_controls_config() #14 ../wp-content/plugins/elementor/core/common/modules/ajax/module.php(175): call_user_func() #15 ../wp-includes/class-wp-hook.php(310): Elementor\Core\Common\Modules\Ajax\Module->handle_ajax_request() #16 ../wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters() #17 ../wp-includes/plugin.php(517): WP_Hook->do_action() #18 ../wp-admin/admin-ajax.php(188): do_action() #19 {main} thrown [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] PHP: 2023-10-08 19:27:08 [notice X 5][../wp-content/plugins/elementor/includes/elements/container.php::43] Creation of dynamic property Elementor\Includes\Elements\Container::$logical_dimensions_inline_end is deprecated [array ( 'trace' => ' #0: Elementor\Core\Logger\Manager -> shutdown() ', )] JS: showing 11 of 11JS: 2023-09-29 09:01:10 [error X 2][../wp-content/plugins/elementor/assets/js/4fdaa70e951ad90db2f2.bundle.min.js:2:7765] can't access property "dataset", t.target.closest(...) is null JS: 2023-09-29 09:38:00 [error X 2][../wp-content/plugins/elementor/assets/js/packages/editor-documents/editor-documents.min.js?ver=3.17.0-cloud4:1:1684] can't access property "config", t is null JS: 2023-10-02 16:19:58 [error X 35][../wp-includes/js/mediaelement/mediaelement-and-player.min.js?ver=4.2.17:12:0] JS: 2023-10-02 16:19:59 [error X 1][../wp-content/plugins/elementor-pro/assets/js/editor.min.js?ver=3.16.2:2:112818] can't access property "config", elementor.documents.currentDocument is null JS: 2023-10-02 16:19:59 [error X 84][../wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.17.0-dev1:2:16877] can't access property "attributes", e is undefined JS: 2023-10-08 08:39:51 [error X 1][../wp-content/plugins/elementor/assets/js/admin.min.js?ver=3.17.0-dev1:3:48021] can't access property "value", l[0] is undefined JS: 2023-10-08 09:16:51 [error X 1][../wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.17.0-dev1:3:805415] can't access property "toLowerCase", T.originalEvent.key is undefined JS: 2023-10-08 12:03:17 [error X 4][../wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.17.0-dev1:2:18465] can't access property "handlers", elementorModules.frontend is undefined JS: 2023-10-08 17:35:28 [error X 6][../wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.17.0-dev1:3:805900] can't access property "localized", this.store.find(...) is undefined JS: 2023-10-08 17:41:15 [error X 13][../wp-content/plugins/elementor/assets/js/editor-modules.min.js?ver=3.17.0-dev1:3:16120] can't access property "global", r[a] is undefined JS: 2023-10-08 17:55:36 [error X 2][../wp-content/plugins/elementor/assets/js/editor-modules.min.js?ver=3.17.0-dev1:3:16120] can't access property "global" of undefined Log: showing 7 of 72023-10-01 17:45:54 [info] elementor::elementor_updater Started 2023-10-01 17:45:54 [info] Elementor/Upgrades - _on_each_version Start 2023-10-01 17:45:54 [info] Elementor data updater process has been queued. [array ( 'plugin' => 'Elementor', 'from' => '3.17.0-cloud4', 'to' => '3.17.0-dev1', )] 2023-10-01 17:45:55 [info] Elementor/Upgrades - _on_each_version Finished 2023-10-01 17:45:55 [info] Elementor/Upgrades - _v_3_17_0_site_settings_updates Start 2023-10-01 17:45:55 [info] Elementor/Upgrades - _v_3_17_0_site_settings_updates Finished 2023-10-01 17:45:55 [info] Elementor data updater process has been completed. [array ( 'plugin' => 'Elementor', 'from' => '3.17.0-cloud4', 'to' => '3.17.0-dev1', )] == Elementor - Compatibility Tag == Elementor Pro: Nezadaná kompatibilita == Elementor Pro - Compatibility Tag == ````
BRNSystems commented 1 year ago

I stopped it from happening by editing file elementor/includes/base/controls-stack.php and changing the get data to skip processing if it is null. I do not know weather this will cause issues.

public function get_data( $item = null ) {
        if($this->data){
                if ( ! $this->settings_sanitized && ( ! $item || 'settings' === $item ) ) {
                        $this->data['settings'] = $this->sanitize_settings( $this->data['settings'] );
                        $this->settings_sanitized = true;
                }
                return self::get_items( $this->data, $item );
        }
}
BRNSystems commented 1 year ago

Might be related to #8698