#6270 - Infinite loop: kill_cron_looping
| Identifier | #6270 |
|---|---|
| Issue type | Minor issue (breaks specific functionality) |
| Title | Infinite loop: kill_cron_looping |
| Status | Completed |
| Tags |
Roadmap: v11 (custom) |
| Handling member | PDStig |
| Version | 11 beta8 |
| Addon | core |
| Description | After running the Setup Wizard, you might get an infinite loop error for kill_cron_looping on step 10 if uninstalling a lot of addons / modules / blocks. This is because every uninstall calls set_value for kill_cron_looping. Add a smart bypass for this... e.g. between every successful uninstall of something, reset the infinite loop counter for that. |
| Steps to reproduce | |
| Additional information | An error occurred at: adminzone/index.php?page=admin-setupwizard&type=step10 Happened to IP address: ?. The full error details follow: A potential infinite loop was detected, and Composr was halted to prevent a server crash (codename set_value). The following additional serialised data may help you determine the cause / location of the infinite loop: a:2:\\{i:0;s:17:\\"kill_cron_looping\\";i:1;s:1:\\"1\\";}. I confirm I searched the tracker for an existing issue. |
| Funded? | No |
| Commits |
The system will post a comment when this issue is modified (e.g., status changes). To be notified of this, click "Enable comment notifications".


Comments
E.g. if we save 1 to kill_cron_looping, then save 0... we should still be allowed to save 1 again because we previously changed it back to 0.
After running the Setup Wizard, you might get an infinite loop error for kill_cron_looping on step 10 if uninstalling a lot of addons / modules / blocks.
This hotfix modifies the behaviour of set_value. If we are trying to save the same value on the same codename (from the values cache), we exit the function without further execution.
Additionally, we refactored it to remove the code for deleting values; instead, $value = null will simply shortcut to the delete_value function. This is necessary for proper infinite loop detection.