-
Notifications
You must be signed in to change notification settings - Fork 70
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
Not working on Android 14? #159
Comments
I do not have an actual device running Android 14. |
I've tried cleaning cache, purging the storage and reinstalling, but nothing worked. |
Are you able to get access to the logcat, or some other way to get a backtrace? |
Interesting, I'm on a pixel 7 (not pro). I removed the store version and installed it manually, but I will go back to the store version and allow error reports. Any fix for that libicu thingy?
…--
Maximiliano Morsia
Hakamäentie 31, 26840 Rauma - Finland
tel. +358 (0) 40 175 1973<tel:+358401751973>
________________________________
From: Reimar Döffinger ***@***.***>
Sent: Wednesday, October 11, 2023 11:53:40 AM
To: rdoeffinger/Dictionary ***@***.***>
Cc: eirinn1975 ***@***.***>; Author ***@***.***>
Subject: Re: [rdoeffinger/Dictionary] Not working on Android 14? (Issue #159)
Are you able to get access to the logical, or some other way to get a backtrace?
Or if you have the Play Store version to allow Google to send error reports?
I have one single crash report from Android 14 on a Pixel 7 Pro, but that seems to be something broken in Android's libicu and not the app itself...
—
Reply to this email directly, view it on GitHub<#159 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AC2J23SRLZYGXII72ZNLPF3X6ZNA7ANCNFSM6AAAAAA52SBH2I>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
You can also opt in to the 5.7.0 testing release to see if that helps. |
Reinstalled the app from the store. Both stable (5.6.3) and beta version (5.7.0) crash on startup. I've forwarded the collected data after crashes. Hopefully it will be useful. |
Thanks for testing! Have not gotten the crash data yet, will check again tomorrow. |
Might fix issue #159. No root cause is known, but hopefully it is just a startup race condition, so the transliterator will work if it gets loaded later by the regular code.
Ah, useful, so it is indeed that ICU issue. |
Published a version with that workaround as beta (5.7.1). Please report if it changes anything (it might take a bit before it becomes available due to Google's review process, it's possible it will be available on F-droid first). |
Thanks! I'll let you know as soon as it hits the f-droid or Google store. |
Yes! It's working now 😊 thanks a lot! |
Oh not so quick... After downloading a dictionary and selecting it, it went back to the same problem. |
Yes, that will be when ICU is initialised when the other code fails. |
Do you have the ability to experiment with your locale (e.g. app language) setting? |
I could change it, yes, however my phone system language is set to English (United States). Any idea which language should I try? |
Ok, that I should have tested, so it's probably not it. I guess you could try English (UK) or such, but maybe not worth messing with your phone settings since it's unlikely to help. |
I've given UK English, Italian and Finnish a try, but all with the same result. |
As the only competent FOSS offline dictionary app, it's a shame that it won't run on android 14 at all. I can't contribute on the android development side, but I'd be happy to donate money for this bug to be fixed. |
What you can do to help as a non-developer:
I have no conclusive proof, but my best guess is that this is a bug in Android. |
I now have confirmation that the app works fine on a Samsung S22 running Android 14 (and previously confirmed that it works fine on emulator with Android 14), making it more likely that this is a Google issue. |
Another affected user here. Using a Pixel 6, the issues happens with the stock OS and also with a 3rd party OS. There's no other translator app I would want to use. So, please don't let use hang with this issue. Pretty please. ;) Besides, how can it be that it works on Samsung but not on pixels? If it really is an Android 14 specific bug, then I wonder that Samsung patched that bug out. My guess, somehow luckily it works with Samsung but probably more devices will come where it fails. |
It's not so simple. Right now I'm enjoying a mostly computer-free vacation.
The Android emulator by Google also works fine.
More likely, the Google pixel team patched it in...
That is also possible. And that would be useful information. |
I can confirm the issue (downloading and unpacking dictionaries works, but the app crashes as soon as a dictionary is selected) on a Fairphone 4 with CalyxOS 5.3.1, based on AOSP 14. If the Let me know if there is anything I can do to help debug the issue. The app worked great (thank you!) on Android 13 based CalyxOS and stopped working right with the update to Android 14. I would guess that the similarity to the affected Pixels is in the shared AOSP code base that somehow does not apply to Samsung's Android variant, but I unfortunately I don't have deeper knowledge of Android. |
This is a pretty bad hack, but maybe someone can test if this version works around the issue? |
I've just tried the testing version. Unfortunately it doesn't solve the issue. If anything, now the app crashes whimsically at startup or after selecting the dictionary. |
I was directed here via my comment in #166 After installing the new APK provided above all appears to be working now. Thanks @rdoeffinger |
wfm too, thanks @rdoeffinger |
This solves the problem for me too! The only thing I did notice with this test APK is that the app had some responsiveness issue -- though this may be because the file is not a release variant. Specifically, if you press the flag icon at the top left to select a different dictionary, it takes about 5 seconds for the dictionary list to show up (on my phone -- Pixel 6 with Android v14) . But once you are presented with the list of dictionaries, pressing the flag of the dictionary you would like to switch to brings up the dictionary instantly. In any case, this is a small price to pay for a functional app! @rdoeffinger out of pure curiosity, given the app was working for the vast majority of phones, how did you find the problem and what did you change in the end? Many thanks for this work!!
|
Pixel 8 pro Android 14. |
Short version: unfortunately this is a good hint, but not enough to do an acceptable fix, so I need you to do some more testing for me. More details: |
Here is a log,i don't see it acts any different 1724946729.150 10329 29725 29725 D VRI[DictionaryManagerActivity]: visibilityChanged oldVisibility=false newVisibility=true |
@nutpantz I think your problem is a different one from the stack crash the others experienced (the other reports were crashes when opening a dictionary, not hangs or download list issues). I have no idea what the cause might be and if there is a way to avoid/fix it. |
It was crashing, but i cleared storage and it stopped crashing
…On August 29, 2024 1:16:49 PM PDT, "Reimar Döffinger" ***@***.***> wrote:
@nutpantz I think your problem is a different one from the stack crash the others experienced (the other reports were crashes when opening a dictionary, not hangs or download list issues). I have no idea what the cause might be and if there is a way to avoid/fix it.
--
Reply to this email directly or view it on GitHub:
#159 (comment)
You are receiving this because you were mentioned.
Message ID: ***@***.***>
|
Hi @rdoeffinger , I tested your test3 version as requested. This version also works. It doesn't crash on open, and it doesn't crash on loading a dictionary. Please note, the performance issue I noted before is still there -- clicking the flag at the top left to change the dictionary takes several seconds to load the list of dictionaries. However, I will also note that if instead of clicking the flag to switch dictionaries, you click the three dots at the top right and then "Dictionary manager", the list loads near instantly.
|
Yes, at least from my side, I can report that I've never had any issues about app hanging and other issues except the one reported here (app crashing on dictionary load), which was apparently fixed with the test version posted here. |
Crashes only affected a limited number of devices, but still relatively many and made the app completely unusable. Fixes issue #159.
This version has been released to Google Play in the testing (beta) track. |
Btw in case you are also curious: there are around 4000 users that have the app installed on a device with Android 14. |
Unfortunately I am still seeing the same crash with the newly released version for at least some users. Any ideas from anyone? |
Thank you very much for trying to fix this issue. I have been using Quickdic on my phones for years, and just got a Pixel 6 and it is crashing. I just tried the 5.7.2 APK from GitHub and it's still crashing after downloading a dictionary. Clearing cache does not help, I have to clear storage and then I can try to download a different dictionary. I tried a few but no changes. I can try using ADB to debug or something but I have never developed on Android. Edit: sorry, I just connected my phone with ABD and used logcat, and I just realized it's exactly the same StackOverflow people have reported before. It's really annoying that only Google phones have this, it's likely something on their side. Anyway, my phone has almost nothing else on it, so I can try some wild changes on Android or even reinstall anything, in case that might help. I'll try messing around. |
Sorry if this is useless to you, but just in case, I managed to compile the latest git (v5.7.3) with Android Studio and run it in debug mode, and after downloading a dictionary and trying to open it, I still have the crash, and besides the stack overflow with no useful information (
|
Before going too deep, is it right that neither test2 nor test3 versions of the app work for you?
What I think must be happening is that the language of the default locale never appears in its name, causing endless recursion and stack overflow. |
Yes, I tried both 5.7.2 and 5.7.3, and they still crash. Using the debugger and adding a breakpoint at Sorry, I still need to better understand how to use Android Studio. For instance, I am now in UResourceBundle, and it says "Decompiled .class file, bytecode version: 50.0 (Java 6)". I tried clicking "Download" to get the source, but I got "Sources for 'icu4j-57.2.small.jar' not found". I see this line:
Where After advancing some, I got to set a breakpoint at function So indeed it seems to be recursively calling itself over and over (the number of "hidden frames" increases when the breakpoint is hit). |
I meant the test2 and test3 zip files in this thread
The decompiled version seems good enough, but if you want the source you can switch to the full size version instead of small in build.gradle, there is a comment around mksmallicu command.
Can't really see what exactly defaultLocale is, but localeName = "keyTypeData" is clearly broken, so whatever calculates this goes wrong. |
Sorry about that, I missed those in the comments.
Concerning the build.gradle command, I saw this:
By I didn't understand what "replace smallicu by implementation" means, neither where is the "compile files part". Anyway, |
Ok, based on your information I now published 5.7.4 which includes the full ICU package like test2. |
Hi @rdoeffinger -- I tested the published v5.7.2 release. At least on my Pixel 6 with Android v14, the app worked without crashing upon loading! However, I do get one additional issue though, which is that I now get an occasional pop-up of "Quickdic not responding" with the option to wait or close the app. The app meanwhile is still working fine if I press "wait", so it is not completely frozen or crashing, though the pop-up will come back frequently after that it seems unless I force close the app and restart. I do wonder if this is maybe related to the slow dictionary loading as I noticed it starting to happen after switching dictionaries. Here is the the app-not-responding log thread: N.B. I did not download the dictionaries from the internet, but rather had them already downloaded and changed the settings to point the app to the directory where they were stored. I also did not try to download any new dictionaries from the app either. |
I have GrapheneOS (Android 14) release
Here is the log I was able to get using: |
|
5.7.2 and 5.7.3 are still known broken. As mentioned above you need 5.7.4 for the real fix. |
A bit by accident, I have found the source of problem. I have tested this on v5.7.2 and the prior v5.7.1. I couldn't find the APK for v5.7.4 on github so I couldn't test that version (I checked releases/tag/v5.7.4 but there was just source-code and I don't have Android Studio).
In the the end, the issue is related to the locale -- but NOT the language! As I mentioned in my posts above, test2, test3 and v5.7.2 all worked for me -- but what I did not take into account was that, since the last time I had posted in May, there was a fundamental change in my phone: I had done a factory reset. What I discovered was that the test versions and v5.7.2 all worked for me, not because of any changes in those versions, but because of the factory reset. Because v5.7.1 now also works perfectly for me. The problem is not the language -- I have tested it by using US English, German and Spanish -- all worked perfectly without any crashes. *** Here is the problem: *** For example, go to System \ Languages and then to Regional preferences, then change Temperature and First day of the week to Celsius and Sunday. This will change your locale from e.g. In summary: in both v5.7.1 and v5.7.2, if I have "Use default" Regional preferences, the app works perfectly. After I change the Regional preferences away from default, the app will only crash. Changing Regional preferences back to "Use default" then results in the app again behaving normally. @rdoeffinger I hope that's helpful for you, and hopefully also allows you to be able to remove the full ICU package and decrease the app size again (as in test3 and v5.7.2). |
FYI I discovered that the responsiveness issue with selecting the dictionary flag I mentioned above is not related to the changes in test2, test3 or v5.7.2 -- because I discovered this is also the case in the older v5.7.1. What is nice about changing the dictionary by selecting the flag instead of three-dots/dictionary manager, is that it keeps the current word in the search field, so that you can instantly have the new dictionary you select search that term. But for whatever reason I'm getting a responsiveness issue on this, it is clearly not related to the dictionary crashing. |
Hi @rdoeffinger , I can confirm that my workaround posted above (using the smaller codebase of v5.7.2/5.7.1) also works under Android v15 as currently released in AP3A.241005.015. |
The app stopped working after updating to Android 14. The splash screen appears for a fraction of second and then it closes. Is it just me?
The text was updated successfully, but these errors were encountered: