title: SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure
body: <p>After my Chrome version update to 96.0.4664.55 I am not able to run my selenium scripts and getting below error</p>
  <pre><code>ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
  Starting ChromeDriver 96.0.4664.45 (76e4c1bb2ab4671b8beba3444e61c0f17584b2fc-refs/branch-heads/4664@{#947}) on port 59212
  Only local connections are allowed.
  Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
  ChromeDriver was started successfully.
  org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
  Build info: version: '4.0.0', revision: '3a21814679'
  System info: host: 'surajs-MacBook-Pro', ip: 'fe80:0:0:0:41a:d2c0:b272:42e6%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '14.0.2'
  Driver info: org.openqa.selenium.chrome.ChromeDriver
  </code></pre>
  <p>I am using WebDriverManager.chromedriver().setup();</p>
  <p>I see chromedriver is of version 45 and and my browser is 96.0.4664.55. Is this causing this issue. I tried to search for 55 version of driver but couldn't find it <a href="https://chromedriver.chromium.org/downloads" rel="nofollow noreferrer">https://chromedriver.chromium.org/downloads</a></p>
  <p>I tried to use System.setproperty too but no help.</p>
  <p>Also When I am trying to run on Firefox Iam getting similar error there too. I guess I am missing something here. Looks like this is not issue of driver compatibility</p>
  <p>I am using
  Mac Big Sur and trying to setup my laptop first time</p>
  <pre><code>&lt;dependencies&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;com.perfecto.reporting-sdk&lt;/groupId&gt;
              &lt;artifactId&gt;reportium-java&lt;/artifactId&gt;
              &lt;version&gt;2.3&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-junit&lt;/artifactId&gt;
              &lt;version&gt;7.0.0&lt;/version&gt;
              &lt;scope&gt;compile&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;tech.grasshopper&lt;/groupId&gt;
              &lt;artifactId&gt;extentreports-cucumber7-adapter&lt;/artifactId&gt;
              &lt;version&gt;1.1.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.poi&lt;/groupId&gt;
              &lt;artifactId&gt;poi&lt;/artifactId&gt;
              &lt;version&gt;5.1.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.poi&lt;/groupId&gt;
              &lt;artifactId&gt;poi-ooxml&lt;/artifactId&gt;
              &lt;version&gt;5.1.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.appium&lt;/groupId&gt;
              &lt;artifactId&gt;java-client&lt;/artifactId&gt;
              &lt;version&gt;7.6.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.junit.jupiter&lt;/groupId&gt;
              &lt;artifactId&gt;junit-jupiter-api&lt;/artifactId&gt;
              &lt;version&gt;5.8.1&lt;/version&gt;
              &lt;scope&gt;compile&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;com.beust&lt;/groupId&gt;
              &lt;artifactId&gt;jcommander&lt;/artifactId&gt;
              &lt;version&gt;1.78&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-picocontainer&lt;/artifactId&gt;
              &lt;version&gt;7.0.0&lt;/version&gt;
              &lt;scope&gt;compile&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.seleniumhq.selenium&lt;/groupId&gt;
              &lt;artifactId&gt;selenium-api&lt;/artifactId&gt;
              &lt;version&gt;4.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;com.aventstack&lt;/groupId&gt;
              &lt;artifactId&gt;klov-reporter&lt;/artifactId&gt;
              &lt;version&gt;5.0.9&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.github.bonigarcia&lt;/groupId&gt;
              &lt;artifactId&gt;webdrivermanager&lt;/artifactId&gt;
              &lt;version&gt;5.0.3&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;log4j&lt;/groupId&gt;
              &lt;artifactId&gt;log4j&lt;/artifactId&gt;
              &lt;version&gt;1.2.17&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-gherkin&lt;/artifactId&gt;
              &lt;version&gt;7.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;com.github.stephenc.monte&lt;/groupId&gt;
              &lt;artifactId&gt;monte-screen-recorder&lt;/artifactId&gt;
              &lt;version&gt;0.7.7.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-plugin&lt;/artifactId&gt;
              &lt;version&gt;7.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-java&lt;/artifactId&gt;
              &lt;version&gt;7.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-core&lt;/artifactId&gt;
              &lt;version&gt;7.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;com.aventstack&lt;/groupId&gt;
              &lt;artifactId&gt;extentreports&lt;/artifactId&gt;
              &lt;version&gt;5.0.9&lt;/version&gt;
              &lt;scope&gt;provided&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;commons-io&lt;/groupId&gt;
              &lt;artifactId&gt;commons-io&lt;/artifactId&gt;
              &lt;version&gt;2.11.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.testng&lt;/groupId&gt;
              &lt;artifactId&gt;testng&lt;/artifactId&gt;
              &lt;version&gt;7.4.0&lt;/version&gt;
              &lt;scope&gt;compile&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.seleniumhq.selenium&lt;/groupId&gt;
              &lt;artifactId&gt;selenium-java&lt;/artifactId&gt;
              &lt;version&gt;4.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;io.cucumber&lt;/groupId&gt;
              &lt;artifactId&gt;cucumber-testng&lt;/artifactId&gt;
              &lt;version&gt;7.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;com.sikulix&lt;/groupId&gt;
              &lt;artifactId&gt;sikulixapi&lt;/artifactId&gt;
              &lt;version&gt;2.0.5&lt;/version&gt;
          &lt;/dependency&gt;
      &lt;/dependencies&gt;
  </code></pre>
  <p>Here is the error of firefox execution too</p>
  <pre><code>ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
  1637917569509   geckodriver INFO    Listening on 127.0.0.1:51610
  1637917569864   mozrunner::runner   INFO    Running command: &quot;/Applications/Firefox.app/Contents/MacOS/firefox-bin&quot; &quot;--marionette&quot; &quot;--remote-debugging-port&quot; &quot;63440&quot; &quot;-foreground&quot; &quot;-no-remote&quot; &quot;-profile&quot; &quot;/var/folders/kx/44qdbmdn3795n2fzm5vp1hnc0000gq/T/rust_mozprofile0FFbwE&quot;
  1637917570911   Marionette  INFO    Marionette enabled
  2021-11-26 14:36:12.089 firefox-bin[83837:785689] Warning: Expected min height of view: (&lt;NSButton: 0x12f647c00&gt;) to be less than or equal to 30 but got a height of 32.000000. This error will be logged once per view in violation.
  2021-11-26 14:36:12.090 firefox-bin[83837:785689] Warning: Expected min height of view: (&lt;NSButton: 0x12f64a400&gt;) to be less than or equal to 30 but got a height of 32.000000. This error will be logged once per view in violation.
  2021-11-26 14:36:12.091 firefox-bin[83837:785689] Warning: Expected min height of view: (&lt;NSButton: 0x12f947000&gt;) to be less than or equal to 30 but got a height of 32.000000. This error will be logged once per view in violation.
  2021-11-26 14:36:12.092 firefox-bin[83837:785689] Warning: Expected min height of view: (&lt;NSButton: 0x12f943800&gt;) to be less than or equal to 30 but got a height of 32.000000. This error will be logged once per view in violation.
  2021-11-26 14:36:12.093 firefox-bin[83837:785689] Warning: Expected min height of view: (&lt;NSButton: 0x12f946400&gt;) to be less than or equal to 30 but got a height of 32.000000. This error will be logged once per view in violation.
  2021-11-26 14:36:12.094 firefox-bin[83837:785689] Warning: Expected min height of view: (&lt;NSPopoverTouchBarItemButton: 0x12f941400&gt;) to be less than or equal to 30 but got a height of 32.000000. This error will be logged once per view in violation.
  2021-11-26 14:36:12.095 firefox-bin[83837:785689] Warning: Expected min height of view: (&lt;NSPopoverTouchBarItemButton: 0x12f948400&gt;) to be less than or equal to 30 but got a height of 32.000000. This error will be logged once per view in violation.
  console.warn: SearchSettings: &quot;get: No settings file exists, new profile?&quot; (new NotFoundError(&quot;Could not open the file at /var/folders/kx/44qdbmdn3795n2fzm5vp1hnc0000gq/T/rust_mozprofile0FFbwE/search.json.mozlz4&quot;, (void 0)))
  console.error: BackgroundUpdate: 
    _reasonsToNotScheduleUpdates: Failed to check for Maintenance Service Registry Key: [Exception... &quot;Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIUpdateProcessor.getServiceRegKeyExists]&quot;  nsresult: &quot;0x80004001 (NS_ERROR_NOT_IMPLEMENTED)&quot;  location: &quot;JS frame :: resource://gre/modules/BackgroundUpdate.jsm :: _reasonsToNotScheduleUpdates :: line 243&quot;  data: no]
  DevTools listening on ws://localhost:63440/devtools/browser/08ad3017-958d-4940-8397-d2caa02f1793
  1637917573985   Marionette  INFO    Listening on port 60771
  1637917574896   RemoteAgent WARN    TLS certificate errors will be ignored for this session
  org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
  Build info: version: '4.0.0', revision: '3a21814679'
  System info: host: 'surajs-MacBook-Pro', ip: 'fe80:0:0:0:41a:d2c0:b272:42e6%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '14.0.2'
  Driver info: org.openqa.selenium.firefox.FirefoxDriver
  Command: [null, newSession {capabilities=[Capabilities {acceptInsecureCerts: true, browserName: firefox, moz:debuggerAddress: true, moz:firefoxOptions: {profile: UEsDBBQACAgIAIR0elMAAAAAAAA...}}], desiredCapabilities=Capabilities {acceptInsecureCerts: true, browserName: firefox, moz:debuggerAddress: true, moz:firefoxOptions: {profile: UEsDBBQACAgIAIR0elMAAAAAAAA...}}}]
      at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:577)
      at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:246)
      at org.openqa.selenium.remote.RemoteWebDriver.&lt;init&gt;(RemoteWebDriver.java:168)
      at org.openqa.selenium.firefox.FirefoxDriver.&lt;init&gt;(FirefoxDriver.java:198)
      at org.openqa.selenium.firefox.FirefoxDriver.&lt;init&gt;(FirefoxDriver.java:186)
      at com.peopleGrove.stepDefinitions.BaseStepDefinitions.setDriver(BaseStepDefinitions.java:129)
      at com.peopleGrove.stepDefinitions.BaseStepDefinitions.beforeScenario(BaseStepDefinitions.java:72)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:564)
      at io.cucumber.java.Invoker.doInvoke(Invoker.java:66)
      at io.cucumber.java.Invoker.invoke(Invoker.java:24)
      at io.cucumber.java.AbstractGlueDefinition.invokeMethod(AbstractGlueDefinition.java:47)
      at io.cucumber.java.JavaHookDefinition.execute(JavaHookDefinition.java:64)
      at io.cucumber.core.runner.CoreHookDefinition.execute(CoreHookDefinition.java:46)
      at io.cucumber.core.runner.HookDefinitionMatch.runStep(HookDefinitionMatch.java:21)
      at io.cucumber.core.runner.ExecutionMode$1.execute(ExecutionMode.java:10)
      at io.cucumber.core.runner.TestStep.executeStep(TestStep.java:86)
      at io.cucumber.core.runner.TestStep.run(TestStep.java:57)
      at io.cucumber.core.runner.TestCase.run(TestCase.java:89)
      at io.cucumber.core.runner.Runner.runPickle(Runner.java:75)
      at io.cucumber.testng.TestNGCucumberRunner.lambda$runScenario$1(TestNGCucumberRunner.java:132)
      at io.cucumber.core.runtime.CucumberExecutionContext.lambda$runTestCase$3(CucumberExecutionContext.java:110)
      at io.cucumber.core.runtime.RethrowingThrowableCollector.executeAndThrow(RethrowingThrowableCollector.java:23)
      at io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:110)
      at io.cucumber.testng.TestNGCucumberRunner.runScenario(TestNGCucumberRunner.java:129)
      at io.cucumber.testng.AbstractTestNGCucumberTests.runScenario(AbstractTestNGCucumberTests.java:35)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:564)
      at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)
      at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:598)
      at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173)
      at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
      at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:824)
      at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146)
      at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
      at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
      at java.base/java.lang.Thread.run(Thread.java:832)
  Caused by: java.lang.RuntimeException: NettyHttpHandler request execution error
      at org.openqa.selenium.remote.http.netty.NettyHttpHandler.makeCall(NettyHttpHandler.java:83)
      at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
      at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)
      at org.openqa.selenium.remote.http.netty.NettyHttpHandler.execute(NettyHttpHandler.java:51)
      at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:42)
      at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:56)
      at org.openqa.selenium.remote.http.netty.NettyClient.execute(NettyClient.java:119)
      at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:102)
      at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:84)
      at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:62)
      at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:156)
      at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:164)
      at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:139)
      at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:559)
      ... 42 more
  Caused by: java.util.concurrent.ExecutionException: java.lang.ClassNotFoundException: io.netty.handler.codec.compression.Brotli
      at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
      at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2086)
      at org.asynchttpclient.netty.NettyResponseFuture.get(NettyResponseFuture.java:206)
      at org.openqa.selenium.remote.http.netty.NettyHttpHandler.makeCall(NettyHttpHandler.java:66)
      ... 55 more
  Caused by: java.lang.ClassNotFoundException: io.netty.handler.codec.compression.Brotli
      at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
      at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
      at io.netty.handler.codec.http.HttpContentDecompressor.newContentDecoder(HttpContentDecompressor.java:70)
      at io.netty.handler.codec.http.HttpContentDecoder.decode(HttpContentDecoder.java:100)
      at io.netty.handler.codec.http.HttpContentDecoder.decode(HttpContentDecoder.java:47)
      at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
      at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
      at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:321)
      at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:308)
      at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:422)
      at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
      at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
      at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
      at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
      at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
      at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
      at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
      at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)
      at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
      at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)
      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
      at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
      at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
      at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
      ... 1 more
  </code></pre>