meikpiep / gauguin

Gauguin is a Sudoku-like game for Android where you solve grids via calculation and logic.
GNU General Public License v3.0
110 stars 6 forks source link

Mistakes counter reset #131

Open rvplan opened 7 months ago

rvplan commented 7 months ago

When all mistakes are removed, the counter still shows "1 mistake"

meikpiep commented 7 months ago

Do you have a screenshot or any further information?

meikpiep commented 7 months ago

Can you make a screenshot anyway? To be honest, I have no clue how to reproduce this, as I never saw such a state.

fcatt commented 7 months ago

I've got the same problem with one of my devices (NVidia Shield Tablet K1, ARM Cortex A15). Actually the issue was already present with HoloKenMod. When the stock OS of the tablet has been too old, I installed LineageOS (like on my other devices, HoloKenMod & Gauguin running fine), but the already-one-mistake-counter-bug was still here. The only difference between this device and my others is that the CPU is 32bit.

meikpiep commented 7 months ago

I will investigate this issue... I'v got one Lineage tablet to reproduce and I can reactivate a rather old phone in the hope it runs a 32 bit CPU.

Thanks for the details!

rvplan commented 7 months ago

Hello,

Starting brand new game, having doing nothing, the mistake's counter is already at 1: Screenshot_2024-04-04-12-03-43-874_org piepmeyer gauguin

Making an obvious mistake, the counter changes colour, the count is ok, at 1: Screenshot_2024-04-04-12-04-01-174_org piepmeyer gauguin

Making a second mistake, the counter is still ok, at 2: Screenshot_2024-04-04-12-04-15-866_org piepmeyer gauguin

Correcting the 2 mistakes, the counter goes back to green, but count is 1, not 0: Screenshot_2024-04-04-12-04-30-002_org piepmeyer gauguin

Gauguin is v0.23.0, downloaded from F-Droid. The smartphone is a Xiaomi Redmi 10S, with Android 14. Not LineageOS. Seems weird if this is related to the OS, or the 32/64bit type of CPU.

Cheers

fcatt commented 7 months ago

I don't say that it is related to the architecture of the CPU (and I said that the OS was the same at a point), just that this is the only difference between all my devices (or friend's/family's devices) and this one.

By the way, here is the bug report at HoloKenMod's: https://github.com/queler/holokenmod/issues/14

meikpiep commented 7 months ago

I could not reproduce this until now.

@rvplan @fcatt and others who suffer from this bug: Is this reproducible on your device(s), that is: Is this the case on every grid you play? If yes: Is one of you willing and able to save the game with all cells empty and extract the saved game file from the device?

