yoshistabber / anymemo

Automatically exported from code.google.com/p/anymemo
GNU General Public License v2.0
0 stars 0 forks source link

Cards just marked above grade 2 get back to the learning queue #282

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Try learning flashcards.
2. Random flashcards just answered get back to the learning queue as if they 
were answered with 0 grade button.
3.

What is the expected output? What do you see instead?
Cards which has been marked above 2 should not get back to the queue during 
learning session. Randomly some cards get back. Today it happened with over 20 
cards during learning 150! The problem existed 2 years ago, I wrote about it - 
nothing happened, the problem exists in the newest version (after migration to 
action bar support) - hope it will be resolved ! I have to repeat cards which 
I've already learned. Having repeat 300 cards with 20, 30, 40 additional ones 
make this bug really annoying!!!

What is the AnyMemo version (E.g 8.999.1, 9.0, 9.1.1)?
10.2.991

What is your Android phone model?
Motorola Milestone

What is your Android version?
2.3.7

I'm bit disappointed - after using this app for 2 years, the more I use it the 
more I get frustrated with the bugs. Clearly there are many concurrency issues.

Original issue reported on code.google.com by piotr.w....@gmail.com on 4 Dec 2013 at 8:08

GoogleCodeExporter commented 8 years ago
Do you mean latest nightly build? The latest version code is 10.3.991 not 
10.2.991.
I have address some concurrency issues recently but I don't know if it address 
your case. 

Nightly build are here:
http://anymemo.info/autobuild/job/AnyMemo/

I could not reproduce it on my device. But there are many possibilities to 
cause this problem. If your problem still happens on the latest nightly build, 
pleas email me a copy of your db (to liberty @ anymemo . org). More details 
would be really helpful. 

20 cards out of 150 cards having problem means a serious issue. I raise the 
priority of the issue but I do need help from you too.

Original comment by mrlhwlib...@gmail.com on 4 Dec 2013 at 11:33

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
I will do some stress test (Review hundreds card) on the latest version and see 
if anything unexpected cards.

Original comment by mrlhwlib...@gmail.com on 10 Dec 2013 at 6:28

GoogleCodeExporter commented 8 years ago
After doing some stress test. I found some strange happening. After marking 
100+ cards as grade2, it shows card #51 as new card. I will investigate the 
issue. Mark this issue as critical. Thank you for raising my attention for this 
issue.

Original comment by mrlhwlib...@gmail.com on 10 Dec 2013 at 6:44

GoogleCodeExporter commented 8 years ago
The issue is quite tough to fix. The issue is db writing failure. I still 
haven't found a cause.
I have made some changes so the number of  cards that failed in db update will 
be far less. (1 out of 50). However if it happens, when you exit the studying, 
AnyMemo will crash. Fortunately the crash won't cause loss of data.
I am still working on this issue.

Original comment by mrlhwlib...@gmail.com on 11 Dec 2013 at 6:54

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Unfortunately I don't have time to look into the code and investigate it 
myself. What do you mean by db writing failue? What exception?

Could you redo the test with different number of threads in thread pool 
executor? Take a look at Order of execution at:
http://developer.android.com/reference/android/os/AsyncTask.html

Original comment by piotr.w....@gmail.com on 11 Dec 2013 at 9:21

GoogleCodeExporter commented 8 years ago
Sorry, I am just updating the status there.

I think I pinpoint the issue. It might be caused my synchronized queue 
implementation has issue. I changed to the blocking queue provided by Java and 
I don't run into the issue even after reviewing 500+ cards. You do not need to 
debug the things. It would be really helpful if you can help verifying the fix. 
It should be in tomorrow (Dec 12)'s nightly build.

Original comment by mrlhwlib...@gmail.com on 11 Dec 2013 at 10:00

GoogleCodeExporter commented 8 years ago
Please try this version and let me know if it still have problems. Thank you 
very much for testing!
http://anymemo.info/autobuild/job/AnyMemo/66/

Original comment by mrlhwlib...@gmail.com on 12 Dec 2013 at 2:50

GoogleCodeExporter commented 8 years ago
I think the issue should be fixed. Lowered priority to "Low" and pending for 
your confirmation.

Original comment by mrlhwlib...@gmail.com on 17 Dec 2013 at 2:10

GoogleCodeExporter commented 8 years ago
Hi, I've built the project from sources and have been testing it for the last 
two days. It seems the problem is solved.
Thanks!

Original comment by piotr.w....@gmail.com on 17 Dec 2013 at 8:44

GoogleCodeExporter commented 8 years ago
Great! Feel free to comment on this issue or email me if the issue happens 
again. I marked the issue fixed for now.

Original comment by mrlhwlib...@gmail.com on 17 Dec 2013 at 7:27