packages/docs/docs/troubleshooting/render-stuck.mdx
If your render is stuck, proceed as follows:
delayRender() callsIf the delayRender() timeout is too big and does not resolve, a render may get stuck indefinitely without an error message.
This issue may be more confusing on Remotion Lambda, whose runtime also has a timeout.
If the delayRender() timeout is bigger than the Lambda function timeout, the Lambda function will first time out without the delayRender() call failing first, leading to no error message.
To debug the issue:
delayRender() timeout value to a smaller value, so that if it does not resolve, an error message is shown.cancelRender() to handle any error that prevents you from calling continueRender().Enable verbose logging to see if there are any failures from the browser or other child processes.
Newer Chrome versions may not work with Remotion anymore and cause a render to get stuck, because they have removed the Headless mode.
Instead, you need to migrate to the Chrome Headless Shell.
:::note This issue does not occur on Remotion Lambda. :::
Follow these best practices:
--chrome-executable option and let Remotion download a compatible version of Chrome Headless Shell for you.npx remotion browser ensure to make sure a compatible versions of Chrome Headless Shell is ready before the first render.errors field?If the overallProgress field is stuck on Lambda, ensure that you are:
errors field to see if there are any errors.getRenderProgress() if the fatalErrorEncountered field is true.