EXTREMELY IMPORTANT: Please attach a ZIP file containing your Akeeba Backup log file in order for us to help you with any backup or restoration issue. If the file is over 10MiB, please upload it on your server and post a link to it.
refer to ticket #42978 - err-too-many-redirects-after-successfull-login
Hello Nicholas,
With the help of Claude.ai — whose analytical capabilities proved quite useful despite your skepticism — we were able to dig into the code and identify the actual root cause of the issue.
The problem: The postUpgradeActions() method in Solo/Model/Main.php reads update_version from #__ak_params and compares it to AKEEBABACKUP_VERSION. If they differ, it attempts to write the new version, then returns true — triggering a redirect to view=main.
In our case, the MySQL user had no INSERT privilege on #__ak_params. The write silently failed (caught and ignored with // Don't panic), so update_version was never stored. On every subsequent request, the version mismatch persisted, postUpgradeActions() kept returning true, and the redirect loop was infinite.
The fix: Granting proper MySQL privileges and manually inserting the correct update_version row resolved the issue immediately.
The real bug: The silent catch followed by return true regardless of whether the INSERT succeeded is the design flaw. If the write fails, the function should return false to avoid the infinite loop. A simple check after the INSERT, or returning false in the catch block, would have made this immediately diagnosable instead of manifesting as a mysterious redirect loop.
I hope this helps improve the robustness of the code for future users in similar server environments.
Regards,
Laurent