Skip to content

Crash when invoking TTS #117

@anaskaejdar

Description

@anaskaejdar

Checklist

  • I have used the search function for OPEN issues to see if someone else has already submitted the same bug report.
  • I have also used the search function for CLOSED issues to see if the problem is already solved and just waiting to be released.
  • I will describe the problem with as much detail as possible.
  • If the bug only to occurs with a certain podcast, I will include the URL of that podcast.

App version

6.14.1 (from Izzy repo)

Where did you get the app from

F-Droid

Android version

Android 14 (Stock Rom; no root)

Device model

Samsung Galaxy S22 Ultra

First occurred

today, because I just migrated from antennapod today

Steps to reproduce

  1. Subscribe to a feed that has articles and no podcast or video.
  2. Press the button on the side of one of the articles, which is supposed to have TTS read it out
  3. boom, crash

Expected behaviour

I hoped I'd hear the article being read

Current behaviour

Crash instead; see log

Logs

        ## Environment

Android version: 14
OS version: 5.10.198-android12-9-29544585-abS908USQS6EXJ2
Podcini version: 6.14.1
Model: SM-S908U
Device: b0q
Product: b0qsqw

        ## Crash info

Time: ۱۹-۱۱-۲۰۲۴ ۰۹:۰۷:۳۰
Podcini version: 6.14.1

StackTrace

java.lang.IllegalStateException: [RLM_ERR_WRONG_TRANSACTION_STATE]: Trying to modify database while in read transaction
	at io.realm.kotlin.internal.interop.CoreErrorConverter.asThrowable(CoreErrorConverter.kt:47)
	at io.realm.kotlin.internal.interop.realmcJNI.realm_set_value(Native Method)
	at io.realm.kotlin.internal.interop.realmc.realm_set_value(realmc.java:676)
	at io.realm.kotlin.internal.interop.RealmInterop.realm_set_value-wOxPcJY(RealmInterop.kt:498)
	at io.realm.kotlin.internal.RealmObjectHelper.setValueTransportByKey-WQPMd18$io_realm_kotlin_library(RealmObjectHelper.kt:675)
	at ac.mdiq.podcini.storage.model.Episode.setPlayState(Episode.kt:204)
	at ac.mdiq.podcini.ui.actions.TTSActionButton.onClick(EpisodeActionButton.kt:455)
	at ac.mdiq.podcini.ui.compose.EpisodesVMKt$EpisodeLazyColumn$MainRow$2$10$1.invokeSuspend$lambda$1(EpisodesVM.kt:740)
	at ac.mdiq.podcini.ui.compose.EpisodesVMKt$EpisodeLazyColumn$MainRow$2$10$1.$r8$lambda$PmxTMNqnaUXNVgq-uXgpZ1obGAU(EpisodesVM.kt:0)
	at ac.mdiq.podcini.ui.compose.EpisodesVMKt$EpisodeLazyColumn$MainRow$2$10$1$$ExternalSyntheticLambda1.invoke(R8$$SyntheticClass:0)
	at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapGestures$2$1.invokeSuspend(TapGestureDetector.kt:138)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:175)
	at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:164)
	at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:466)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:500)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:489)
	at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:364)
	at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl$PointerEventHandlerCoroutine.offerPointerEvent(SuspendingPointerInputFilter.kt:719)
	at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:598)
	at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:620)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:387)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:373)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:373)
	at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:373)
	at androidx.compose.ui.input.pointer.NodeParent.dispatchMainEventPass(HitPathTracker.kt:229)
	at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:144)
	at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:120)
	at androidx.compose.ui.platform.AndroidComposeView.sendMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1994)
	at androidx.compose.ui.platform.AndroidComposeView.handleMotionEvent-8iAsVTc(AndroidComposeView.android.kt:1945)
	at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(AndroidComposeView.android.kt:1829)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3352)
	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3022)
	at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:794)
	at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1967)
	at android.app.Activity.dispatchTouchEvent(Activity.java:4571)
	at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69)
	at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:752)
	at android.view.View.dispatchPointerEvent(View.java:16498)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:8676)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:8423)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7752)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7809)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7775)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:7978)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7783)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:8035)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7756)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7809)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7775)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7783)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7756)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:11343)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:11212)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:11168)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:11477)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:337)
	at android.os.MessageQueue.nativePollOnce(Native Method)
	at android.os.MessageQueue.next(MessageQueue.java:335)
	at android.os.Looper.loopOnce(Looper.java:187)
	at android.os.Looper.loop(Looper.java:319)
	at android.app.ActivityThread.main(ActivityThread.java:9063)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@ad68db1, androidx.compose.runtime.BroadcastFrameClock@46c7296, StandaloneCoroutine{Cancelling}@31aae17, AndroidUiDispatcher@315204]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions