SeleniumHQ / selenium-google-code-issue-archive

Archive, please see main selenium repo
https://github.com/seleniumhq/selenium
346 stars 194 forks source link

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died. #4319

Closed lukeis closed 8 years ago

lukeis commented 8 years ago

Originally reported on Google Code with ID 4319

I am very often facing this issue.I use to execute 10/12 Test cases using Junit TestSuite,but
it fails in between somewhere and displays error-"org.openqa.selenium.remote.UnreachableBrowserException:
Error communicating with the remote browser. It may have died."I am using Selenium2
and Mozilla browser version 9.0.1.Is there any solution for this or is there any alternative?

Trace is as follows-

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the
remote browser. It may have died.
Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:57:28'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version:
'1.6.0_18'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:421)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:428)
    at org.openqa.selenium.remote.RemoteWebDriver.getPageSource(RemoteWebDriver.java:293)
    at Source_fx.ExpectedUImsg(Source_fx.java:751)
    at IssuingTransactionFeeAdd.IssuingSetupTransactionFeeToAdd(IssuingTransactionFeeAdd.java:70)
    at IssuingCardGeneration.testcase1(IssuingCardGeneration.java:39)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at junit.framework.TestCase.runTest(TestCase.java:168)
    at junit.framework.TestCase.runBare(TestCase.java:134)
    at junit.framework.TestResult$1.protect(TestResult.java:110)
    at junit.framework.TestResult.runProtected(TestResult.java:128)
    at junit.framework.TestResult.run(TestResult.java:113)
    at junit.framework.TestCase.run(TestCase.java:124)
    at junit.framework.TestSuite.runTest(TestSuite.java:243)
    at junit.framework.TestSuite.run(TestSuite.java:238)
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.apache.http.ConnectionClosedException: Premature end of Content-Length
delimited message body (expected: 39684; received: 32768
    at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:178)
    at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:197)
    at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:155)
    at org.apache.http.util.EntityUtils.toByteArray(EntityUtils.java:100)
    at org.openqa.selenium.remote.HttpCommandExecutor$EntityWithEncoding.<init>(HttpCommandExecutor.java:486)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:381)
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:122)
    at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:237)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:401)
    ... 24 more

Reported by ajit.choudhari on 2012-07-26 13:00:49

lukeis commented 8 years ago
The same problem occurs with me, usually when testing for ChromeDriver under Selenium
2.25.0, somewhere in the middle of test suite. The tests, however, continue to run
ok — only one test is failed with this error. Rerunning it results in success.

Reported by Actinate on 2012-07-26 14:00:50

lukeis commented 8 years ago

Reported by barancev on 2012-08-02 19:25:01

lukeis commented 8 years ago
I'm also randomly getting this. I'm running the tests under junit on ubuntu against
firefox.  Of 30 tests 0-3 might fail, but which test, and whether any do, seems random.
 In my latest set of logs it looks like it took the tests 3 hours to timeout and realize
the browser wasn't responding.

   <error message="Error communicating with the remote browser. It may have died.
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-42-server', java.version:
'1.6.0_30'
Driver info: driver.version: RemoteWebDriver" type="org.openqa.selenium.remote.UnreachableBrowserException">org.openqa.selenium.remote.UnreachableBrowserException:
Error communicating with the remote browser. It may have died.
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-42-server', java.version:
'1.6.0_30'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:467)
    at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.getSize(RemoteWebDriver.java:660)
    at com.perforce.test.cloud.SeleniumDriverFactory.defaultDriver(SeleniumDriverFactory.java:159)
    at com.perforce.test.cloud.SeleniumDriverFactory.getDriver(SeleniumDriverFactory.java:119)
    at com.perforce.test.cloud.tests.BaseSeleniumTestcase.setup(BaseSeleniumTestcase.java:34)
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)
    at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264)
    at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252)
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247)
    at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:645)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
    at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:319)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:297)
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:136)
    at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:325)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:446)
</error>

Reported by martin.phillips.100 on 2012-08-15 10:09:35

lukeis commented 8 years ago
same issue over here : 
chrome version 21.0.1180.83 m
chromedriver 22
selenium 2.24.1
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the
remote browser. It may have died.
Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 15:28:49'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version:
'1.6.0_25'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:467)
    at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:244)
    at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:77)
    at geb.navigator.NonEmptyNavigator.click(NonEmptyNavigator.groovy:297)
    at geb.content.TemplateDerivedPageContent.click(TemplateDerivedPageContent.groovy:105)
    at ec.europa.eures.atp.seca.scenarios.sc002.TC_SC002_MAN_SER_AVA_01.completeCommentsForChannel(TC_SC002_MAN_SER_AVA_01.groovy:44)
    at org.spockframework.util.GroovyRuntimeUtil.invokeMethod(GroovyRuntimeUtil.java:100)
    at ec.europa.eures.atp.seca.scenarios.sc002.TC_SC002_MAN_SER_AVA_01.Manage the information
of a service for Jobseekers for a service provider(TC_SC002_MAN_SER_AVA_01.groovy:171)
Caused by: org.openqa.selenium.WebDriverException: java.net.SocketException: Connection
reset
Build info: version: '2.24.1', revision: '17205', time: '2012-06-19 15:28:49'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version:
'1.6.0_25'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:75)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:446)
    ... 7 more
Caused by: java.net.SocketException: Connection reset
    at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)
    at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264)
    at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252)
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247)
    at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:645)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
    at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:319)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:297)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:66)
    ... 8 more

Reported by LAK.le.kiet on 2012-08-22 13:32:03

lukeis commented 8 years ago
Hi, I get the same issue.

I am using Selenium-Server-standalone-v.2.25
Error appeared with: internet explorer version: 7 platform: WINDOWS

212 2012-09-22 13:31:26   Destroying driver.
213 2012-09-22 16:31:26   Test Case viewer_1 caused the following exception:
214 2012-09-22 16:31:26    org.openqa.selenium.remote.UnreachableBrowserException:
Error communicating with the remote browser. It may have died.
215 Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25'
216 System info: os.name: 'SunOS', os.arch: 'sparcv9', os.version: '5.10', java.version:
'1.6.0_29-rev'
217 Driver info: driver.version: RemoteWebDriver
218 2012-09-22 16:31:26   With the message:
219 2012-09-22 16:31:26    Error communicating with the remote browser. It may have
died.
220 Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25'
221 System info: java.version: '1.6.0_29-rev'
222 Driver info: driver.version: RemoteWebDriver
223 2012-09-22 16:31:26   Stack trace: 
224 2012-09-22 16:31:26    org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:421)
225 2012-09-22 16:31:26    org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:428)
226 2012-09-22 16:31:26    org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:302)

The "Destroying driver." output is generated by a method that calls: RemoteWebDriver.quit();

As you can see it takes about 3 hours until I get the exception

I'll try to reproduce this and post further comments, if I was successful.

Reported by mu7eh7 on 2012-09-22 17:42:15

lukeis commented 8 years ago
Found a workaround in stackoverflow:
http://stackoverflow.com/questions/11261602/selenium-abotring-with-unreachablebrowserexception-address-already-in-use-occu
Maybe this will solve your case too.

Reported by turzait on 2012-09-23 15:26:17

lukeis commented 8 years ago
Hi Friends,

Even i am also facing the same issue here. I am using Selenium 2.0 version-2.25.0 and
browser firefox version -14.0.1
my code contains only few click methods nothing more than that.Please help me out to
solve this issue.

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the
remote browser. It may have died.

Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:09:54'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version:
'1.6.0_13'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:493)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:502)
    at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions.deleteAllCookies(RemoteWebDriver.java:565)
    at explore.Practice.tearDown(Practice.java:36)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:36)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: org.openqa.selenium.WebDriverException: The FirefoxDriver cannot be used
after quit() was called.
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:09:54'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version:
'1.6.0_13'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:355)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:472)

Reported by tramakrishna@prokarmasoftech.com on 2012-09-25 14:24:35

lukeis commented 8 years ago
Hi. Any updates on it?
I've got the same error, but using java with testng - my test just stoped working and
this error appeared every run.
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the
remote browser. It may have died.
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:09:54'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version:
'1.6.0_35'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:493)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:268)
at org.openqa.selenium.remote.RemoteWebDriver.findElementById(RemoteWebDriver.java:297)
at org.openqa.selenium.By$ById.findElement(By.java:215)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:260)
at allow_tests.testFirefox1_signup(allow_tests.java:135)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:76)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:673) 

Reported by gvozdevaira on 2012-10-03 19:24:28

lukeis commented 8 years ago
I think I figured out the three hours part of it.  From looking at the HttpClientFactory
in the selenium source, I found the following:

