microg/GmsCore · error · IllegalArgumentException
Missing package name
Error message
Missing package name
What it means
SignInService.handleServiceRequest validates the caller: when the calling package name cannot be resolved, it throws with this message and refuses the service request. Generic package-name guard on the service entry point.
Source
Thrown at play-services-core/src/main/kotlin/org/microg/gms/signin/SignInService.kt:36
import com.google.android.gms.common.Scopes
import com.google.android.gms.common.api.CommonStatusCodes
import com.google.android.gms.common.api.Scope
import com.google.android.gms.common.internal.*
import com.google.android.gms.signin.internal.*
import org.microg.gms.BaseService
import org.microg.gms.auth.AuthConstants
import org.microg.gms.auth.signin.SignInConfigurationService
import org.microg.gms.common.GmsService
import org.microg.gms.common.PackageUtils
import org.microg.gms.games.GamesConfigurationService
import org.microg.gms.utils.warnOnTransactionIssues
private const val TAG = "SignInService"
class SignInService : BaseService(TAG, GmsService.SIGN_IN) {
override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService) {
val packageName = PackageUtils.getAndCheckCallingPackage(this, request.packageName)
?: throw IllegalArgumentException("Missing package name")
val binder = SignInServiceImpl(this, lifecycle, packageName, request.scopes).asBinder()
callback.onPostInitComplete(CommonStatusCodes.SUCCESS, binder, Bundle())
}
}
class SignInServiceImpl(val context: Context, override val lifecycle: Lifecycle, val packageName: String, val scopes: Array<Scope>) : ISignInService.Stub(),
LifecycleOwner {
override fun clearAccountFromSessionStore(sessionId: Int) {
Log.d(TAG, "Not yet implemented: clearAccountFromSessionStore $sessionId")
}
override fun putAccount(sessionId: Int, account: Account?, callbacks: ISignInCallbacks?) {
Log.d(TAG, "Not yet implemented: putAccount")
}
override fun saveDefaultAccount(accountAccessor: IAccountAccessor?, sessionId: Int, crossClient: Boolean) {
Log.d(TAG, "Not yet implemented: saveDefaultAccount $sessionId $crossClient")View on GitHub (pinned to 157c9d86ac)
Solutions
- Ensure the client binds with a valid package UID so PackageUtils can resolve it
- Reject requests lacking an attributable caller
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at play-services-core/src/main/kotlin/org/microg/gms/signin/SignInService.kt:36 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/f9a73c9f65858f98.
Report an issue: GitHub.