After temporarily modifying the json_decode.php, I see that after the exception is thrown (ignore in the updated code), there are tasks done which I’m not sure are done when exception is not ignored. Specifically pointing to these log statements:
Reloading...... DONE
Running Post Restore Hooks.. Please note that hook will restart httpd service so please refresh your page (using new ports)
post Restore hooks failed !!!!!
Running Post Restore Hooks DONE
Finished
Restore completed successfully
I don’t think a user would be satisfied with a process throwing an exception (on GUI it shows up as a failed restore) and just ignore it. It has to be looked at.