Open Bug 1887965 Opened 1 year ago Updated 1 year ago

Crash in talkback: HapticPatternParser: Failed to parse haptic pattern java.text.ParseException: At least one composition primitives not supported by vibrator

Categories

(Firefox for Android :: General, defect)

All
Android
defect

Tracking

()

People

(Reporter: olivia, Unassigned)

Details

Attachments

(1 file)

STR:

  • Build using custom GV
    My Mozconfig:
ac_add_options --enable-debug
ac_add_options --enable-project=mobile/android
ac_add_options --target=aarch64
ac_add_options --enable-crashreporter
  • Begin using TalkBack
  • Will crash relatively quickly

More Details:

  • My branch tip is here
  • Wasn't occurring on Nightly 126.0a1-2024032415634
  • Will rebuild to make sure ac_add_options --enable-debug isn't somehow causing this

Trace:

03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: Failed to parse haptic pattern
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: java.text.ParseException: At least one composition primitives not supported by vibrator
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.libraries.performance.primes.metrics.jank.WindowTrackerFactory.parse(PG:8)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.FeedbackController.playHaptic$ar$ds(PG:4)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.playHapticsFromFragment(PG:2)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.processNextFragmentInternal(PG:9)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.speakNextItem(PG:12)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.onFragmentCompleted$ar$ds(PG:12)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl$1.onUtteranceCompleted(PG:1)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.FailoverTextToSpeech.handleUtteranceCompleted(PG:3)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.FailoverTextToSpeech$SpeechHandler.handleMessage(PG:10)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.WeakReferenceHandler.handleMessage(PG:2)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at android.os.Handler.dispatchMessage(Handler.java:106)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at android.os.Looper.loopOnce(Looper.java:205)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at android.os.Looper.loop(Looper.java:294)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at android.app.ActivityThread.main(ActivityThread.java:8177)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at java.lang.reflect.Method.invoke(Native Method)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
03-26 16:13:17.248  1303  1303 E talkback: HapticPatternParser: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Summary: Crash → Crash in talkback: HapticPatternParser: Failed to parse haptic pattern java.text.ParseException: At least one composition primitives not supported by vibrator

Seems related to using ac_add_options --enable-debug, rebuilt and it now works as expected. Seems a bit surprising regardless, so leaving the bug up for triage.

The severity field is not set for this bug.
:bclark, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(brclark)

To be clear, the crash is in TalkBack, not Firefox. Correct?

To be clear, the crash is in TalkBack, not Firefox. Correct?

I'm not sure, something is causing TalkBack to crash from Firefox in debug mode. It happens when I have debug mode set in mozconfig, and build GeckoView manually to substitute into Fenix. It does take out Fenix entirely when it happens, so I do think the root cause is originating either from Gecko or Fenix.

Severity set to S4. Reporter was able to get this working as expected.
:olivia can you reproduce this, if not can you please close this?

Severity: -- → S4
Flags: needinfo?(brclark) → needinfo?(ohall)

Seems to still be occuring and is related to ac_add_options --enable-debug being set.

  • Could not reproduce: Samsung Galaxy S23 FE - Android 14
  • Could reproduce: Pixel 4a - Android 14

I'll attach a video too as an example.

07-19 13:22:43.874  2014  5665 I MediaFocusControl: abandonAudioFocus() from uid/pid 10160/29979 clientId=android.media.AudioManager@a97adb6com.google.android.accessibility.utils.output.SpeechControllerImpl$5@a469ab7
07-19 13:22:43.875 29979 29979 E talkback: SpeechControllerImpl: Completed speech while already completed!
07-19 13:22:43.884  1500  8742 W AudioFlinger: createTrack_l(): mismatch between requested flags (00000004) and output flags (00000000)
07-19 13:22:43.885  1500  8742 D AudioFlinger: Client defaulted notificationFrames to 320 for frameCount 4096
07-19 13:22:43.888  1500  8742 D AF::TrackHandle: OpPlayAudio: track:10053 usage:11 not muted
07-19 13:22:43.893  1500 20933 D audioserver: FGS Logger Transaction failed
07-19 13:22:43.893  1500 20933 D audioserver: -129
07-19 13:22:43.930  3270  3311 V WindowManagerShell: Transition animation finished (aborted=false), notifying core (#1194)android.os.BinderProxy@4923b09@0
07-19 13:22:43.932  2014  2236 V WindowManager: Finish Transition #1194: created at 07-19 13:22:43.504 collect-started=0.065ms request-sent=0.323ms started=18.422ms ready=18.383ms sent=171.477ms finished=427.695ms
07-19 13:22:43.938  1500 20933 D audioserver: FGS Logger Transaction failed
07-19 13:22:43.938  1500 20933 D audioserver: -129
07-19 13:22:43.942  3270  3311 V WindowManagerShell: Track 0 became idle
07-19 13:22:43.942  3270  3311 V WindowManagerShell: All active transition animations finished
07-19 13:22:43.973  1500  6388 D audioserver: FGS Logger Transaction failed
07-19 13:22:43.973  1500  6388 D audioserver: -129
07-19 13:22:43.985 29979  4650 W ProxyAndroidLoggerBackend: Too many Flogger logs received before configuration. Dropping old logs.
07-19 13:22:43.991  1500  6388 D audioserver: FGS Logger Transaction failed
07-19 13:22:43.991  1500  6388 D audioserver: -129
07-19 13:22:44.017  2014  5746 I MediaFocusControl: requestAudioFocus() from uid/pid 10160/29979 AA=USAGE_ASSISTANCE_ACCESSIBILITY/CONTENT_TYPE_SPEECH clientId=android.media.AudioManager@a97adb6com.google.android.accessibility.utils.output.SpeechControllerImpl$5@a469ab7 callingPack=com.google.android.marvin.talkback req=3 flags=0x0 sdk=34
07-19 13:22:44.017  2014  5746 I AudioService.FadeOutManager: unfadeOutUid() uid:10160
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: Failed to parse haptic pattern
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: java.text.ParseException: At least one composition primitives not supported by vibrator
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.libraries.performance.primes.metrics.jank.WindowTrackerFactory.parse(PG:8)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.FeedbackController.playHaptic$ar$ds(PG:4)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.playHapticsFromFragment(PG:2)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.processNextFragmentInternal(PG:9)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.speakNextItem(PG:12)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.speak$ar$class_merging$b9800f89_0$ar$ds$ar$class_merging$ar$class_merging$ar$class_merging(PG:46)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.speak$ar$class_merging$c686da1_0$ar$ds$ar$class_merging$ar$class_merging$ar$class_merging(PG:139)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.output.SpeechControllerImpl.speak(PG:1)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.talkback.Actors.act(PG:20)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.talkback.Pipeline.execute(PG:49)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.play.core.splitcompat.ingestion.Verifier.speak(PG:2)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.play.core.splitcompat.ingestion.Verifier.handleEvent(PG:36)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.play.core.splitcompat.ingestion.Verifier.handleEvent(PG:40)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.talkback.eventprocessor.ProcessorEventQueue.processEvent(PG:40)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.talkback.eventprocessor.ProcessorEventQueue$ProcessorEventHandler.handleMessage(PG:13)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.google.android.accessibility.utils.WeakReferenceHandler.handleMessage(PG:2)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at android.os.Handler.dispatchMessage(Handler.java:106)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at android.os.Looper.loopOnce(Looper.java:205)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at android.os.Looper.loop(Looper.java:294)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at android.app.ActivityThread.main(ActivityThread.java:8177)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at java.lang.reflect.Method.invoke(Native Method)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
07-19 13:22:44.019 29979 29979 E talkback: HapticPatternParser: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
07-19 13:22:44.021  1500 20933 W AudioFlinger: createTrack_l(): mismatch between requested flags (00000004) and output flags (00000000)
07-19 13:22:44.022 28476  9794 I GoogleTTSServiceImpl: Synthesis request for locale eng-USA and name en-US-language

Flags: needinfo?(ohall)

Sample crash, totally arbitrary at what point element it crashes on. I just happened to be on reader mode when it happened.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: