Runway: Saving a region that uses Blocks locks up the server

  • Hi,


    I've inherited a very old Perch site, and I'm attempting to do a medium-term upgrade until the client has a budget approval for a rewrite.

    I'd like to use Blocks to improve their editing experience, but on my local server, every time I save the region, the server locks up and has to be manually killed, and all browser tabs hang indefinitely waiting for data. The save works - that is, once the server is restarted, the new content has been persisted to the DB, and will load on the page. When saving regions which are not using blocks, everything is fine.


    Usually my instinct would be that this has something to do with image processing, but Perch seems happy that GD is set up properly and can resize images on non-block regions, and the lock-up happens even when only using blocks which have no image field. It might some quirk that only manifests with my local setup, but because I don't control the host machine (long story), I'm reluctant to test this code on live since I'd have no way to unlock it if it crashes.


    I've searched both editions of the forum and can't find reports of similar issues. Is this a known problem? How might I go about diagnosing this?


    Here's the current state of the system according to the diagnostic panel. Again the site was VERY old, so although the upgrade went fairly smoothly, if there's the potential that something got screwed up during the upgrades, I wouldn't be surprised.

    • Perch Runway: 3.1.4, PHP: 7.0.23, MySQL: mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $, with PDO
    • Server OS: Darwin, cli-server
    • Installed apps: content (3.1.4), assets (3.1.4), categories (3.1.4), perch_events (1.9.5), perch_gallery (2.8.9), perch_varnish (1.0)

    Thanks for your help,
    Jordan

  • drewm

    Approved the thread.
  • Hi Drew,
    Thanks for your reply. There was a balancing error in the template (good thinking) but I've fixed it, and the problem persists. Unfortunately there's nothing in the error logs since the server dies before it can generate any output.

    I'm going to try changing up the environment to see if I can find a configuration that yields some useful errors. Thanks for your help :)
    Jordan

  • Updating this in case anyone else needs it; the problem seems to be isolated to the PHP built-in webserver. There is no problem on Apache. I still have no idea what causes the actual problem, but it does seem to be isolated to regions using blocks. If you're having this error, try spinning up Apache or nginx to get around it.
    Jordan