title: "UNAVAILABLE" gRPC failure from android client to python server
body: <p>I've been struggling all day with the following issue with gRPC on Android when trying to make an RPC call to a python RPC server running on my machine (on the same network).</p>
  
  <p>My android gRPC android client compiles and runs, however, I get the following error message on the client (and silence on the python server):</p>
  
  <pre><code>io.grpc.StatusRuntimeException: UNAVAILABLE
  Caused by: java.io.IOException: PROTOCOL_ERROR invalid settings id: -509 
  </code></pre>
  
  <p>The full stack-trace reads:</p>
  
  <pre><code>05-06 18:39:01.133 5018-5302/com.example.android.cimi I/SyncAdapter: Failed... : 
  io.grpc.StatusRuntimeException: UNAVAILABLE
  at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:227)
  at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:208)
  at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:141)
  at com.example.android.cimi.CimiSyncerGrpc$CimiSyncerBlockingStub.getHouseholdTimestamps(CimiSyncerGrpc.java:209)
  at com.example.android.cimi.SyncAdapter.onPerformSync(SyncAdapter.java:130)
  at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
  Caused by: java.io.IOException: PROTOCOL_ERROR invalid settings id: -509
  at io.grpc.okhttp.internal.framed.Http2.ioException(Http2.java:589)
  at io.grpc.okhttp.internal.framed.Http2.access$200(Http2.java:47)
  at io.grpc.okhttp.internal.framed.Http2$Reader.readSettings(Http2.java:304)
  at io.grpc.okhttp.internal.framed.Http2$Reader.nextFrame(Http2.java:162)
  at io.grpc.okhttp.OkHttpClientTransport$ClientFrameHandler.run(OkHttpClientTransport.java:868)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
  at java.lang.Thread.run(Thread.java:818)
  05-06 18:39:01.139 5018-5018/com.example.android.cimi I/SyncService: Service destroyed                                                                         
  </code></pre>
  
  <p>When shutting off the server, I get a different error, so something else must be going on.</p>
  
  <p>I'm using the following versions:
      io.grpc:protoc-gen-grpc-java:1.3.0
      com.google.protobuf:protoc:3.0.0</p>
  
  <p>Things I've tried:</p>
  
  <ol>
  <li>Downgrading to grpc 1.0.0 </li>
  <li>Downgrading Android studio </li>
  <li>Tried python 2&amp;3</li>
  <li>Connecting from a python client works!</li>
  </ol>
  
  <p>How else could I debug this? Is there any way to get more meaningful exceptions? Is there a way to make the server more verbose?</p>
  
  <p>Any help would be greatly appreciated!</p>