[11.x] Fix for #52436 artisan schema:dump infinite recursion #52492
+36
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fix the issue of potential infinite recursion when executing the
schema:dump
command in Laravel, as reported in #52436. This happens because theexecuteDumpProcess
method can recursively call itself without a clear termination condition under certain error conditions, such as encounteringcolumn-statistics
orset-gtid-purged
exceptions (https://github.com/laravel/framework/issues/52436#issuecomment-2286679516https://github.com/laravel/framework/issues/52436#issuecomment-2286679516). Without a limit on the recursion depth, this can lead to an infinite loop, causing the process to hang or crash.To improve this, a maximum recursion depth is to be introduced to ensure that the recursion terminates after a certain number of attempts, preventing the infinite loop and making the code more robust.