microg/GmsCore · error · IllegalArgumentException
Missing package name
Error message
Missing package name
What it means
GoogleHelpService.handleServiceRequest validates the incoming binding: when the calling package name cannot be determined, it throws SecurityException/IllegalArgumentException with this message, refusing to serve a request from an unidentified package. This is a generic package-name guard on the service entry point.
Source
Thrown at play-services-core/src/main/kotlin/org/microg/gms/googlehelp/GoogleHelpService.kt:35
import com.google.android.gms.googlehelp.GoogleHelp
import com.google.android.gms.googlehelp.InProductHelp
import com.google.android.gms.googlehelp.SupportRequestHelp
import com.google.android.gms.googlehelp.internal.common.IGoogleHelpCallbacks
import com.google.android.gms.googlehelp.internal.common.IGoogleHelpService
import org.microg.gms.BaseService
import org.microg.gms.common.GmsService
import org.microg.gms.common.PackageUtils
private const val TAG = "GoogleHelp"
val FEATURES = arrayOf(
Feature("user_service_support", 1)
)
class GoogleHelpService : BaseService(TAG, GmsService.GOOGLE_HELP) {
override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService) {
val packageName = PackageUtils.getAndCheckCallingPackage(this, request.packageName)
?: throw IllegalArgumentException("Missing package name")
val binder = GoogleHelpServiceImpl(packageName).asBinder()
callback.onPostInitCompleteWithConnectionInfo(CommonStatusCodes.SUCCESS, binder, ConnectionInfo().apply { features = FEATURES })
}
}
class GoogleHelpServiceImpl(val packageName: String) : IGoogleHelpService.Stub() {
override fun processGoogleHelpAndPip(googleHelp: GoogleHelp?, callbacks: IGoogleHelpCallbacks?) {
Log.d(TAG, "Not yet implemented: processGoogleHelpAndPip($googleHelp)")
// Strip error report, can be too big
googleHelp?.errorReport = null
callbacks?.onProcessGoogleHelpFinished(googleHelp)
}
override fun processGoogleHelpAndPipWithBitmap(googleHelp: GoogleHelp?, bitmap: Bitmap?, callbacks: IGoogleHelpCallbacks?) {
processGoogleHelpAndPip(googleHelp, callbacks)
}
override fun saveAsyncHelpPsd(bundle: Bundle?, timestamp: Long, googleHelp: GoogleHelp?, callbacks: IGoogleHelpCallbacks?) {View on GitHub (pinned to 157c9d86ac)
Solutions
- Ensure the calling app is properly bound via GmsClient so PackageUtils can resolve the package
- Reject/ignore requests whose caller package cannot be determined
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at play-services-core/src/main/kotlin/org/microg/gms/googlehelp/GoogleHelpService.kt:35 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/ba67da8272e70872.
Report an issue: GitHub.