title: DeadObjectException with com.google.android.gms
body: <p>I'm getting a frequent crash with the log below. It doesn't reference my application code but I'm guessing it may have something to do with GoogleApiClient connecting/disconnecting. Anyone get anything similar to this? I haven't been able to find anything on here.</p>
  
  <pre><code>java.lang.IllegalStateException: android.os.DeadObjectException
    at com.google.android.gms.internal.ao.removeAllListeners(Unknown Source)
    at com.google.android.gms.internal.ap.disconnect(Unknown Source)
    at com.google.android.gms.common.api.b.n(Unknown Source)
    at com.google.android.gms.common.api.b.a(Unknown Source)
    at com.google.android.gms.common.api.b$2.onConnectionSuspended(Unknown Source)
    at com.google.android.gms.internal.r.y(Unknown Source)
    at com.google.android.gms.internal.q$a.handleMessage(Unknown Source)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5102)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
    at dalvik.system.NativeStart.main(Native Method)
  Caused by: android.os.DeadObjectException
    at android.os.BinderProxy.transact(Native Method)
    at com.google.android.gms.internal.an$a$a.a(Unknown Source)
    ... 15 more
  </code></pre>
  
  <p>Possibly where it's happening. I added a try/catch to catch the exception</p>
  
  <pre><code>mGApiClientMgr.addTask(mGApiClientMgr.new GoogleApiClientTask() {
              @Override
              public void run() {
                  Log.d(LOG_TAG, "Refreshing data set.");
                  Location location;
                  try {
                      location = LocationServices.FusedLocationApi.getLastLocation(getGoogleApiClient());
                      onLocationChanged(location);
                  }
                  catch(IllegalStateException ex) {
                      // TODO
                  }
              }
          });
  </code></pre>
  
  <p>where <code>addTask</code> does:</p>
  
  <pre><code>  private final LinkedBlockingQueue&lt;GoogleApiClientTask&gt; mTaskQueue = new LinkedBlockingQueue
          &lt;GoogleApiClientTask&gt;();
  
    mTaskQueue.offer(task);
  </code></pre>