Appium returning error on each test run

My current set up is Android and OSX are on individual slaves and are run through Jenkins for CI. When using --debug to execute the Android tests, I’m presented with this error:

/home/.jenkins_slave_root/workspace/Browser_Type/desktop/label/android
/ENV/local/lib/python2.7/site-packages/selenium/webdriver/remote
/errorhandler.py(166)check_response()
-> raise exception_class(message, screen, stacktrace)

Prior to this, it seems that Appium is hanging and cannot be executed:

DEBUG:SST:Starting browser (attempt: 4)
DEBUG:SST:Device found, checking capabilities are complete
DEBUG:SST:Running command ['pgrep', '-f', 'appium']
DEBUG:SST:Starting browser (attempt: 5)
DEBUG:SST:Device found, checking capabilities are complete
DEBUG:SST:Running command ['pgrep', '-f', 'appium']
DEBUG:SST:Browser not running, could not take screenshot and page dump

Within the Appium logs, the last error on the log is:

2015-04-22 19:25:35:260 - info: [debug] Error: spawn ENOENT
at errnoException (child_process.js:1001:11)
at Process.ChildProcess._handle.onexit (child_process.js:792:34)
2015-04-22 19:25:35:260 - info: [debug] Responding to client with error:
{"status":33,"value":{"message":"A new session could not be created.
(Original error: spawn 
ENOENT)","code":"ENOENT","errno":"ENOENT","syscall":"spawn","origValue":"spawn
ENOENT"},"sessionId":null}
2015-04-22 19:25:35:261 - info: <-- POST /wd/hub/session 500 78.607 ms - 197

It also fails to kill the ADB server - which I’m unsure why it would in the first place?

error: Error killing ADB server, going to see if it's online anyway
info: [debug] Getting connected devices...
info: [debug] executing cmd: /home/android-sdk-linux/platform-tools/adb devices
info: [debug] Could not find devices, restarting adb server...
info: [debug] executing cmd: /home/android-sdk-linux/platform-tools/adb kill-server

it fails to find the devices, even though if I run ADB devices as a command, it detects both Android phones. Any help would be greatly appreciated.