https://www.duolingo.com/profile/Thomas.Heiss

Bug: Android app V3.39.2+V3.40.4 does not start, terminated, data corrupted, 9 offline lessons done

Hello Duolingo Android developer team,

I run into a very rare crash + data corrupted scenario with both app versions V3.39.2+V3.40.4.
I could exactly reproduce my problem by uninstalling V3.39.2 (including deletion of app/data), installing the new V3.40.4 app from Play store, taking + finishing 9 offline lessons from two skills.

Questions:

  • How can I enable debug / logging mode for the Android app?
  • Where are the files located? Where can I find them within Bluestacks (app player on Windows)?
  • How can I save my offline stored (finished) lesson data?
  • How can I restore the data to a valid state, so the app starts again but that I am not loosing all 5 (skill 1) + 3-4 (skill 2) finished lessons?

Symptoms:

  • app terminated itself AFTER finishing 9th lessons (4th lesson from second skill) with message: "Cannot connect - no internet available" (as all messages before in all 8 lessons)

  • termination of the app (by itself) or was it a crash??? seems to have put the saved / cached local data into an invalid state.

  • because of this invalid state the DuoLingo app does just start very shortly (quick green screen, then white screen, no message at all within the app), but then it terminates itself again and again, without showing anything from app / home screen

  • finishing first 1-5 offline lessons from EN-PT skill "Present 2 verbs" was fine

  • finishing first 1-3 offline lessons from EN-PT skill "Adverbs" was fine
  • taking 4th offline lesson from EN-PT skill "Adverbs": it ended fine, but then when returning to it's skill screen, the above message appeared and the app terminated

  • restarting the computer, BlueStacks, DuoLingo app multiple times does not help.
    So the 4th lesson of skill 2 has corrupted the data file and the app can not read it anymore (sync skill home screen) and therefore has to terminate

  • Internet / WLAN is turned on, that the app after restart could resync it's offline data / cache to the online server (it does not); there is no change in behavior if I have WLAN off and start the app (offline mode)!

  • as I am running DuoLingo on BlueStacks: There is no true Airplane mode available. I just can enable / disable my WLAN connection or completely the wlan interface (which I did not, only disconnected from my SSID).

Please help so we can inspect this concrete data / app-start error and create a bugfix for a new version.

Disclaimer: I am an IT expert / Java programmer (not Android developer) myself. So probably we can exchange bits and bytes :-)

Best regards

Thomas

February 1, 2017

6 Comments


https://www.duolingo.com/profile/CheetahMltkn

Wow! What you wrote is so smart... I recommend filing a bug report -> that way an person, who works in Duo will notice your question. :)

February 1, 2017

https://www.duolingo.com/profile/Thomas.Heiss

Thanks, done.
Reference code: 717710

It looks like that the user "HelpfulDuo" has suggested this in their user profile page to file a bug report too.

February 1, 2017

https://www.duolingo.com/profile/Thomas.Heiss

Too bad.
DuoLingo developer team is not answering to my submitted bug.
I will then send them my corrupted (offline) files by e-mail in response to their ticket code.

My tries:

  • I cleared the Android DuoLingo app cache: No result - app not working / starting.

  • I cleared the Android DuoLingo app data: Result: Everything is deleted - but the app is working / starting again. Account got locally removed but I can sign in again.

  • Therefore my previous deinstall - reinstall of the app is the same as deleting the rooted /data/data/com.duolingo package directory, which contains cache files and all data / databases (including offline saved lessons).


I found a way to create a backup.ab of the data with Bluestacks HD-Adb.exe to my Windows computer.


Another solution is to use HD-Adb.exe and the (linux) shell command after starting the server, to get superuser (su) on Bluestacks, being finally able to access the rooted /data/data/com.duolingo directory, manually copy all files to a /sdcard backup directory and finally call HD-adb.exe pull to retrieve those files from /sdcard backup directory. This really took me a while to configure out how to do this :-)


My lesson learned with the DuoLingo Android app and it's offline mode:

  • Do not trust the app and storing valid data (or even starting)
  • Do not do more than 5(-8) offline lessons
  • Try to syncronize in online mode (WLAN/UMTS) with the Duo server as soon as possible
  • Try not to do 2 skills in parallel (well that's funny when there is a hard stop at lesson 6 at skill 1 (need to reconnect internet) and you can only do 5 lessons instead 8-10 per skill)

In the end I will have done those two skills 3-4 times. Pretty good repetition, but still somehow it sucks because of technical reasons and my 7-days statistic is of course the worse.

There must be a bug very deep in the app data saving or starting (reading tree) code :(

DON'T BE TOO SURE AND RELY ENTIRELY on the app until the DuoLingo developer team has fixed this hardcore bug!!!

February 5, 2017

https://www.duolingo.com/profile/Thomas.Heiss

The scenario is even worse:
The app even terminates on BlueStacks also when only 2+1 / 2+2 offline lessons have been finished (after the restart)! And app did not terminate itself before when finishing the 3rd/4th lesson!!!

The difference to the 9 offline lessons before is, that the app (later versions) at least starts and the tree with skills is quickly shown for ~1-3 seconds, before the app terminates again. So this is the difference.

I also tried the two newest app versions from February.

What is also quite funny: 1) "cp -R -f /data/data/com.duolingo /sdcard/DuoLingo_Backup/ did not fully backup on adb shell (there were warnings before)! Replacing the backuped package in /data/data/ makes no difference, my older lessons are not there anymore for a new online sync (e.g with one of the latest app versions).

2) Adb Backup / restore did NOT successfully backup my offline lessons. Nor are the lessons restored successfully. There must be hidden folders or files, which can not easily be copied / backuped.

@Android developer team:
Before doing this fancy Clubs, Bots and other stuff: Could you please help that the core offline functionality is at least working or can be debugged / traced? Or is this only a (my) problem on Bluestacks?

Please help!
Please also give in-depth tips how to handle backup and restore of offline lessons (app data).
It would help very much to be able to read a good manual or data / file handling (storage, reading) , tree-sync on startup specification! :-)

Thanks.

February 8, 2017

https://www.duolingo.com/profile/Thomas.Heiss

I want to add that I am not sure if the 1st practice test on V3.39.2 also stopped on the 9th (4/10, skill 2) lesson, like my second practice test on V3.40.4.
It could have been 1(-2) lessons before, that the app terminated itself.

What seems weird is the fact that the (7th and) 8th lesson (skill 2: 2/10, 3/10) took quite a long time to redisplay the lesson screen of skill 2!
I can remember the second time on the newest app version that I thought: Wow, takes ages....now the app is probably hanging and crashing (again, as on version before)...but it survived lesson 8...and only crashed on lesson 9 ;)

February 2, 2017

https://www.duolingo.com/profile/Thomas.Heiss

These are my linked postings from Luis "DuoLingo has now an offline cache mode" 2013 thread:

IMHO it may be worth, even with no DuoLingo developer feedback, to test the latest 06/2017 Android app version AND the new available PRO feature, if there have been any fundamental code rewrites / changes (hopefully).

June 25, 2017
Learn a language in just 5 minutes a day. For free.