Skip to content
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

Mistakes counter reset #131

Open
rvplan opened this issue Apr 3, 2024 · 27 comments
Open

Mistakes counter reset #131

rvplan opened this issue Apr 3, 2024 · 27 comments
Assignees
Labels
bug Something isn't working

Comments

@rvplan
Copy link

rvplan commented Apr 3, 2024

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

@rvplan rvplan changed the title Mistakes counter reser Mistakes counter reset Apr 3, 2024
@meikpiep meikpiep added the bug Something isn't working label Apr 3, 2024
@meikpiep
Copy link
Owner

meikpiep commented Apr 3, 2024

Do you have a screenshot or any further information?

@meikpiep meikpiep added question Further information is requested and removed question Further information is requested labels Apr 3, 2024
@meikpiep
Copy link
Owner

meikpiep commented Apr 3, 2024

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

@meikpiep meikpiep added the question Further information is requested label Apr 3, 2024
@fcatt
Copy link

fcatt commented Apr 4, 2024

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
Copy link
Owner

meikpiep commented Apr 4, 2024

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
Copy link
Author

rvplan commented Apr 4, 2024

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
Copy link

fcatt commented Apr 4, 2024

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: queler/holokenmod#14

@meikpiep
Copy link
Owner

meikpiep commented Apr 4, 2024

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
Copy link
Owner

meikpiep commented Apr 6, 2024

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
Copy link

fcatt commented Apr 7, 2024

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
Copy link
Owner

meikpiep commented Apr 10, 2024

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 meikpiep removed the question Further information is requested label Apr 11, 2024
@meikpiep
Copy link
Owner

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
Copy link
Owner

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

@meikpiep meikpiep self-assigned this Apr 11, 2024
@rvplan
Copy link
Author

rvplan commented Apr 12, 2024 via email

@fcatt
Copy link

fcatt commented Apr 12, 2024

@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
Copy link
Owner

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
Copy link

fcatt commented Apr 13, 2024

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 😄

@meikpiep
Copy link
Owner

@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
Copy link

fcatt commented Apr 14, 2024

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

@meikpiep
Copy link
Owner

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
Copy link

nyex commented Apr 20, 2024

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
Copy link
Author

rvplan commented Apr 20, 2024 via email

@meikpiep
Copy link
Owner

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:

  • What's your device name and Android version?
  • Are you willing to install Gauguin via APK download directly from GitHub? This would eliminate the few days waiting until F-Droid catches up.
  • Would/could you install a debug APK if I supply it (may be via GitHub or something else)?

meikpiep added a commit that referenced this issue Apr 21, 2024
Should help when dealing with bug of issue #131.
meikpiep added a commit that referenced this issue Apr 21, 2024
Should help when dealing with bug of issue #131.
meikpiep added a commit that referenced this issue Apr 21, 2024
Should help when dealing with bug of issue #131.
@nyex
Copy link

nyex commented Apr 22, 2024

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
Copy link
Owner

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?

  • Close the app.
  • Start he app.
  • Generate a new game, a small one would be perfect, let's say 3x3.
  • Hit the hint button.
  • If the bug occurs, create a bug report as described above.
  • If more steps were needed to reproduce, just let me know.

@meikpiep
Copy link
Owner

@nyex Any progress at this?

@nyex
Copy link

nyex commented May 13, 2024

@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
Copy link
Owner

meikpiep commented May 13, 2024

Great - the report is a ZIP file:

  • Note: I sent the report to myself via mail - I feel handling ZIP files on a phone a kind of uncomfortable.
  • Open or extract the contents of the ZIP file.
  • There should be a file named bugreport-<code-name-of-your-device>-<...>-<date-and-time>.txt, my is as follows: bugreport-sunfish-TQ3A.230805.001.S1-2024-05-13-19-44-29.txt
  • Open the file in an editor (you may want to extract the file from the ZIP archive first). The editor should be capable of large files, my was ~40 MB.
  • Do a text search for Starting application Gauguin.... If there are more than one entries, take the newest one, which is the last occurrence in the file. This is the start of the log I need. If you don't find at least one, you may have forgotten to exit the app (swiping up).
  • Scroll down, until you reach the end of the application log. The file contains other logs - I needed to scroll down only a few pages until the next log started with ------ EVENT LOG. A few lines above, you should see log entries telling you that the bug report gets written. This is the end of the log I need.
  • Now, the practical way is to send all logs between these lines, thought they also contain logs of every other app and the system itself. If you're interested, Android shortens the packages names: "o.p.g" means "org.piepmeyer.gauguin" which is the app id of Gauguin. One may delete each line not containing "o.p.g" to ensure that only the logs of Gauguin get extracted.

Feel free to ask any remaining questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants