title: SessionNotCreatedException: Unable to create new service: GeckoDriverService with Selenium Grid on Ubuntu failing to drive Firefox
body: <p>I fail to drive Firefox from Selenium with geckodriver. This is odd, because chrome is driven with same framework without errors!</p>
  
  <p>These are my Version numbers:</p>
  
  <pre><code>Firefox 54.0 (64-bit)
  Chrome Version 62.0.3202.94 (Official Build) (64-bit)
  
  selenium-server-standalone-3.7.1.jar
  client-combined-3.5.3-nodeps.jar
  
  geckodriver-v0.19.1-linux64
  chromedriver_linux64 
  
  Ubuntu 16.10
  </code></pre>
  
  <p>The error I get from Selenium webdriver with java is the following:</p>
  
  <pre><code>--------------------------------Error:
  leder@leder-VirtualBox:~/Source/SeleniumCheese/bin$ ./execute_grid.sh 
  Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new service: GeckoDriverService
  Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
  System info: host: 'leder-VirtualBox', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.8.0-59-generic', java.version: '1.8.0_131'
  Driver info: driver.version: unknown
  Command duration or timeout: 1.39 seconds
  ---------------------------------Schnapp
  </code></pre>
  
  <p>This is my setup, where firefox is broken and chrome is OK:</p>
  
  <p>Grid_SetUp.java</p>
  
  <pre><code>package de.auticon.selenium_server;
  import org.openqa.selenium.WebDriver;    
  import org.openqa.selenium.By;   
  import org.openqa.selenium.WebElement;   
  import org.openqa.selenium.remote.DesiredCapabilities;    
  import org.openqa.selenium.remote.RemoteWebDriver;
  import java.net.MalformedURLException;    
  import java.net.URL;
  
  public class Grid_SetUp {   
      public static WebDriver driver;
  
      public static void main(String[]  args) throws MalformedURLException, InterruptedException{   
          System.setProperty("webdriver.chrome.driver","/opt/selenium/chromedriver");    
          String URL = "http://www.google.de";    
          String Node = "http://192.168.40.40:4444/wd/hub";    
          DesiredCapabilities cap = DesiredCapabilities.firefox();   
          driver = new RemoteWebDriver(new URL(Node), cap);
          driver.navigate().to(URL);
          WebElement element = driver.findElement(By.name("q"));
          //Enter something to search for
          element.sendKeys("Cheese!");
          // Now submit the form. WebDriver will find the form for us from the element
          element.submit();
          // Check the title of the page
          System.out.println("Page title is: " + driver.getTitle());
  
          Thread.sleep(5000);
  
          driver.quit();    
      }    
  }
  </code></pre>
  
  <p>selenium_grid.sh:</p>
  
  <pre><code>#!/bin/bash
  java -jar /opt/selenium/selenium-server-standalone-3.7.1.jar -role hub &amp;
  java -Dwebdriver.gecko.driver=/opt/selenium/geckodriver -jar /opt/selenium/selenium-server-standalone-3.7.1.jar -role webdriver -hub http://192.168.40.40:4444/grid/register -nodeConfig /opt/selenium/defaultNodeConfig.json -browser "browserName=firefox,platform=LINUX" &amp;
  </code></pre>
  
  <p>execute_grid.sh:</p>
  
  <pre><code>#!/bin/bash
  java -cp ".:/opt/selenium/selenium-server-standalone-3.7.1.jar" de.auticon.selenium_server.Grid_SetUp
  </code></pre>
  
  <hr>
  
  <p>I updated the question for working configuration now. But when running the firefox Selenium TC the TC completes, unfortunately the server ends with an error message "session not created":</p>
  
  <pre><code>13:49:10.376 INFO - Removing session org.openqa.selenium.remote.server.ServicedSession@70c81601
  13:49:10.381 INFO - To downstream: {"value":{"error":"session not created","message":"Tried to run command without establishing a connection","stacktrace":"stack backtrace:\n   0:           0x4edb3c - backtrace::backtrace::trace::hc4bd56a2f176de7e\n   1:           0x4edb72 - backtrace::capture::Backtrace::new::he3b2a15d39027c46\n   2:           0x4409a1 - webdriver::error::WebDriverError::new::h81babdd86c977032\n   3:           0x4280ea - &lt;webdriver::server::Dispatcher&lt;T, U&gt;&gt;::run::h2119c674d7b88193\n   4:           0x4029b9 - std::sys_common::backtrace::__rust_begin_short_backtrace::h21d98a9ff86d4c25\n   5:           0x40be65 - std::panicking::try::do_call::h5cff0c9b18cfdbba\n   6:           0x5e6a6c - panic_unwind::__rust_maybe_catch_panic\n                        at /checkout/src/libpanic_unwind/lib.rs:99\n   7:           0x41eb22 - &lt;F as alloc::boxed::FnBox&lt;A&gt;&gt;::call_box::h413eb1d9d9f1c473\n   8:           0x5df13b - alloc::boxed::{{impl}}::call_once&lt;(),()&gt;\n                        at /checkout/src/liballoc/boxed.rs:692\n                         - std::sys_common::thread::start_thread\n                        at /checkout/src/libstd/sys_common/thread.rs:21\n                         - std::sys::imp::thread::{{impl}}::new::thread_start\n                        at /checkout/src/libstd/sys/unix/thread.rs:84"}}
  </code></pre>