We were struck by a bug on the gradelib.php file when we upgraded to 3.5.4 that started a process endlessly looping at 100% CPU every time a user clicked on a quiz ...
Hopefully, it was not in a very popular course so we only had to restart Apache a few times a day.
Even though the bug has been corrected in a weekly build, we are puzzled by the fact that the executed code overrides the server timeout limit.
If it was not the case, each looping process would not have stayed more than 30 seconds in memory.
As a developper myself, I know that bugs will always happen but we should not allow them to take down the whole server by overriding system settings.
There should be a global parameter to limit the core_php_time_limit::raise() function especially when the code can be executed with the web interface.
What do you think about adding this global parameter and patching the core_php_time_limit::raise() function with this parameter set as default ?