public HttpParams getHttpParams() {
    HttpParams params = new BasicHttpParams();
    HttpConnectionParams.setSoReuseaddr(params, true);
    HttpConnectionParams.setConnectionTimeout(params, 120 * 1000);
    HttpConnectionParams.setSoTimeout(params, TIMEOUT_THREE_HOURS);
    params.setIntParameter(ConnConnectionPNames.MAX_STATUS_LINE_GARBAGE, 0);
    HttpConnectionParams.setStaleCheckingEnabled(params, true);
    return params;
  }

This looks like it can be overridden if using Grid, but not when you are using basic
WebDriver.  I could be wrong on that, but it seems that way.

Three hours is a pretty long default timeout for a single command.  Is there some way
we can have more control over this?  It wouldn't address the problem completely, but
would allow a faster failure.

Reported by dan.woodward on 2012-10-03 22:27:14

lukeis commented 8 years ago

Reported by barancev on 2012-10-14 17:23:44

lukeis commented 8 years ago

I'm runing a 24 hour long run using WebDriver on firefox 19, and I can ALWAYS meet
this issue.
How long this issue will reproduce is uncertain. The short one is around 1hour and
longest once lasted 20 hours.
And like comment 4 said, it took selenium eaxctly 3 hours to realize the browser is
not repsonsing.
I'm using Java, Firefox 19 and Selenium 2.3.0

--------------Below is the Exception-----------------------
Time:2013-03-27:215144
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the
remote browser. It may have died.
Build info: version: '2.30.0', revision: 'dc1ef9c', time: '2013-02-19 00:15:57'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1 build 2600 Service
Pack 3', java.version: '1.6.0'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
    at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:268)
    at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:89)
    at com.ibm.concord.automation.appobjects.upper.ConcordWebElement.sendKeys(ConcordWebElement.java:215)
    at com.ibm.concord.automation.appobjects.upper.RootDocument.sendKeysWithInterval(RootDocument.java:248)
    at com.ibm.concord.automation.tasks.LotusLiveDocument.inputText(LotusLiveDocument.java:459)
    at com.ibm.concord.automation.testcases.document.DocumentCoEditTestCase_Sharer.runTest(DocumentCoEditTestCase_Sharer.java:57)
    at com.ibm.concord.automation.testcases.BaseTestCase.runTestCase(BaseTestCase.java:64)
    at com.ibm.concord.automation.testcases.BaseTestCase.main(BaseTestCase.java:115)
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166)
    at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281)
    at org.apache.http.impl.conn.LoggingSessionInputBuffer.readLine(LoggingSessionInputBuffer.java:115)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:92)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
    at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:712)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:517)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
    at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:332)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:311)
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:133)
    at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:355)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:527)
    ... 8 more

