appium / io.appium.settings

App for dealing with Android settings
Apache License 2.0
136 stars 57 forks source link

Sometimes MediaProjectionRecording fails #205

Closed a-kachurin closed 1 week ago

a-kachurin commented 1 week ago

Hello! Sometimes, when I use "mobile: startMediaProjectionRecording," I get the following error:

C:\Users\Alex\AppData\Roaming\Python\Python312\site-packages\appium\webdriver\errorhandler.py:125: in check_response
    raise exception_class(msg=message, stacktrace=format_stacktrace(stacktrace))
E   selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: The media projection recording is not running after 3000ms. Please check the logcat output for more details.
E   Stacktrace:
E   UnknownError: An unknown server-side error occurred while processing the command. Original error: The media projection recording is not running after 3000ms. Please check the logcat output for more details.
E       at getResponseForW3CError (C:\Users\Alex\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\lib\protocol\errors.js:1145:9)
E       at asyncHandler (C:\Users\Alex\AppData\Roaming\npm\node_modules\appium\node_modules\@appium\base-driver\lib\protocol\protocol.js:485:57)

Versions: appium 2.13.1 uiautomator2@3.9.5

Emulator: Properties avd.ini.displayname Pixel 7 Pro avd.ini.encoding UTF-8 AvdId Pixel_7_Pro disk.dataPartition.size 6442450944 fastboot.chosenSnapshotFile fastboot.forceChosenSnapshotBoot no fastboot.forceColdBoot no fastboot.forceFastBoot yes hw.accelerometer yes hw.arc false hw.audioInput yes hw.battery yes hw.camera.back virtualscene hw.camera.front emulated hw.cpu.ncore 4 hw.device.hash2 MD5:a8abfd3536f3d35e4ba2041a7b99f40e hw.device.manufacturer Google hw.device.name pixel_7_pro hw.dPad no hw.gps yes hw.gpu.enabled yes hw.gpu.mode auto hw.initialOrientation portrait hw.keyboard yes hw.lcd.density 560 hw.lcd.height 3120 hw.lcd.width 1440 hw.mainKeys no hw.ramSize 2048 hw.sdCard yes hw.sensors.orientation yes hw.sensors.proximity yes hw.trackBall no image.androidVersion.api 34 image.sysdir.1 system-images\android-34\google_apis_playstore\x86_64 PlayStore.enabled true runtime.network.latency none runtime.network.speed full showDeviceFrame yes skin.dynamic yes tag.display Google Play tag.displaynames Google Play tag.id google_apis_playstore tag.ids google_apis_playstore vm.heapSize 384

Error in logcat:

{ "timestamp": 1734619883976, "level": "ALL", "message": "--------- beginning of crash" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: FATAL EXCEPTION: main" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: Process: io.appium.settings, PID: 1664" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{io.appium.settings/io.appium.settings.Settings}: java.lang.IllegalStateException: Too many receivers, total of 1000, registered for pid: 1664, callerPackage: io.appium.settings" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3782)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3922)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.ActivityThread$H.handleMessage(ActivityThread.java:2443)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.os.Handler.dispatchMessage(Handler.java:106)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.os.Looper.loopOnce(Looper.java:205)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.os.Looper.loop(Looper.java:294)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.ActivityThread.main(ActivityThread.java:8177)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat java.lang.reflect.Method.invoke(Native Method)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Too many receivers, total of 1000, registered for pid: 1664, callerPackage: io.appium.settings" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.os.Parcel.createExceptionOrNull(Parcel.java:3065)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.os.Parcel.createException(Parcel.java:3041)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.os.Parcel.readException(Parcel.java:3024)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.os.Parcel.readException(Parcel.java:2966)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.IActivityManager$Stub$Proxy.registerReceiverWithFeature(IActivityManager.java:5684)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1852)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.ContextImpl.registerReceiver(ContextImpl.java:1792)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.ContextImpl.registerReceiver(ContextImpl.java:1780)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.content.ContextWrapper.registerReceiver(ContextWrapper.java:755)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat io.appium.settings.Settings.registerSettingsReceivers(Settings.java:254)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat io.appium.settings.Settings.onCreate(Settings.java:82)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.Activity.performCreate(Activity.java:8595)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.Activity.performCreate(Activity.java:8573)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1456)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3764)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \t... 12 more" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: Caused by: android.os.RemoteException: Remote stack trace:" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat com.android.server.am.ActivityManagerService.registerReceiverWithFeature(ActivityManagerService.java:14000)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2570)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2720)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.os.Binder.execTransactInternal(Binder.java:1339)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: \tat android.os.Binder.execTransact(Binder.java:1275)" }, { "timestamp": 1734619883976, "level": "ALL", "message": "12-19 14:51:22.023 1664 1664 E AndroidRuntime: " },

a-kachurin commented 1 week ago

I think the issue sometimes occurs when calling startMediaProjectionRecording quickly after stopMediaProjectionRecording.

KazuCocoa commented 1 week ago

Please attach the full appium server log as well.

KazuCocoa commented 1 week ago

Duplicate of https://github.com/appium/appium-uiautomator2-driver/issues/852