I would do this via remote debugging, but you can also take some kind of an file explorer like e.g. Ghost Commander. My main device runs under Graphene OS and does not let me do this per hand, may be it's a common thing if the device is not rooted. You will find the save game (kind of guessing here, don't blame me): /data/data/org.piepmeyer.gauguin/files/*.yaml.

I guess the chances are pretty low to get a user to do such an extract, but let's try.

meikpiep commented 7 months ago

I could not access the grid data of another phone via remote debugging as the release APK as no debug APK.

Still thinking how to enable you to supply a game where this occurs, may be a simplified 'share' feature for bugs or such.

fcatt commented 7 months ago

gauguin_issue_131.zip Here you go. The device is rooted so I got it from Amaze. For my other devices not rooted I can get any file from TWRP of OrangeFox. You can see on the screenshot that it says "1 mistake / 1 filled cell" but of course no cell is filled.

meikpiep commented 7 months ago

I could load the saved game successfully without any problem and without the bug appearing... sigh

It's a step forward as its not related to the grid data itself. Never the less, I have no real cause in sight, meaning no solution yet.

I've started to refactor much of the logic dealing with the lifecycle of the game, meaning loading, solving, starting new games. It may be that this solves the bug, may be not - for sure, it's the largest place where relevant game logic was left in ui related code.

The code which creates the popup itself looks bullet proof, but I will have another look at it.

meikpiep commented 7 months ago

I just released version 0.24.1 to be probed if it fixes the issue.

@fcatt @rvplan Is one of you able and willing to install and test the APK directly from GitHub https://github.com/meikpiep/gauguin/releases/tag/v0.24.1 ? This would speed up the feedback loop.

@fcatt Is the bug reproducable on your device?

There is a review on the Play Store of a user who sees "0 mistakes" even if he/she/it makes obvious faults... weird.

meikpiep commented 7 months ago

The version will be available from Play Store ~tomorrow and via F-Droid in ~3-6 days.

rvplan commented 7 months ago

Hello, Juste updated to version #0.24.0 through F-Droid. On Xiaomi Red 10S, Android 14, bug is corrected! 👏🏻 Cheers!

fcatt commented 7 months ago

@fcatt Is the bug reproducable on your device?

If you mean that the bug occurs at every game, yes.

I probably won't be able to access my Nvidia tablet until the end of the next week unfortunately, but if it works for @rvplan, well, that's a great news!

meikpiep commented 7 months ago

Sounds good, but the version released yesterday is 0.24.1, that's not quiet the version where I started to clean up the logic... The mentioned Google reviewer reported the error with 0.24.0 - this bug sounds a bit too much like Monty Python.

fcatt commented 7 months ago

Sooo I got access to my Nvidia device earlier than expected, and updated org.piepmeyer.gauguin via Obtainium just now, this is version 0.24.2. And the bug is gone! Thank you very much for your work @meikpiep :smile:

meikpiep commented 7 months ago

@rvplan @fcatt Thanks for your feedback and your effort! It's a great motivation while hunting such bugs!

There is one thing left here: The update of Gauguin via Google Play will hopefully go to the 'whatever google checks' check and should go live tomorrow, I will then answer the user reporting the bug via the play store. I will close this ticket if the user reports success or if there is no answer within a few days.

fcatt commented 7 months ago

Do you have any idea why the bug appears systematically on certain devices only?

meikpiep commented 7 months ago

Not a single clue, to be honest.

This is the first bug of Gauguin dealing with behavior that depends on (seemingly) external circumstances. It may be a timing issue, perhaps a combination of the dependency injection framework with timing. All causes which seem legit producing such an error lack to explain this 'works on a phone every time and fails every time on others'. :-(

nyex commented 7 months ago

this still happens on my device with the last update. installed it from fdroid. let me know if there's anything i can do to help.

rvplan commented 7 months ago

Hello, Last update today, from F-Droid, Gauguin #6.24.2 Still no more bug for me! 👍🏻 Redmi 10S, Android 14 Cheers

meikpiep commented 7 months ago

this still happens on my device with the last update. installed it from fdroid. let me know if there's anything i can do to help.

@nyex Sorry to hear, but great that you throw in your help!

I think we need an application log of Gauguin. I'm currently gathering info how to do this properly as I did not need this until now. Anyone with experience: Feel free to share.

Plus, I would have to add and clean the logging code as this edge did not get much love until now.

Some concrete questions which are ready to ask:

nyex commented 7 months ago

Hey, sure, I can install it via apk from Github, no problem. Or a debug apk if there is one, I would just need some direction if there's anything I need to do to find logs and whatnot, since I don't know much about android stuff. But count on me.

I love this game <3 Apparently doing easy math is very relaxing. Who would have guessed XD

My device is a Poco M5s, android 13 (13 TP1A.220624.014). Not rooted, with stock MIUI 14.0.11 (don't know if that matters, but there you go).

meikpiep commented 6 months ago

So, here we go.

@nyex I just uploaded https://github.com/meikpiep/gauguin/releases/tag/v0.24.2-debug.1, this is a debug APK signed via my regular release key.

I have added logging dealing with the hint popup, but I also found one glitch utilizing the library which actually does the popup, Balloon. It may be that this solves the issue.

If not, you can activate developer mode an your device and activate the option to create bug reports via the shutdown menu.

Then, you simply use Gauguin (more details below) and when the bug occurs, long-press the shutdown button of your device and choose bug report. The phone will collect a lot of data, which will be zipped. This is possibly a privacy and/or security issue, as the application logs and system logs will be included, including screenshots of the current app.

I you don't mind, just send me the archive via mail (find my address here: https://f-droid.org/de/packages/org.piepmeyer.gauguin/) and I'll extract Gauguin's log and throw away the rest. I you're uncomfortable (I would be, to be honest), I can give you some texts to search for and which file to open, so that you could extract the relevant application logs. Just decide what suites you best.

It may be that I have to supply a version with more logging, but for now, it's all I could guess to log.

What to do exactly when reproducing the bug?

meikpiep commented 6 months ago

@nyex Any progress at this?

nyex commented 6 months ago

@nyex Any progress at this?

hey, sorry, got run over by life these last few days. I'll try to find a moment this week. could you help me find the relevant logs so i don't need to send you the whole naked phone? (i don't really care that much, but i probably should 😶)

meikpiep commented 6 months ago

Great - the report is a ZIP file:

Feel free to ask any remaining questions.

meikpiep commented 5 months ago

@nyex messaged me that he cannot access such an error report.

@nyex Can you confirm if the bug still exists with Gauguin 0.25.0 or higher?

nyex commented 5 months ago

@nyex messaged me that he cannot access such an error report.

Yes, sorry, I haven't figured out an alternative way to produce a report with my phone :( I haven't given up yet though, just been busy with work.

@nyex Can you confirm if the bug still exists with Gauguin 0.25.0 or higher?

Yes, unfortunately. It was there in 0.25.0. Just got the 0.26.0 apk from the releases here and tested it too:

Screenshot_2024-06-12-11-31-04-057_org piepmeyer gauguin

(It's looking quite nice, btw, apart from this stubborn bug.)

meikpiep commented 5 months ago

@nyex I got an idea and some time today - I just released https://github.com/meikpiep/gauguin/releases/tag/v0.27.0 which adds a button into the about dialog (scroll down) to share the last chunk of application logs. Tested with debug build only, but should work with release version, too.

Would be nice to get some reports as mentioned somewhere within this issue. :-)