----------------------Below are logs------------------------
Mar 27, 2013 6:51:41 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executing: sendKeysToElement [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement
{"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["a"]}]
Mar 27, 2013 6:51:41 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executed: [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement {"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["a"]}]
Mar 27, 2013 6:51:41 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executing: sendKeysToElement [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement
{"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["n"]}]
Mar 27, 2013 6:51:41 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executed: [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement {"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["n"]}]
Mar 27, 2013 6:51:42 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executing: sendKeysToElement [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement
{"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["d"]}]
Mar 27, 2013 6:51:42 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executed: [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement {"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["d"]}]
Mar 27, 2013 6:51:42 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executing: sendKeysToElement [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement
{"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":[" "]}]
Mar 27, 2013 6:51:42 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executed: [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement {"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["
"]}]
Mar 27, 2013 6:51:42 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executing: sendKeysToElement [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement
{"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["n"]}]
Mar 27, 2013 6:51:43 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executed: [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement {"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["n"]}]
Mar 27, 2013 6:51:43 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Executing: sendKeysToElement [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement
{"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["a"]}]
Mar 27, 2013 9:51:44 PM org.openqa.selenium.remote.RemoteWebDriver log
OFF: Exception: [7d8bbca4-f534-4a31-a3e6-6495d9cc90b2, sendKeysToElement {"id":"{37d33ca1-58f1-4511-abc7-aa5636ed9749}","value":["a"]}]
Abalo_000_001_Bank0 # END OF TESTCASE: com.ibm.concord.automation.testcases.LLiNotesBase

The test scenario is calling sendKeys iteratively to keep entering text into a text
editor, about 3-4 character per second. Judged by the log, the last sendKeys action
took place at 6:51:43, and the exception was thrown at 9:51:44, which took exactly
3 hours after webdriver lost contact with firefox.

Besides, at least for me, I'm pretty sure this is not relative with TCP port limit.
I've set my TCP port limit to 65534 but still not work.

Reported by eminemheaton on 2013-03-27 16:07:00

lukeis commented 8 years ago
Not getting what is going wrong, but have not been able to get a single test running
on Android Emulator following all steps as given at https://code.google.com/p/selenium/wiki/AndroidDriver
and using all the latest libs and apk as of today.
Trying to run the google search test given there and getting the errors as below.
Please help.

FAILED: GoogleSearch_Test
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the
remote browser. It may have died.
Build info: version: '2.33.0', revision: '4e90c97', time: '2013-05-22 15:33:32'
System info: os.name: 'Windows NT (unknown)', os.arch: 'x86', os.version: '6.2', java.version:
'1.7.0'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
    at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:276)
    at atf.TC_1.GoogleSearch_Test(TC_1.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
    at org.testng.TestRunner.privateRun(TestRunner.java:767)
    at org.testng.TestRunner.run(TestRunner.java:617)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:335)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:330)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
    at org.testng.SuiteRunner.run(SuiteRunner.java:240)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
    at org.testng.TestNG.run(TestNG.java:1057)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: org.apache.http.NoHttpResponseException: The target server failed to respond
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:95)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)
    at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:712)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:517)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
    at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:334)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:295)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:527)
    ... 26 more

Also, tried the below multiple times with no luck

adb kill-server
adb start_server
adb devices
adb -s emulator-5554 -e install -r  android-server-2.32.0.apk - did this once with
success

adb -s emulator-5554 forward tcp:8080 tcp:8080
Also tried to check if there is something wrong with port forward by doing
adb -s emulator-5554 forward tcp:5037 tcp:5554
but this gives error "error: cannot rebind smartsocket" probably because I have only
one emulator instance running and adb by def is connecting to it..not sure about this
complexity thought.

The whole of the ecosystem of Eclipse, Selenium WebDriver, AVD is running very slow
though I am using Dell intel i5processor, 4 GB RAM. (I am using Snapshot feature in
AVD!) and Gigs of HDD.
Does it need higher configuration than this or this should be sufficient?

Almost tried all a newbie can and still stuck! 
Please help. Thanks in advance.

Reported by vivektests on 2013-06-25 13:02:27

lukeis commented 8 years ago
Hi Vivek,

Any luck on Andriod Driver not starting the test cases?
I am also facing same issue as Vivek mentioned above

Reported by electraabhi on 2013-09-17 11:57:56

lukeis commented 8 years ago
Sorry, no solution observed in my last round of efforts.  Had to jump to other (non-android)selenium
automation tasks and could not revisit this. However would be keen to retry in case
anyone shares any solution.

Reported by vivektests on 2013-09-18 09:18:08

lukeis commented 8 years ago
Same problem as issue 3951

Reported by jmedina@truste.com on 2014-05-12 22:05:18

lukeis commented 8 years ago
[TestNG] Running:
  C:\Users\z003c2wt\AppData\Local\Temp\testng-eclipse--1651795367\testng-customsuite.xml

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the
remote browser. It may have died.
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:12:12'
System info: host: 'MD1DVJQC', ip: '10.0.0.12', os.name: 'Windows 7', os.arch: 'x86',
os.version: '6.1', java.version: '1.6.0_45'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
    at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:276)
    at hackerRank.webDriverCiscoSupport.gotoURL(webDriverCiscoSupport.java:21)
    at hackerRank.testNGCiscoSupport.setDriverForCiscoSupport(testNGCiscoSupport.java:25)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
    at org.testng.TestRunner.privateRun(TestRunner.java:767)
    at org.testng.TestRunner.run(TestRunner.java:617)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
    at org.testng.SuiteRunner.run(SuiteRunner.java:240)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
    at org.testng.TestNG.run(TestNG.java:1057)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:178)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
    at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:337)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:298)
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:165)
    at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:366)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:527)
    ... 27 more

===============================================
    Default test
    Tests run: 1, Failures: 1, Skips: 0
===============================================

===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0
===============================================

[TestNG] Time taken by org.testng.reporters.EmailableReporter2@bf2d5e: 12 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 10 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@18a7efd: 11 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@1632c2d: 7 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@b1c5fa: 25 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@a470b8: 29 ms

Reported by chaitra.shringarpure on 2014-07-28 03:09:11

lukeis commented 8 years ago
Please reopen this issue

Reported by cambahera@isa.ae on 2014-09-24 12:36:18

lukeis commented 8 years ago
Until a proper solution is accepted I have provided a working workaround for this issue:
http://matejtymes.blogspot.co.uk/2014/10/webdriver-fix-for-unreachablebrowserexc.html

Reported by MatejTymes on 2014-10-29 00:32:55

lukeis commented 8 years ago
Same issue here with 2.44
About 20-40% failure for seemingly no reason. When run locally they all work. I will
be attempting workarounds next week and will report back

Reported by traviseichelberger on 2015-03-06 20:45:23

lukeis commented 8 years ago
any solution for this issue? I am experiencing the same.

Reported by angelmonisit1611 on 2015-05-25 04:20:44

lukeis commented 8 years ago
I had one of the problems mentioned here :

com.thoughtworks.selenium.SeleniumException: Error communicating with the remote browser.
It may have died.
Build info: version: '2.34.0', revision: '11cd0ef', time: '2013-08-06 17:10:22'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version:
'1.7.0_40'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:44)
    at org.openqa.selenium.internal.seleniumemulation.Timer.run(Timer.java:40)
    at org.openqa.selenium.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:140)
    at org.openqa.selenium.WebDriverCommandProcessor.getBoolean(WebDriverCommandProcessor.java:127)
    at com.thoughtworks.selenium.DefaultSelenium.isTextPresent(DefaultSelenium.java:535)
    at ee.tootukassa.empis.SeleniumBaseTest.checkApplicationException(SeleniumBaseTest.java:536)
    at ee.tootukassa.empis.SeleniumBaseTest.safeWait(SeleniumBaseTest.java:526)
    at ee.tootukassa.empis.SeleniumBaseTest.waitForPageToLoad(SeleniumBaseTest.java:557)
    at ee.tootukassa.empis.SeleniumBaseTest.click(SeleniumBaseTest.java:774)
    at ee.tootukassa.empis.SeleniumBaseTest.clickListRowLinkButton(SeleniumBaseTest.java:877)
    at ee.tootukassa.empis.SeleniumBaseTest.clickListRowLinkButton(SeleniumBaseTest.java:867)
    at ee.tootukassa.empis.SeleniumBaseTest.clickListRowLinkButton(SeleniumBaseTest.java:863)
    at ee.tootukassa.empis.asutused.AsutusSmokeTest.testDetailandmedMenu(AsutusSmokeTest.java:16)
    at org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGSpringContextTests.java:172)
Caused by: org.openqa.selenium.remote.UnreachableBrowserException: Error communicating
with the remote browser. It may have died.
Build info: version: '2.34.0', revision: '11cd0ef', time: '2013-08-06 17:10:22'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version:
'1.7.0_40'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
    at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:463)
    at org.openqa.selenium.internal.seleniumemulation.IsTextPresent.handleSeleneseCommand(IsTextPresent.java:33)
    at org.openqa.selenium.internal.seleniumemulation.IsTextPresent.handleSeleneseCommand(IsTextPresent.java:1)
    at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:35)
    ... 42 more
Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:196)
    at java.net.SocketInputStream.read(SocketInputStream.java:122)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166)
    at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90)
    at org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessionInputBuffer.java:212)
    at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:182)
    at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:204)
    at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:155)
    at org.apache.http.util.EntityUtils.toByteArray(EntityUtils.java:118)
    at org.openqa.selenium.remote.HttpCommandExecutor$EntityWithEncoding.<init>(HttpCommandExecutor.java:407)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:303)
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:133)
    at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:367)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:527)
    ... 46 more
... Removed 29 stack frames

This problem started to occure at some point and almost every time i ran my tests (only
some times it ran all the tests without this prbolem). It solved after I uninstalled
java version that I had just installed to try run tests with (java version that my
colleague had and she didnt had this problem). After uninstall i still had 2 java version
installed (java 7 and java 8) but problem went away - dont know what the reason was
but it may be connected to having multiple java versions ? After uninstall I was left
with JDK java 7 and 8 + JRE java 8 (before i had also JRE for java 7). Cant be sure
but i think problem for me started with installing java 8 addition to java 7 that I
had.

Reported by arlityrk on 2015-08-10 13:48:49

lukeis commented 8 years ago

Reported by luke.semerau on 2015-09-17 18:15:52