Skip to content

LxReader crashes when I try to start TTS second time

TTS works on first start, but the app crashes when I try to start TTS again in the same session.

Steps to reproduce:

  1. Open any EPUB/PDF in LXReader.
  2. Start TTS playback (works fine).
  3. Close TTS panel.
  4. Start TTS playback again.

Version: 0.8.5(fdroid) Device: Poco M3 Pro 5G / M2103K19PG

Log: logcat.gz

...
11-04 21:06:08.623  8929  8929 D ttssvc  : Received start id 1: Intent { act=io.gitlab.coolreader_ng.project_s.tts.prepare dat= cmp=io.gitlab.coolreader_ng.lxreader.fdroid/io.gitlab.coolreader_ng.project_s.tts.TTSControlService (has extras) }
11-04 21:06:08.623  8929  8929 D AndroidRuntime: Shutting down VM
--------- beginning of crash
11-04 21:06:08.624  8929  8929 E AndroidRuntime: FATAL EXCEPTION: main
11-04 21:06:08.624  8929  8929 E AndroidRuntime: Process: io.gitlab.coolreader_ng.lxreader.fdroid, PID: 8929
11-04 21:06:08.624  8929  8929 E AndroidRuntime: java.lang.RuntimeException: Unable to start service io.gitlab.coolreader_ng.project_s.tts.TTSControlService@9b242ee with Intent { act=io.gitlab.coolreader_ng.project_s.tts.prepare dat= cmp=io.gitlab.coolreader_ng.lxreader.fdroid/io.gitlab.coolreader_ng.project_s.tts.TTSControlService (has extras) }: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Class.isInterface()' on a null object reference
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4880)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2293)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:211)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:300)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8227)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1028)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Class.isInterface()' on a null object reference
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at java.lang.Class.isAssignableFrom(Class.java:880)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Parcel.readParcelableCreatorInternal(Parcel.java:4853)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Parcel.readParcelableInternal(Parcel.java:4766)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Parcel.readValue(Parcel.java:4532)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Parcel.readValue(Parcel.java:4312)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Parcel.-$$Nest$mreadValue(Unknown Source:0)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Parcel$LazyValue.apply(Parcel.java:4410)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Parcel$LazyValue.apply(Parcel.java:4369)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.BaseBundle.getValueAt(BaseBundle.java:394)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.BaseBundle.getValue(BaseBundle.java:374)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.BaseBundle.getValue(BaseBundle.java:357)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.BaseBundle.get(BaseBundle.java:696)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.os.Bundle.getParcelable(Bundle.java:947)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at Q0.c.j(SourceFile:1)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at io.gitlab.coolreader_ng.project_s.tts.TTSControlService.onStartCommand(SourceFile:68)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4862)
11-04 21:06:08.624  8929  8929 E AndroidRuntime: 	... 9 more
11-04 21:06:08.622  8929  8929 W lxreader.fdroid: type=1400 audit(0.0:776493): avc: denied { search } for name="miuilog" dev="dm-41" ino=471065 scontext=u:r:untrusted_app:s0:c202,c258,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=io.gitlab.coolreader_ng.lxreader.fdroid
11-04 21:06:08.622  8929  8929 W lxreader.fdroid: type=1400 audit(0.0:776494): avc: denied { search } for name="miuilog" dev="dm-41" ino=471065 scontext=u:r:untrusted_app:s0:c202,c258,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=io.gitlab.coolreader_ng.lxreader.fdroid
11-04 21:06:08.622  8929  8929 W lxreader.fdroid: type=1400 audit(0.0:776495): avc: denied { search } for name="miuilog" dev="dm-41" ino=471065 scontext=u:r:untrusted_app:s0:c202,c258,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=io.gitlab.coolreader_ng.lxreader.fdroid
11-04 21:06:08.622  8929  8929 W lxreader.fdroid: type=1400 audit(0.0:776496): avc: denied { search } for name="miuilog" dev="dm-41" ino=471065 scontext=u:r:untrusted_app:s0:c202,c258,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=io.gitlab.coolreader_ng.lxreader.fdroid
11-04 21:06:08.626  8929  8929 W OOMEventManagerFK: Failed to mkdir /data/miuilog/stability/memleak/heapdump/
11-04 21:06:08.622  8929  8929 W lxreader.fdroid: type=1400 audit(0.0:776497): avc: denied { search } for name="miuilog" dev="dm-41" ino=471065 scontext=u:r:untrusted_app:s0:c202,c258,c512,c768 tcontext=u:object_r:data_log_file:s0 tclass=dir permissive=0 app=io.gitlab.coolreader_ng.lxreader.fdroid
11-04 21:06:08.631  8929  8957 E gralloc4: Empty SMPTE 2094-40 data
11-04 21:06:08.651  8929  8957 E gralloc4: Empty SMPTE 2094-40 data
11-04 21:06:08.670  8929  8929 I Process : Process is going to kill itself!
11-04 21:06:08.670  8929  8929 I Process : java.lang.Exception
11-04 21:06:08.670  8929  8929 I Process : 	at android.os.Process.killProcess(Process.java:1330)
11-04 21:06:08.670  8929  8929 I Process : 	at com.android.internal.os.RuntimeInit$KillApplicationHandler.uncaughtException(RuntimeInit.java:202)
11-04 21:06:08.670  8929  8929 I Process : 	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1071)
11-04 21:06:08.670  8929  8929 I Process : 	at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1066)
11-04 21:06:08.670  8929  8929 I Process : 	at java.lang.Thread.dispatchUncaughtException(Thread.java:2442)
11-04 21:06:08.670  8929  8929 I Process : Sending signal. PID: 8929 SIG: 9
Edited by azazar