• Resolved Mike Meinz

    (@mikemeinz)


    Query Monitor plugin flagged this error in Advanced Custom FIelds Pro:
    “unserialize(): Error at offset 106 of 284 bytes”

    1. wp-content/plugins/advanced-custom-fields-pro/includes/acf-helper-functions.php:663
    2. acf_maybe_unserialize()
      wp-content/plugins/advanced-custom-fields-pro/includes/acf-helper-functions.php:663
    3. acf_get_raw_field()
      wp-content/plugins/advanced-custom-fields-pro/includes/acf-field-functions.php:108
    4. acf_get_raw_fields()
      wp-content/plugins/advanced-custom-fields-pro/includes/acf-field-functions.php:448
    5. acf_get_fields()
      wp-content/plugins/advanced-custom-fields-pro/includes/acf-field-functions.php:381
    6. acf_field_repeater->load_field()
      wp-content/plugins/advanced-custom-fields-pro/pro/fields/class-acf-field-repeater.php:96
    7. apply_filters_ref_array('acf/load_field/type=repeater')
      wp-content/plugins/advanced-custom-fields-pro/includes/acf-hook-functions.php:118
    8. _acf_apply_hook_variations()
      wp-content/plugins/advanced-custom-fields-pro/includes/acf-hook-functions.php:118
    9. apply_filters('acf/load_field')
      wp-content/plugins/advanced-custom-fields-pro/includes/acf-field-functions.php:70
    10. acf_get_field()
      wp-content/plugins/advanced-custom-fields-pro/includes/acf-field-functions.php:70
    11. acf_get_meta_field()
      wp-content/plugins/advanced-custom-fields-pro/includes/acf-meta-functions.php:285
    12. acf_maybe_get_field()
      wp-content/plugins/advanced-custom-fields-pro/includes/api/api-template.php:312
    13. get_field_object()
      wp-content/plugins/advanced-custom-fields-pro/includes/api/api-template.php:248
    14. have_rows()
      wp-content/plugins/advanced-custom-fields-pro/includes/api/api-template.php:606
    15. require(wp-content/themes/eastlyme/widget-quick-links.php)
      wp-content/themes/eastlyme/widget-quick-links.php:5
    16. ACFW_Widget->widget()
      wp-content/plugins/acf-widgets/includes/ACFW_Widget.php:93
    17. WP_Widget->display_callback()
      wp-includes/class-wp-widget.php:394
    18. dynamic_sidebar('sidebar-3')
      wp-includes/widgets.php:845
    19. require_once(wp-content/themes/eastlyme/sidebar-quick-links.php)
      wp-content/themes/eastlyme/sidebar-quick-links.php:26
    20. load_template(wp-content/themes/eastlyme/sidebar-quick-links.php)
      wp-includes/template.php:814
    21. locate_template()
      wp-includes/template.php:749
    22. get_sidebar('quick-links')
      wp-includes/general-template.php:136
    23. require_once(wp-content/themes/eastlyme/header.php)
      wp-content/themes/eastlyme/header.php:109
    24. load_template(wp-content/themes/eastlyme/header.php)
      wp-includes/template.php:814
    25. locate_template()
      wp-includes/template.php:749
    26. get_header()
      wp-includes/general-template.php:48

    Advanced Custom Fields Pro Version 6.8.0.1
    WordPress Version 6.9.4

    The page I need help with: [log in to see the link]

Viewing 3 replies - 1 through 3 (of 3 total)
  • Hi @mikemeinz,

    Thanks for reaching out and providing that detailed Query Monitor stack trace! I know database errors can look quite alarming when they suddenly pop up on your dashboard.

    That specific unserialize() error indicates that a serialized string in your WordPress database has been corrupted. Based on your stack trace, it looks like the configuration or saved data for a Repeater field inside your ACF widget has malformed byte counts. This almost always happens immediately following a site migration or a database search-and-replace operation that didn’t properly handle serialized PHP arrays, such as updating a URL where the string length changes but the serialized count does not.

    To fix this, the corrupted data or the field group itself needs to be re-saved to regenerate the correct serialized string. Since fixing database serialization can get a bit technical, please feel free to open a direct support ticket so our team can help you safely analyze and troubleshoot your specific widget and field setup!

    Best regards,
    Patroba

    Thread Starter Mike Meinz

    (@mikemeinz)

    After further research, I found that a row in wp_posts that was the definition of a ACF Text field for a link_url contained a malformed URL in the post_content column. The URL value in the post_content serialized string should have been empty.

    I modified the ACF field by adding a text length limit in Edit Field Group and saved it. That regenerated the post_content column in the database eliminating the malformed URL. That solved the problem.

    Hi @mikemeinz,

    Awesome detective work! Thank you so much for following up and sharing your exact solution with the community. Updating and re-saving the field group is the perfect way to force WordPress to regenerate that serialized post_content string with the correct byte counts, so you handled that flawlessly.

    I’m thrilled to hear you got it completely resolved! If you ever run into any other questions or need a hand with anything else in the future, please don’t hesitate to reach out. Have a fantastic rest of your week!

    Best regards,
    Patroba

Viewing 3 replies - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.