elasticsuite: Virtual Category module suddenly throwing errors

After updating some packages (not elasticsuite itself) with composer (none of them related to layered navigation), Virtual Category module throws an error:

For frontend:

Warning: call_user_func_array() expects parameter 1 to be a valid callback, class '{"type":"Smile\\ElasticsuiteVirtualCategory\\Model\\Rule\\Condition\\Combine","attribute":null,"operator":null,"value":"1","is_value_processed":null,"aggregator":"all"}' not found in vendor/smile/elasticsuite/src/module-elasticsuite-virtual-category/Helper/Rule.php on line 67

And for backend:

main.CRITICAL: Error: Call to a member function getCategorySearchQuery() on string in vendor/smile/elasticsuite/src/module-elasticsuite-virtual-category/Model/Preview.php:116

And for virtual categories on backend:

main.CRITICAL: Error: Call to a member function loadPost() on string in vendor/smile/elasticsuite/src/module-elasticsuite-virtual-category/Controller/Adminhtml/Category/Virtual/Preview.php:144

The odd thing is; it was working perfectly fine before. I had this error about two weeks ago, but then after a while of trying to figure it out and debugging, I turned the module back on and it worked normally again.

Looking through the history of issues; this seems to appear every once in a while, but no real conclusive answer.

Preconditions

Magento Version : 2.4.0

ElasticSuite Version : 2.10.1

Environment : Production

Third party modules : Loads, none of them impact layered navigation, however (fully handled by elasticsuite)

Steps to reproduce

No clue how to reproduce, given that it happened out of the blue. I do use optimizers on every category which is why I guess all categories go 500

Expected result

Category pages load normally

Actual result

Category page returns error 500 and logs the critical error in system.log

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 3
  • Comments: 21 (1 by maintainers)

Commits related to this issue

Most upvoted comments

I’m getting the same error here

Warning: call_user_func_array() expects parameter 1 to be a valid callback, class
'{"type":"Smile\\ElasticsuiteVirtualCategory\\Model\\Rule\\Condition\\Combine","attribute":null,"operator":null,"value":"1",
"is_value_processed":null,"aggregator":"all"}' not found in 
vendor/smile/elasticsuite/src/module-elasticsuite-virtual-category/Helper/Rule.php on line 67