title: intermittently occuring appium unknown server-side error
body: <p>I seem to get this issue intermittently. no error if i were to un plug and replug the devices and re-excuite the test, however this is only temperory fix till the time it shows up again. 
  i have 2 instances of appium server for 2 devices-</p>
  
  <pre><code>server1
  Host-0.0.0.0
  server port-5050
  Bootstrap port- 4734
  allow session overrides- ticked
  
  server2
  Host-0.0.0.0
  server port-4723
  Bootstrap port- 4724
  allow session overrides- ticked
  </code></pre>
  
  <p>appium version- 1.15.1</p>
  
  <pre><code>List of devices attached-
  52002dd24392b5a1        device
  5200472dec01a4a9        device
  </code></pre>
  
  <p>error on appium server console-</p>
  
  <pre><code>  W3C] Encountered internal error running command: Error: Cannot start the 'com.XYZ.XYZ' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command ''C:\\Users\\XYZ\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe' -P 5037 -s 5200472dec01a4a9 shell am start -W -n com.XYZ.XYZ/host.exp.exponent.LauncherActivity -S' timed out after 120000ms'. Try to increase the 120000ms adb execution timeout represented by 'adbExecTimeout' capability
      [W3C]     at ADB.startApp (C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-adb\lib\tools\apk-utils.js:153:11)
      [HTTP] &lt;-- POST /wd/hub/session 500 132866 ms - 1782
      [HTTP] 
      [Instrumentation] .
      [Instrumentation] Time: 123.085
      [Instrumentation] 
      [Instrumentation] OK (1 test)
      [Instrumentation] The process has exited with code 0
  </code></pre>
  
  <p>error on IDE-</p>
  
  <pre><code>org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Cannot start the 'com.XYZ.XYZ' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command ''C:\\Users\\XYZ\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe' -P 5037 -s 5200472dec01a4a9 shell am start -W -n com.XYZ.XYZ/host.exp.exponent.LauncherActivity -S' timed out after 120000ms'. Try to increase the 120000ms adb execution timeout represented by 'adbExecTimeout' capability
  Driver info: driver.version: AndroidDriver
  remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Cannot start the 'com.XYZ.XYZ' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command ''C:\\Users\\XYZ\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe' -P 5037 -s 5200472dec01a4a9 shell am start -W -n com.XYZ.XYZ/host.exp.exponent.LauncherActivity -S' timed out after 120000ms'. Try to increase the 120000ms adb execution timeout represented by 'adbExecTimeout' capability
  </code></pre>
  
  <p>desired capabilities for device1- </p>
  
  <pre><code> DesiredCapabilities capabilities = new DesiredCapabilities();
          capabilities.setCapability("deviceName", "Tab");
          capabilities.setCapability("platformVersion", "8.0.0");
          capabilities.setCapability("platformName", "ANDROID");
          capabilities.setCapability("udid", "5200472dec01a4a9");
          capabilities.setCapability("noReset", "true");
          capabilities.setCapability("appPackage", "com.xyz.xyz");
          capabilities.setCapability("appActivity", "host.exp.exponent.LauncherActivity");
          capabilities.setCapability("adbExecTimeout", 120000);
          capabilities.setCapability("newCommandTimeout", 3000);
          capabilities.setCapability("noSign", "true");
          URL mobileURL = new URL("http://0.0.0.0:5050/wd/hub");
          mobileParent = new AndroidDriver(mobileURL, capabilities);
  </code></pre>
  
  <p>mobile capabilities for device2-</p>
  
  <pre><code> capabilities.setCapability("deviceName", "Tab");
          capabilities.setCapability("platformVersion", "8.0.0");
          capabilities.setCapability("platformName", "ANDROID");
          capabilities.setCapability("udid", "52002dd24392b5a1");
          capabilities.setCapability("noReset", "true");
          capabilities.setCapability("appPackage", "com.coachhire.kura");
          capabilities.setCapability("appActivity", "host.exp.exponent.LauncherActivity");
          capabilities.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS, true);
          capabilities.setCapability("adbExecTimeout", 120000);
          capabilities.setCapability("newCommandTimeout", 3000);
          capabilities.setCapability("noSign", "true");
          URL mobileURL = new URL("http://0.0.0.0:4723/wd/hub");
          mobileDriver = new AndroidDriver(mobileURL, capabilities);
  </code></pre>
  
  <p>any help greatly appretiated! </p>