Automation run stops in mid saying "Error communicating with the remote browser. It may have died."

I’m on this setup:
Appium Server: 1.8.1
Appium Java Client: 6.1.0
OS: macOS High Sierra 10.13.4

The code I have written works well for login, create a transaction and then do a search.
When provided the search string, the search result populates dynamically on a RecyclerView.

Here, I see the automation stopping saying –

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: ‘2.53.1’, revision: ‘a36b8b1cd5757287168e54b817830adce9b0158d’, time: ‘2016-06-30 19:26:09’
System info: host: ‘Ravis-MacBook-Pro.local’, ip: ‘’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.13.4’, java.version: ‘1.8.0_131’
Driver info: driver.version: AppiumDriver

Note: I removed the IP from above mentioned Build Info.

The server log says:

[HTTP]
[HTTP] → POST /wd/hub/session/119c3cb2-4c1b-47e5-b607-94042ae26f3d/element/36/value
[HTTP] {“id”:“36”,“value”:[“OBAT BERSAMA1”]}
[MJSONWP] Calling AppiumDriver.setValue() with args: [[“OBAT BERSAMA1”],“36”,“119c3cb2-4c1b-47e5-b607-94042ae26f3d”]
[AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“element:setText”,“params”:{“elementId”:“36”,“text”:“OBAT BERSAMA1”,“replace”:false}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“element:setText”,“params”:{“elementId”:“36”,“text”:“OBAT BERSAMA1”,“replace”:false}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: setText
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using element passed in: 36
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Attempting to clear using UiObject.clearText().
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Text remains after clearing, but it appears to be hint text.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Text not cleared. Assuming remainder is hint text.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Sending plain text to element: OBAT BERSAMA1
[AndroidBootstrap] Received command result from bootstrap
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:true}
[MJSONWP] Responding to client with driver.setValue() result: true
[HTTP] ← POST /wd/hub/session/119c3cb2-4c1b-47e5-b607-94042ae26f3d/element/36/value 200 6102 ms - 76
[HTTP]
[HTTP] → DELETE /wd/hub/session/119c3cb2-4c1b-47e5-b607-94042ae26f3d
[HTTP] {}
[MJSONWP] Calling AppiumDriver.deleteSession() with args: [“119c3cb2-4c1b-47e5-b607-94042ae26f3d”]
[BaseDriver] Event ‘quitSessionRequested’ logged at 1531294878151 (13:11:18 GMT+0530 (IST))
[Appium] Removing session 119c3cb2-4c1b-47e5-b607-94042ae26f3d from our master session list
[AndroidDriver] Shutting down Android driver

The session gets terminated and I’m clueless why so. I’m stuck here.

I tried looking on web and discussion forum. I read few saying upgrading to latest Java Appium client, it solved. But I’m on latest, I continue experience the same.

Please assist and share the solution if you had encountered the same and have solved it.
Thank you!