KontinuousSpeechRecognizer icon indicating copy to clipboard operation
KontinuousSpeechRecognizer copied to clipboard

Have you tried it running for long hours?

Open kas84 opened this issue 4 years ago • 2 comments

I'm integrating this into another app so the user can give commands and not touch the screen.

I've done son grepping to logcat and seems to stop at some point even though the app is still running:

05-26 20:33:24.657 32004 32004 D RecognitionManager: onPrepared: SUCCESS
05-26 20:33:24.775 32004 32004 D RecognitionManager: onReadySpeech
05-26 20:33:29.856 32004 32004 D RecognitionManager: onPrepared: SUCCESS
05-26 20:33:29.970 32004 32004 D RecognitionManager: onReadySpeech
05-26 20:33:35.089 32004 32004 D RecognitionManager: onPrepared: SUCCESS
05-26 20:33:35.209 32004 32004 D RecognitionManager: onReadySpeech
05-26 20:33:36.952 32004 32004 D RecognitionManager: onBeginningOfSpeech
05-26 20:33:37.978 32004 32004 D RecognitionManager: onEndOfSpeech
05-26 20:33:38.121 32004 32004 D RecognitionManager: onReadySpeech
05-26 20:33:43.221 32004 32004 D RecognitionManager: onPrepared: SUCCESS

@StephenVinouze Have you run it for several hours?

kas84 avatar May 26 '20 19:05 kas84

When this happens it seems to be on an infinite loop like this: Any ideas?

You can reproduce it by adding this code to the onCreate Method on MainActivity.kt of the sample project.

this.window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

05-27 22:47:39.987 20474 20568 W Binder  : 	at android.speech.RecognitionService.checkPermissions(RecognitionService.java:185)
05-27 22:47:39.987 20474 20568 W Binder  : 	at android.speech.RecognitionService.access$700(RecognitionService.java:39)
05-27 22:47:39.987 20474 20568 W Binder  : 	at android.speech.RecognitionService$RecognitionServiceBinder.cancel(RecognitionService.java:376)
05-27 22:47:39.987 20474 20568 W Binder  : 	at android.speech.IRecognitionService$Stub.onTransact(IRecognitionService.java:149)
05-27 22:47:39.987 20474 20568 W Binder  : 	at android.os.Binder.execTransactInternal(Binder.java:1021)
05-27 22:47:39.987 20474 20568 W Binder  : 	at android.os.Binder.execTransact(Binder.java:994)
05-27 22:47:39.987 20474 20474 I RecognitionService: concurrent startListening received - ignoring this call
05-27 22:47:39.989 20474 20568 W Binder  : Caught a RuntimeException from the binder stub implementation.
05-27 22:47:39.989 20474 20568 W Binder  : java.lang.SecurityException: uid 10117 does not have android.permission.UPDATE_APP_OPS_STATS.
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.os.Parcel.createException(Parcel.java:2071)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.os.Parcel.readException(Parcel.java:2039)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.os.Parcel.readException(Parcel.java:1987)
05-27 22:47:39.989 20474 20568 W Binder  : 	at com.android.internal.app.IAppOpsService$Stub$Proxy.checkOperationRaw(IAppOpsService.java:1617)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.app.AppOpsManager.unsafeCheckOpRawNoThrow(AppOpsManager.java:5012)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkPermissionCommon(PermissionChecker.java:403)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkPermissionForPreflight(PermissionChecker.java:162)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkCallingOrSelfPermissionForPreflight(PermissionChecker.java:373)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.speech.RecognitionService.checkPermissions(RecognitionService.java:185)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.speech.RecognitionService.access$700(RecognitionService.java:39)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.speech.RecognitionService$RecognitionServiceBinder.cancel(RecognitionService.java:376)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.speech.IRecognitionService$Stub.onTransact(IRecognitionService.java:149)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.os.Binder.execTransactInternal(Binder.java:1021)
05-27 22:47:39.989 20474 20568 W Binder  : 	at android.os.Binder.execTransact(Binder.java:994)
05-27 22:47:39.990 20474 20474 I RecognitionService: concurrent startListening received - ignoring this call
05-27 22:47:39.992 20474 20568 W Binder  : Caught a RuntimeException from the binder stub implementation.
05-27 22:47:39.992 20474 20568 W Binder  : java.lang.SecurityException: uid 10117 does not have android.permission.UPDATE_APP_OPS_STATS.
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.os.Parcel.createException(Parcel.java:2071)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.os.Parcel.readException(Parcel.java:2039)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.os.Parcel.readException(Parcel.java:1987)
05-27 22:47:39.992 20474 20568 W Binder  : 	at com.android.internal.app.IAppOpsService$Stub$Proxy.checkOperationRaw(IAppOpsService.java:1617)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.app.AppOpsManager.unsafeCheckOpRawNoThrow(AppOpsManager.java:5012)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkPermissionCommon(PermissionChecker.java:403)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkPermissionForPreflight(PermissionChecker.java:162)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkCallingOrSelfPermissionForPreflight(PermissionChecker.java:373)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.speech.RecognitionService.checkPermissions(RecognitionService.java:185)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.speech.RecognitionService.access$700(RecognitionService.java:39)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.speech.RecognitionService$RecognitionServiceBinder.cancel(RecognitionService.java:376)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.speech.IRecognitionService$Stub.onTransact(IRecognitionService.java:149)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.os.Binder.execTransactInternal(Binder.java:1021)
05-27 22:47:39.992 20474 20568 W Binder  : 	at android.os.Binder.execTransact(Binder.java:994)
05-27 22:47:39.993 20474 20474 I RecognitionService: concurrent startListening received - ignoring this call
05-27 22:47:39.996 20474 20568 W Binder  : Caught a RuntimeException from the binder stub implementation.
05-27 22:47:39.996 20474 20568 W Binder  : java.lang.SecurityException: uid 10117 does not have android.permission.UPDATE_APP_OPS_STATS.
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.os.Parcel.createException(Parcel.java:2071)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.os.Parcel.readException(Parcel.java:2039)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.os.Parcel.readException(Parcel.java:1987)
05-27 22:47:39.996 20474 20568 W Binder  : 	at com.android.internal.app.IAppOpsService$Stub$Proxy.checkOperationRaw(IAppOpsService.java:1617)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.app.AppOpsManager.unsafeCheckOpRawNoThrow(AppOpsManager.java:5012)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkPermissionCommon(PermissionChecker.java:403)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkPermissionForPreflight(PermissionChecker.java:162)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkCallingOrSelfPermissionForPreflight(PermissionChecker.java:373)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.speech.RecognitionService.checkPermissions(RecognitionService.java:185)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.speech.RecognitionService.access$700(RecognitionService.java:39)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.speech.RecognitionService$RecognitionServiceBinder.cancel(RecognitionService.java:376)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.speech.IRecognitionService$Stub.onTransact(IRecognitionService.java:149)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.os.Binder.execTransactInternal(Binder.java:1021)
05-27 22:47:39.996 20474 20568 W Binder  : 	at android.os.Binder.execTransact(Binder.java:994)
05-27 22:47:39.998 20474 20474 I RecognitionService: concurrent startListening received - ignoring this call
05-27 22:47:40.001 20474 20568 W Binder  : Caught a RuntimeException from the binder stub implementation.
05-27 22:47:40.001 20474 20568 W Binder  : java.lang.SecurityException: uid 10117 does not have android.permission.UPDATE_APP_OPS_STATS.
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.os.Parcel.createException(Parcel.java:2071)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.os.Parcel.readException(Parcel.java:2039)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.os.Parcel.readException(Parcel.java:1987)
05-27 22:47:40.001 20474 20568 W Binder  : 	at com.android.internal.app.IAppOpsService$Stub$Proxy.checkOperationRaw(IAppOpsService.java:1617)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.app.AppOpsManager.unsafeCheckOpRawNoThrow(AppOpsManager.java:5012)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkPermissionCommon(PermissionChecker.java:403)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkPermissionForPreflight(PermissionChecker.java:162)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.content.PermissionChecker.checkCallingOrSelfPermissionForPreflight(PermissionChecker.java:373)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.speech.RecognitionService.checkPermissions(RecognitionService.java:185)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.speech.RecognitionService.access$700(RecognitionService.java:39)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.speech.RecognitionService$RecognitionServiceBinder.cancel(RecognitionService.java:376)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.speech.IRecognitionService$Stub.onTransact(IRecognitionService.java:149)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.os.Binder.execTransactInternal(Binder.java:1021)
05-27 22:47:40.001 20474 20568 W Binder  : 	at android.os.Binder.execTransact(Binder.java:994)
05-27 22:47:40.003 20474 20474 I RecognitionService: concurrent startListening received - ignoring this call

kas84 avatar May 27 '20 20:05 kas84

Finally managed to have a better logcat (the connection was dropping all the time on OSX)

-------started unexpected events--------
05-28 17:20:08.156   889   918 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 439511
05-28 17:20:08.157   889  4758 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 406103
05-28 17:20:08.157   889  4758 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 406439
05-28 17:20:08.157   889  4758 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 406215
05-28 17:20:08.157   889  4567 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 430423
05-28 17:20:08.157   889   917 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 439607
05-28 17:20:08.157   889  3023 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 439351
05-28 17:20:08.158   889  6254 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 430487
05-28 17:20:08.158   889  3620 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 440999
05-28 17:20:08.158   889  6254 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 439431
05-28 17:20:08.158   889  1271 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 427231
05-28 17:20:08.158   889  4704 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 440375
05-28 17:20:08.158   889  3021 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 438775
05-28 17:20:08.158   889  1594 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 440295
05-28 17:20:08.159   889  1428 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 404519
05-28 17:20:08.159   889  1428 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 386463
05-28 17:20:08.159   889  1200 W InputDispatcher: channel '8673e0 com.google.android.apps.nexuslauncher/com.google.android.apps.nexuslauncher.NexusLauncherActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
05-28 17:20:08.159   889  1200 E InputDispatcher: channel '8673e0 com.google.android.apps.nexuslauncher/com.google.android.apps.nexuslauncher.NexusLauncherActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
05-28 17:20:08.159   889  2687 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 439415
05-28 17:20:08.159   889  1256 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 431703
05-28 17:20:08.159   889  3238 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 428079
05-28 17:20:08.160   889  3518 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 441303
05-28 17:20:08.160   889  1271 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 430807
05-28 17:20:08.160   889  3518 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 441031
05-28 17:20:08.160   889   917 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 441239
05-28 17:20:08.160   889  3518 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 427951
05-28 17:20:08.160   889  3018 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 441047
05-28 17:20:08.160   889  1609 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 406247
05-28 17:20:08.160   889  3023 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 439655
05-28 17:20:08.161   889  1609 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 424815
05-28 17:20:08.161   889  4704 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 405767
05-28 17:20:08.161   889  3026 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 384831
.....
05-28 17:20:09.621   889  4995 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 376287
05-28 17:20:09.621   889  2066 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 431031
05-28 17:20:09.621   889  3518 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 374343
05-28 17:20:09.622   889  3519 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 413959
05-28 17:20:09.622   889  4758 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 416695
05-28 17:20:09.622   889  1609 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 352119
05-28 17:20:09.623   889  2687 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 376599
05-28 17:20:09.623   889  1630 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 421279
05-28 17:20:09.623   889  5130 E AudioService.RecordingActivityMonitor: Unexpected event 3 for riid 374327
-------ended unexpected events--------

I have 5757 messages like these in just 2 seconds. https://github.com/aosp-mirror/platform_frameworks_base/blob/ce64d9aa4c24396e39496cf28c115670424ff548/services/core/java/com/android/server/audio/RecordingActivityMonitor.java#L396 that seems to be the log and this seems to be what's causing it: https://github.com/aosp-mirror/platform_frameworks_base/blob/ce64d9aa4c24396e39496cf28c115670424ff548/services/core/java/com/android/server/audio/RecordingActivityMonitor.java#L517 Any ideas?

kas84 avatar May 29 '20 08:05 kas84