{"record":{"id":"ba67da8272e70872","repo":"microg/GmsCore","slug":"missing-package-name-ba67da","errorCode":null,"errorMessage":"Missing package name","messagePattern":"Missing package name","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"play-services-core/src/main/kotlin/org/microg/gms/googlehelp/GoogleHelpService.kt","lineNumber":35,"sourceCode":"import com.google.android.gms.googlehelp.GoogleHelp\nimport com.google.android.gms.googlehelp.InProductHelp\nimport com.google.android.gms.googlehelp.SupportRequestHelp\nimport com.google.android.gms.googlehelp.internal.common.IGoogleHelpCallbacks\nimport com.google.android.gms.googlehelp.internal.common.IGoogleHelpService\nimport org.microg.gms.BaseService\nimport org.microg.gms.common.GmsService\nimport org.microg.gms.common.PackageUtils\n\nprivate const val TAG = \"GoogleHelp\"\n\nval FEATURES = arrayOf(\n    Feature(\"user_service_support\", 1)\n)\n\nclass GoogleHelpService : BaseService(TAG, GmsService.GOOGLE_HELP) {\n    override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService) {\n        val packageName = PackageUtils.getAndCheckCallingPackage(this, request.packageName)\n            ?: throw IllegalArgumentException(\"Missing package name\")\n        val binder = GoogleHelpServiceImpl(packageName).asBinder()\n        callback.onPostInitCompleteWithConnectionInfo(CommonStatusCodes.SUCCESS, binder, ConnectionInfo().apply { features = FEATURES })\n    }\n}\n\nclass GoogleHelpServiceImpl(val packageName: String) : IGoogleHelpService.Stub() {\n    override fun processGoogleHelpAndPip(googleHelp: GoogleHelp?, callbacks: IGoogleHelpCallbacks?) {\n        Log.d(TAG, \"Not yet implemented: processGoogleHelpAndPip($googleHelp)\")\n        // Strip error report, can be too big\n        googleHelp?.errorReport = null\n        callbacks?.onProcessGoogleHelpFinished(googleHelp)\n    }\n\n    override fun processGoogleHelpAndPipWithBitmap(googleHelp: GoogleHelp?, bitmap: Bitmap?, callbacks: IGoogleHelpCallbacks?) {\n        processGoogleHelpAndPip(googleHelp, callbacks)\n    }\n\n    override fun saveAsyncHelpPsd(bundle: Bundle?, timestamp: Long, googleHelp: GoogleHelp?, callbacks: IGoogleHelpCallbacks?) {","sourceCodeStart":17,"sourceCodeEnd":53,"githubUrl":"https://github.com/microg/GmsCore/blob/157c9d86ac46c195a86c2f15ab55c84036223f95/play-services-core/src/main/kotlin/org/microg/gms/googlehelp/GoogleHelpService.kt#L17-L53","documentation":"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.","triggerScenarios":"Thrown at play-services-core/src/main/kotlin/org/microg/gms/googlehelp/GoogleHelpService.kt:35 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"157c9d86ac46c195a86c2f15ab55c84036223f95","analyzedAt":"2026-09-06T17:27:33.892Z","contentChangedAt":"2026-09-06T17:27:33.892Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}