microg/GmsCore · error · IOException
e.getMessage()
Error message
e.getMessage()
What it means
IOException thrown in CloudMessagingRpc.sendRegisterMessageBlocking when registration fails; the message comes from the underlying exception (hence 'e.getMessage()'), typically relaying a GCM error string for a timed-out or rejected register request.
Source
Thrown at play-services-gcm/src/main/java/org/microg/gms/gcm/CloudMessagingRpc.java:131
}
}
private PendingIntent getSelfAuthIntent() {
if (selfAuthIntent == null) {
Intent intent = new Intent();
intent.setPackage("com.google.example.invalidpackage");
selfAuthIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
}
return selfAuthIntent;
}
public Intent sendRegisterMessageBlocking(Bundle extras) throws IOException {
sendRegisterMessage(extras);
Intent resultIntent;
try {
resultIntent = messengerResponseQueue.poll(30, TimeUnit.SECONDS);
} catch (InterruptedException e) {
throw new IOException(e.getMessage());
}
if (resultIntent == null) {
throw new IOException(ERROR_SERVICE_NOT_AVAILABLE);
}
return resultIntent;
}
private void sendRegisterMessage(Bundle extras) {
Intent intent = new Intent(ACTION_C2DM_REGISTER);
intent.setPackage(getGcmPackageName(context));
extras.putString(EXTRA_MESSAGE_ID, "google.rpc" + messageIdCounter.getAndIncrement());
intent.putExtras(extras);
intent.putExtra(EXTRA_MESSENGER, messenger);
intent.putExtra(EXTRA_APP, getSelfAuthIntent());
context.startService(intent);
}
public void sendGcmMessage(Bundle extras) {View on GitHub (pinned to 157c9d86ac)
Solutions
- Catch the IOException and retry with exponential backoff
- Verify GCM/Play services (or microG) is enabled and reachable
- Check device connectivity before retrying
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at play-services-gcm/src/main/java/org/microg/gms/gcm/CloudMessagingRpc.java:131 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of microg/GmsCore@157c9d86ac (2026-09-06).
Data as JSON: /api/errors/d196a119db4ce5d5.
Report an issue: GitHub.