I was attempting to upgrade my Craft CMS from 3.0 to 3.3.19 on my production site. I had tested this out on several dev environments and worked with no issue. However, when doing it live I ran into a yii/exception

Exception: rmdir(/app/b4mhz722nsjh4/storage/runtime/compiled_templates/f1): Input/output error (/app/b4mhz722nsjh4/vendor/yiisoft/yii2/helpers/BaseFileHelper.php:399)

I checked the storage/runtime folder and I noticed there was no f1 directory so I'm guessing it stopped the upgrade with this exception when it tried to remove a directory that didn't exist. The runtime folder is git ignored and I believe they're temporary files anyway. I couldn't find any info as to why it would be trying to delete a directory that doesn't exist.

My question is was this just a freak bug? Any help in the right direction would be appreciated.

One thing to note is I had tried the setup initially (after updating my composer JSON and lock file with the new updated packages) and tried the setup from my siteurl but ran into a CORS error because our control panel base URL is actually different. And ran into this migration error when trying again from the correct domain. I'm wondering if that may have caused issues.

Would like to try the upgrade again but wanted a little more clarity if possible on why I ran into that migration issue.

1 Answer 1


rmdir(/app/b4mhz722nsjh4/storage/runtime/compiled_templates/f1): Input/output error

If Craft or PHP tries to delete a folder that doesn't exist, it won't fail, but will gracefully continue execution.

That error is an underlying operating system error that suggests there might be some probably with your disk:



Craft attempts to clear the compiled templates folder at the end of an update, so the good news is, for all practical purposes, the update probably completed successfully.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.