0

CiviCRM 6.8.0 upgrade from 6.6.3 has brought this message:

The above SavedSearch entities have invalid php-serialized strings in form_values. This will lead to unexpected search results. This is not something that can be fixed without low level database access.

One of "invalid" values is:

a:8:{i:0;a:5:{i:0;s:8:"entryURL";i:1;s:1:"=";i:2;s:69:"https://domain.tld/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fcontact%2Fsearch%2Fbuilder&reset=1";i:3;i:0;i:4;i:0;}i:1;a:5:{i:0;s:21:"group_search_selected";i:1;s:1:"=";i:2;s:5:"group";i:3;i:0;i:4;i:0;}i:2;a:5:{i:0;s:14:"tag_types_text";i:1;s:1:"=";i:2;s:19:"Activities or Cases";i:3;i:0;i:4;i:0;}i:3;a:5:{i:0;s:16:"privacy_operator";i:1;s:1:"=";i:2;s:2:"OR";i:3;i:0;i:4;i:0;}i:4;a:5:{i:0;s:14:"privacy_toggle";i:1;s:1:"=";i:2;s:1:"1";i:3;i:0;i:4;i:0;}i:5;a:5:{i:0;s:9:"custom_25";i:1;s:1:"=";i:2;a:1:{s:2:"IN";a:1:{i:0;s:8:"National";}}i:3;i:0;i:4;i:0;}i:6;a:5:{i:0;s:12:"contact_type";i:1;s:2:"IN";i:2;a:1:{s:9:"Household";s:9:"Household";}i:3;i:0;i:4;i:0;}i:7;a:5:{i:0;s:8:"operator";i:1;s:1:"=";i:2;s:3:"AND";i:3;i:0;i:4;i:0;}}

Any pointer to the issue cause(-s) please?

2 Answers 2

1

If you take your string and run php's json decode on it, it gives 'Syntax error', which is what your code is also telling you. In theory, you could find a json editor and maybe you can figure out where that syntax error is. Alternatively, it's a reasonable to guess that the string is so long it got truncated at some point.

To resolve the issue - if you can figure out which saved search it is and then map that back to the corresponding smart group, and consider what you're trying to accomplish with the smart group, you'd probably be best to recreate it.

2

Alan's answer is good but it's not json it's php-serialization, and the specific problem is that "https://domain.tld/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fcontact%2Fsearch%2Fbuilder&reset=1" is not 69 characters long it's 97.

If you change the 69 before it to 97 then it works.

5
  • And this why you are smarter than me. Commented Nov 21 at 16:44
  • And what's your theory about why it thought it was only 69 characters? Ah wait - that's not even the right domain, maybe the original was only 69 characters? In fact, "domain.tld" is 18 characters, so the original probably didn't have a domain. Commented Nov 21 at 16:48
  • You're right it looks like yurg has probably sanitized the url in the question, but one possibility is there was a domain change at some point and somebody did a find/replace on the entire db. And given the lengths involved here maybe it was even a cms move from drupal, where the url would be shorter, and somebody converted it in the db to a wordpress url, but didn't change the 69 to match. People do all kinds of things. Commented Nov 21 at 21:38
  • AlanDixon/Demerit Actually the issue was caused by a deleted custom field, but your answers are so much better than that! Commented Nov 22 at 20:11
  • Haha. It's strange though that that would cause that status check message because the check doesn't try to verify anything about the search, it just checks that it's a valid php-serialized string. Commented Nov 22 at 22:00

Your Answer

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.