After Chrome released their newest version yesterday (64.0.3282), I am now receiving this error rather sporadically:

Timed out receiving message from renderer: 600.000

I'm running about 2,000 selenium tests within a docker container and I see this failure at a rate of about 1 in 100. There are no reproducible steps as far as I can tell- the tests that fail are different with each iteration. I updated to the newest Chromedriver (2.35), but that didn't seem to have any effect. I was previously using Selenium 2.41, but have updated to the newest version (3.8.1) hoping that it might help... it did not. I'm completely at a loss as to why this might be occurring. Has anyone else noticed this? Is it possibly a bug with Chrome's newest release?

I am seeing this same issue in Jenkins using since the selenium/standalone-chrome docker image was updated ~20 days ago. A visit to the first page works, but a visit to any other page after fails with the same message above. The tests worked fine for more than a year before the image update.
– dansalmoFeb 14 '18 at 17:56

Same image/Chrome driver works perfectly on my local machine. Only fails in Jenkins.
– dansalmoFeb 14 '18 at 18:17

Good job with the detailed list of fixes. The --disable-gpu option worked for me and I now have screen shot after hours of messing around with 4 lines of code. If you are running Linux on a VM this option makes web driver work.
– rtnOct 22 '18 at 22:28

Related: If your screenshots are black, it can also be that your host is Windows with a locked screen
– JonathanDec 11 '18 at 20:02

Amazing. Thanks. Went from nightmare debugging scenario to my tests just working by adding these options. Boom :+1 Cheers
– Andrew EellsJun 5 '19 at 12:10

1

It seems to be spending too much time executing js, try this driver.manage().timeouts().pageLoadTimeout(30L, TimeUnit.SECONDS) , driver.manage().timeouts().setScriptTimeout(3L, TimeUnit.SECONDS). Note that pageLoadTimeout is as large as scriptTimeout
– 西门吹雪Nov 4 '19 at 7:54

1

If you added disable-features=VizDisplayCompositor before, you need to remove that in Chrome 79 or this will come back.
– Ryan ShillingtonDec 13 '19 at 18:16

It looks like there was an issue with the newest Chrome release. Without the disable-gpu Chromeoption set, the renderer will occasionally timeout. The workaround until Google fixes this (if they do fix it at all) is to add the --disable-gpu attribute to the ChromeOptions.

EDIT: This reduced the frequency of occurrences, but it is still happening.

I had this issue today, with Chrome: Version 73.0.3683.86 (Official Build) (64-bit). For me it was failing on the timeouts on Jenkins builds, and was fine locally, see the following Chrome options that helped me to overcome that issue (ChromeDriver at this time: version - 73.0.3683.68):

Root cause: Whenever you are loading some page with the help of selenium driver, then driver script wait till page is completely loaded. But sometime webdriver takes more time to load page, in that case you will see TimeoutException exception in your console.

Solution: When Page Loading takes too much time for wait so we will wait for the DOMContentLoaded event with page load strategy. This page load strategy is called Eager. A small definition of available all 3 pageload strategies.

1. normal: This strategy causes Selenium to wait for the full page loading (html content and sub resources downloaded and parsed).

In our case, we found the problem was a performance issue because the screenshot taken was huge but it happened because we realized the screenshot resolution of the screenshots created by Chrome was double than the specified in code for calling the chromedriver, for example, if we specified width 1024px and height 2000px in the screenshot, it was creating an image of 2048px width and 4000px height so that is why was taking too much for rendering and the timeout breaks the process, in cases when the process finished (after long wait) it was creating a heavy screenshot images. We found it was an option (problem) of Chrome for supporting retina devices which increase the resolution of the screenshot, so, we forced using a flag to deactivate the option and render the original resolution configured and it works well, taking between 8 seconds to 13 seconds to create the screenshot (depending on the content of the page) and the image size is less than at the begenning. This is the flag into the ChromeOptions object:

I was seeing the Timed out receiving message from renderer: aka Net::ReadTimeout issue 100% of the time in a Cucumber test running in a Jenkins build env after the docker selenium/standalone-chrome image was updated in late Jan 2018. Adding the --disable-gpu attribute to the ChromeOptions did not fix it for me, but adding the --disable-browser-side-navigation option fixed it 100%. I found that recommendation here: https://bugs.chromium.org/p/chromedriver/issues/detail?id=2239#c10

it said there are several workarounds to this issue:

A fix is in Chrome v65, which is currently available in beta. This is the best option if you can use beta builds.

I know the question as about Chromedriver, but for anyone like me who isn't specifically testing on Chrome and just needs a working headless browser in Selenium: switch to Firefox (Geckodriver). I set a single option and forgot all about these Chromedriver bugs and rendering problems: