Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on voice broadcast playback #7829

Closed
yostyle opened this issue Dec 20, 2022 · 2 comments · Fixed by #7919
Closed

Crash on voice broadcast playback #7829

yostyle opened this issue Dec 20, 2022 · 2 comments · Fixed by #7919
Assignees
Labels
A-Voice Broadcast Broadcast-style voice messages O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect Something isn't working: bugs, crashes, hangs and other reported problems Z-Crash

Comments

@yostyle
Copy link
Contributor

yostyle commented Dec 20, 2022

Steps to reproduce

  1. Listen a voice broadcast
  2. Move around the middle of the broadcast with the slider

Outcome

The application crashed

2022-12-20 15:57:15.200 27473-27473/im.vector.app.debug E/VectorUncaughtExceptionHandler: FATAL EXCEPTION Element Build : 40105142
    Element Version : 1.5.14-dev [40105142] (G-31540e6d-2022-12-19 19:17:35 +0100)
    SDK Version : 1.5.14 (31540e6d)
    Phone : Pixel 6a (9244662 13 REL)
    Memory statuses 
    usedSize   96 MB
    freeSize   40 MB
    totalSize   137 MB
    Thread: main, Exception: java.io.IOException: Prepare failed.: status=0x1
        at android.media.MediaPlayer._prepare(Native Method)
        at android.media.MediaPlayer.prepare(MediaPlayer.java:1309)
        at im.vector.app.features.voicebroadcast.listening.VoiceBroadcastPlayerImpl.prepareMediaPlayer(VoiceBroadcastPlayerImpl.kt:308)
        at im.vector.app.features.voicebroadcast.listening.VoiceBroadcastPlayerImpl.access$prepareMediaPlayer(VoiceBroadcastPlayerImpl.kt:47)
        at im.vector.app.features.voicebroadcast.listening.VoiceBroadcastPlayerImpl$prepareMediaPlayer$1.invokeSuspend(Unknown Source:15)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:234)
        at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:190)
        at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:161)
        at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397)
        at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431)
        at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420)
        at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328)
        at kotlinx.coroutines.ResumeAwaitOnCompletion.invoke(JobSupport.kt:1413)
        at kotlinx.coroutines.JobSupport.completeStateFinalization(JobSupport.kt:318)
        at kotlinx.coroutines.JobSupport.tryFinalizeSimpleState(JobSupport.kt:295)
        at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:856)
        at kotlinx.coroutines.JobSupport.makeCompleting$kotlinx_coroutines_core(JobSupport.kt:806)
        at kotlinx.coroutines.CompletableDeferredImpl.complete(CompletableDeferred.kt:92)
        at kotlinx.coroutines.CompletableDeferredKt.completeWith(CompletableDeferred.kt:61)
        at org.matrix.android.sdk.internal.session.DefaultFileService.downloadFile(DefaultFileService.kt:213)
        at org.matrix.android.sdk.internal.session.DefaultFileService$downloadFile$1.invokeSuspend(Unknown Source:18)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at android.os.Handler.handleCallback(Handler.java:942)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7872)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
    	Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@67beb7f, Dispatchers.Main.immediate]
2022-12-20 15:57:15.201 27473-27473/im.vector.app.debug E/JitsiMeetLogger: JitsiMeetUncaughtExceptionHandler FATAL ERROR
    java.io.IOException: Prepare failed.: status=0x1
        at android.media.MediaPlayer._prepare(Native Method)
        at android.media.MediaPlayer.prepare(MediaPlayer.java:1309)
        at im.vector.app.features.voicebroadcast.listening.VoiceBroadcastPlayerImpl.prepareMediaPlayer(VoiceBroadcastPlayerImpl.kt:308)
        at im.vector.app.features.voicebroadcast.listening.VoiceBroadcastPlayerImpl.access$prepareMediaPlayer(VoiceBroadcastPlayerImpl.kt:47)
        at im.vector.app.features.voicebroadcast.listening.VoiceBroadcastPlayerImpl$prepareMediaPlayer$1.invokeSuspend(Unknown Source:15)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:234)
        at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:190)
        at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:161)
        at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397)
        at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431)
        at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420)
        at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328)
        at kotlinx.coroutines.ResumeAwaitOnCompletion.invoke(JobSupport.kt:1413)
        at kotlinx.coroutines.JobSupport.completeStateFinalization(JobSupport.kt:318)
        at kotlinx.coroutines.JobSupport.tryFinalizeSimpleState(JobSupport.kt:295)
        at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:856)
        at kotlinx.coroutines.JobSupport.makeCompleting$kotlinx_coroutines_core(JobSupport.kt:806)
        at kotlinx.coroutines.CompletableDeferredImpl.complete(CompletableDeferred.kt:92)
        at kotlinx.coroutines.CompletableDeferredKt.completeWith(CompletableDeferred.kt:61)
        at org.matrix.android.sdk.internal.session.DefaultFileService.downloadFile(DefaultFileService.kt:213)
        at org.matrix.android.sdk.internal.session.DefaultFileService$downloadFile$1.invokeSuspend(Unknown Source:18)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at android.os.Handler.handleCallback(Handler.java:942)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7872)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
    	Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@67beb7f, Dispatchers.Main.immediate]

Your phone model

Pixel 6A

Operating system version

Android 13

Application version and app store

No response

Homeserver

No response

Will you send logs?

Yes

Are you willing to provide a PR?

Yes

@yostyle yostyle added T-Defect Something isn't working: bugs, crashes, hangs and other reported problems Z-Crash S-Minor Impairs non-critical functionality or suitable workarounds exist O-Occasional Affects or can be seen by some users regularly or most users rarely labels Dec 20, 2022
@yostyle yostyle self-assigned this Dec 20, 2022
@RiotRobot RiotRobot added this to Incoming in Issue triage Dec 20, 2022
@giomfo giomfo added the A-Voice Broadcast Broadcast-style voice messages label Dec 20, 2022
@yostyle yostyle changed the title [Voice Broadcast] Crash on Playback Crash on voice broadcast playback Dec 20, 2022
@yostyle yostyle moved this from Incoming to Triaged in Issue triage Dec 20, 2022
@yostyle
Copy link
Contributor Author

yostyle commented Dec 21, 2022

@giomfo the application crashes when the player cannot play a chunk. What should we display in this case ?
On iOS we have an error message in the tile similar to a location sharing error.
image

@giomfo
Copy link
Member

giomfo commented Dec 22, 2022

@yostyle I shared your remark with the design team
We should prevent the application from crashing for the moment, and notify the user about the error by adding a message in the tile or open a dialog until the design for the management of potential errors is provided
Is there already a error message related to the voice messages that we can use?

@giomfo giomfo assigned Florian14 and unassigned yostyle Jan 6, 2023
Issue triage automation moved this from Triaged to Closed Jan 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Voice Broadcast Broadcast-style voice messages O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect Something isn't working: bugs, crashes, hangs and other reported problems Z-Crash
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

3 participants