rdoeffinger / Dictionary

"QuickDic" offline Dictionary App for Android. Provided downloadable dictionaries are based on Wiktionaries but can also be created from other sources (see DictionaryPC). Remember to use --recursive when cloning! Fork of project that used to be hosted at code.google.com/p/quickdic-dictionary.
Apache License 2.0
327 stars 69 forks source link

App crashes right after starting #166

Closed somogyic closed 2 months ago

somogyic commented 5 months ago

Unfortunately I don't have much info. It just crashes right after tapping the app icon.

Android version: 14 Android security update: 1 March 2024 Google play system update: 1 May 2024 Kernel version: 5.10.198-android12-9-00085-g226a9632f13d-ab11136126

1 Wed Nov 22 14:16:37 UTC 2023

Please let me know how can I provide more info (debugging/logs, etc.).

somogyic commented 5 months ago

My issue may be a duplicate of the other Android 14 issue. Let me try to gather the stacktrace or try the beta version. I'll get back to you asap.

somogyic commented 5 months ago

I deployed 5.7.1 and it started but after downloading and unzipping a dictionary it crashed again. And back to square one, it's crashes again during startup. I'll have to collect the logs

somogyic commented 5 months ago

I found these in the logs. Very similar to the other bug report:

06-09 20:00:31.167 13766 13766 D QuickDic: onCreate:com.hughes.android.dictionary.DictionaryActivity@26e48f9
06-09 20:00:31.168  6145  6145 D GameMode: isFeatureSupported: true
06-09 20:00:31.169  6145  6145 D GameMode: isFeatureSupported: true
06-09 20:00:31.169 13766 13766 D QuickDic: prefs changed: indexShortName
06-09 20:00:31.169 13766 13766 D QuickDic: prefs changed: dictFile
06-09 20:00:31.170  6145  6145 D GameMode: isFeatureSupported: true
06-09 20:00:31.183 13766 13766 I TextToSpeech: Sucessfully bound to com.google.android.tts
06-09 20:00:31.183  1780  7772 D TextToSpeechManagerPerUserService: Trying to start connection to TTS engine: com.google.android.tts
06-09 20:00:31.185 13766 13766 D QuickDic: Loading index 0
06-09 20:00:31.185  1780  1780 D ActivityManager: unfreezing ProcessRecord{5e4ea03 12279:com.google.android.tts/u0a217}, reason = shouldNotFreeze_service_1: ProcessRecord{dc6527e 1780:system/1000}, adj = 0, adjType = service, adjSource = ProcessRecord{dc6527e 1780:system/1000}
06-09 20:00:31.187  1780  1780 D ActivityManager: sync unfroze 12279 com.google.android.tts for 6
06-09 20:00:31.190 13766 13766 D QuickDic: wordList=x.h@eac530b, saveOnlyFirstSubentry=false
06-09 20:00:31.194 13766 13766 D AutofillManager: view not autofillable - not passing ime action check
06-09 20:00:31.195 13766 13766 D QuickDic: setSearchText, text=, triggerSearch=true
06-09 20:00:31.196 13766 13766 D QuickDic: onSearchTextChange:
06-09 20:00:31.196 13766 13796 I finger.quickdic: Rejecting re-init on previously-failed class java.lang.Class<p1.o0>: java.lang.StackOverflowError: stack size 1039KB    
06-09 20:00:31.196 13766 13796 I finger.quickdic:   at java.lang.Object j$.util.concurrent.ConcurrentHashMap.get(java.lang.Object) (SourceFile:-1)
06-09 20:00:31.196 13766 13796 I finger.quickdic:   at java.lang.Object m1.e0.b(java.lang.Object, java.lang.Object) (SourceFile:1)
06-09 20:00:31.196 13766 13796 I finger.quickdic:   at m1.r m1.r.E(java.lang.String, java.lang.String, java.lang.ClassLoader) (SourceFile:1)
06-09 20:00:31.196 13766 13796 I finger.quickdic:   at m1.p m1.p.I(java.lang.String, java.lang.String, java.lang.ClassLoader) (SourceFile:1)
06-09 20:00:31.196 13766 13796 I finger.quickdic:   at q1.j m1.p.b0(java.lang.String, java.lang.String, java.lang.ClassLoader, m1.p$d) (SourceFile:1)
06-09 20:00:31.197 13766 13766 D QuickDic: Hide soft keyboard.
06-09 20:00:31.198 13766 13766 I ImeTracker: de.reimardoeffinger.quickdic:7e63b62b: onRequestHide at ORIGIN_CLIENT_HIDE_SOFT_INPUT reason HIDE_SOFT_INPUT
06-09 20:00:31.198 13766 13766 I ImeTracker: de.reimardoeffinger.quickdic:7e63b62b: onFailed at PHASE_CLIENT_VIEW_SERVED
06-09 20:00:31.199 13766 13766 I ImeTracker: de.reimardoeffinger.quickdic:b8644f7e: onRequestHide at ORIGIN_CLIENT_HIDE_SOFT_INPUT reason HIDE_SOFT_INPUT
06-09 20:00:31.199 13766 13766 I ImeTracker: de.reimardoeffinger.quickdic:b8644f7e: onFailed at PHASE_CLIENT_VIEW_SERVED
06-09 20:00:31.199 13766 13766 D QuickDic: Trying to restore searchText=
06-09 20:00:31.199 13766 13796 E AndroidRuntime: FATAL EXCEPTION: Thread-3
06-09 20:00:31.199 13766 13796 E AndroidRuntime: Process: de.reimardoeffinger.quickdic, PID: 13766
06-09 20:00:31.199 13766 13796 E AndroidRuntime: java.lang.NoClassDefFoundError: p1.o0
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at i1.m.d(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at i1.e.k(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at i1.e.g(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at i1.e.b(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at com.hughes.android.dictionary.DictionaryActivity$z.run(Unknown Source:45)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at java.lang.Thread.run(Thread.java:1012)
06-09 20:00:31.199 13766 13796 E AndroidRuntime: Caused by: java.lang.StackOverflowError: stack size 1039KB
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at j$.util.concurrent.ConcurrentHashMap.get(Unknown Source:0)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at m1.e0.b(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at m1.r.E(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at m1.p.I(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.199 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j m1.p.b0(java.lang.String, java.lang.String, java.lang.ClassLoader, m1.p$d) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j m1.p.b0(java.lang.String, java.lang.String, java.lang.ClassLoader, m1.p$d) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j m1.p.b0(java.lang.String, java.lang.String, java.lang.ClassLoader, m1.p$d) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j m1.p.i(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j q1.j.x(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j q1.j.i(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j q1.j.h(java.lang.String, java.lang.String, java.lang.ClassLoader) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at void n1.e.c() (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at void n1.e.<clinit>() (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at java.lang.String q1.i.E(java.lang.String) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.i q1.i$c.j(java.util.Locale) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.i q1.i$c.h(java.util.Locale) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.i q1.i.j(java.util.Locale) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at void q1.i.<clinit>() (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j m1.p.b0(java.lang.String, java.lang.String, java.lang.ClassLoader, m1.p$d) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j m1.p.i(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at int q1.j.o(java.lang.String, java.lang.ClassLoader) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j q1.j.x(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j q1.j.i(java.lang.String, java.lang.String, java.lang.ClassLoader, boolean) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at q1.j q1.j.g(java.lang.String, java.lang.String) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at void p1.o0.<clinit>() (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at p1.o0 i1.m.d(java.lang.String) (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at void i1.m$a.run() (SourceFile:1)
06-09 20:00:31.210 13766 13799 I finger.quickdic:   at void java.lang.Thread.run() (Thread.java:1012)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)
06-09 20:00:31.211 13766 13796 E AndroidRuntime:        at m1.p.b0(SourceFile:1)

I'm a Java programmer so all I know these recursive stack traces are the most difficult to figure out. But the above may tell something to you.

RamParameswaran commented 5 months ago

Same error for me too.

BrilliantTrees commented 3 months ago

+1

Tried an uninstall and reinstall of app and downloaded dictionaries and still crashes on start up

Both with stock Pixel Launcher and Lawnchair 2

altercat10n commented 3 months ago

Please try https://github.com/rdoeffinger/Dictionary/issues/159#issuecomment-2299612172.

rdoeffinger commented 2 months ago

I assume this is a duplicate of #159 (which I hope to also close soon) and will thus close.