Skip to content

"Maximum recursive updates exceeded" with larger data sets #14787

@martyf

Description

@martyf

Bug description

With certain data sets - such as nested replicators with many Link fieldtypes - throws an exception in the console, and stops the page from loading. The progress bar remains visible, and the page cannot be interacted with (i.e. save is disabled):

Uncaught (in promise) Maximum recursive updates exceeded. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.

How to reproduce

Repo:
https://github.com/martyf/statamic-recursion

Run your composer install and php please make:user and log in. Head to the Pages collection.

In the Pages collection you will see entries "Recursion - 1" to "Recursion - 5". 1-4 are OK, but 5 throws the error in the console.

This is mirroring a similar setup in a project that has nested replicators and many links, so a real-world project identified this issue.

Environment

Environment
Laravel Version: 13.14.0
PHP Version: 8.4.21
Composer Version: 2.9.5
Environment: local
Debug Mode: ENABLED
Maintenance Mode: OFF
Timezone: UTC
Locale: en

Cache
Config: NOT CACHED
Events: NOT CACHED
Routes: NOT CACHED
Views: CACHED

Drivers
Broadcasting: log
Cache: file
Database: sqlite
Logs: stack / single
Mail: log
Queue: sync
Session: file

Storage
public/storage: NOT LINKED

Statamic
Addons: 0
License Key: Not set
Sites: 1
Stache Watcher: Enabled (auto)
Static Caching: Disabled
Version: 6.20.2 PRO

Installation

Fresh statamic/statamic site via CLI

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions