microg/GmsCore · error · RuntimeException
is not an Parcelable
Error message
is not an Parcelable
What it means
Guard in SafeParcelReflectionUtil.getCreator(Field): the field's type (or array component type) does not implement Parcelable, so no CREATOR can be resolved for it. The offending class name is embedded in the message; it indicates a field-type/classpath mismatch against the Parcelable contract.
Source
Thrown at play-services-basement/src/main/java/org/microg/safeparcel/SafeParcelReflectionUtil.java:115
SafeParcelReader.skip(parcel, header);
}
}
}
if (parcel.dataPosition() > end) {
throw new RuntimeException("Overread allowed size end=" + end);
}
}
@SuppressWarnings("unchecked")
private static Parcelable.Creator<Parcelable> getCreator(Field field) {
Class<?> clazz = field.getType();
if (clazz.isArray()) {
clazz = clazz.getComponentType();
}
if (clazz != null && Parcelable.class.isAssignableFrom(clazz)) {
return getCreator((Class<? extends Parcelable>) clazz);
}
throw new RuntimeException(clazz + " is not an Parcelable");
}
@SuppressWarnings("unchecked")
public static Parcelable.Creator<Parcelable> getCreator(Class<? extends Parcelable> clazz) {
try {
Field creatorField = clazz.getDeclaredField("CREATOR");
creatorField.setAccessible(true);
return (Parcelable.Creator<Parcelable>) creatorField.get(null);
} catch (NoSuchFieldException e) {
throw new RuntimeException(clazz + " is an Parcelable without CREATOR");
} catch (IllegalAccessException e) {
throw new RuntimeException("CREATOR in " + clazz + " is not accessible");
}
}
@SuppressWarnings("deprecation")
private static Class<?> getSubClass(Field field) {
SafeParceled safeParceled = field.getAnnotation(SafeParceled.class);View on GitHub (pinned to 157c9d86ac)
Solutions
- Make the field's type implement Parcelable (or change the field type)
- Ensure the expected Parcelable subclass is on the classpath
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at play-services-basement/src/main/java/org/microg/safeparcel/SafeParcelReflectionUtil.java:115 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/dec4e62d6be0625c.
Report an issue: GitHub.