Mnemosyne Sync Error

111 views
Skip to first unread message

Anonymous Anonymous

unread,
Feb 5, 2020, 9:53:10 AM2/5/20
to mnemosyne-proj-users
Hi there,

After successfully synchronizing a Mnemosyne 2.0.1 desktop 'A' with a Mnemosyne 2.0.1 laptop 'B' on foreign network, I began using laptop B to perform daily repetitions.

Now I would like to send back the repetition progress made on the laptop B to desktop A, so that I may resume learning with A!

However, I am having difficulty.  When I attempt to perform a sync from B to A everything is fine until a dialog asks about whether to 'keep local version' or 'fetch remote'.  If 'fetch remote' is selected, the progress made on B is overwritten with the now outdated A.  If 'keep local version' is selected on B, the following error is presented.

Mnemosyne Error


Uncaught exception!

Traceback (innermost last):

  File "/Applications/Mnemosyne.app/Contents/Resources/lib/python2.7/mnemosyne/pyqt_ui/main_wdgt.py", line 201, in configure

  File "/Applications/Mnemosyne.app/Contents/Resources/lib/python2.7/mnemosyne/libmnemosyne/controllers/default_controller.py", line 767, in show_configuration_dialog

  File "/Applications/Mnemosyne.app/Contents/Resources/lib/python2.7/mnemosyne/libmnemosyne/review_controllers/SM2_controller.py", line 75, in reset_but_try_to_keep_current_card

  File "/Applications/Mnemosyne.app/Contents/Resources/lib/python2.7/mnemosyne/libmnemosyne/schedulers/SM2_mnemosyne.py", line 211, in rebuild_queue

  File "/Applications/Mnemosyne.app/Contents/Resources/lib/python2.7/mnemosyne/libmnemosyne/databases/SQLite_statistics.py", line 42, in active_count

  File "/Applications/Mnemosyne.app/Contents/Resources/lib/python2.7/mnemosyne/libmnemosyne/databases/_sqlite3.py", line 71, in execute

 ProgrammingError: SQLite objects created in a thread can only be used in that same thread.The object was created in thread id 4737470464 and this is thread id 140735087799488


I had thought this was due to an older version of Mnemosyne so updated to 2.7, but when I sync with that it wants to refetch the original data from A since it can't tell that B has been already built from A.

So how can I send back the repetition progress made on B to A?  Do I need to setup a sync server on B??

Thank you very much in advance!

Peter Bienstman (UGent-imec)

unread,
Feb 5, 2020, 9:57:40 AM2/5/20
to mnemosyne-...@googlegroups.com

Hi,

 

Dedicate one of your machines as a server and activate the sync server there. Your other machine is the client. On the client, make sure you start from an empty default.db database, and then sync with the server. It’s always the client that initiates the sync.

 

Hope this helps,

 

Peter

--
You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mnemosyne-proj-users/97693931-39b3-4ba1-861f-a5d2aed75b0c%40googlegroups.com.

Anonymous Anonymous

unread,
Feb 5, 2020, 2:30:25 PM2/5/20
to mnemosyne-proj-users
Hi, thanks for clarifying.

Ok I did that at first and synchronized successfully once.

Now I'm trying to send the repetition progress from the client back to the server, but can't seem to do it successfully.  The client can login but the server hangs with the error described above after selecting to 'keep local version'.  'Fetch remote' works but it overwrites the client's repetition progress with the ancient server state. 

Any idea how to send back my repetition progress from the client?

Thanks!

Peter Bienstman (UGent-imec)

unread,
Feb 6, 2020, 3:29:05 AM2/6/20
to mnemosyne-...@googlegroups.com

Hi,

 

When syncing, you have to make sure that you don’t revise the same cards on the client and the server at the same time, otherwise you’ll get sync conflicts. Is that what is going on?

 

Cheers,

 

Peter

 

From: mnemosyne-...@googlegroups.com <mnemosyne-...@googlegroups.com> On Behalf Of Anonymous Anonymous


Sent: 05 February 2020 20:30
To: mnemosyne-proj-users <mnemosyne-...@googlegroups.com>

--

You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-u...@googlegroups.com.

Anonymous Anonymous

unread,
Feb 6, 2020, 6:07:11 AM2/6/20
to mnemosyne-proj-users
I reviewed one or two cards on the server after the failed client to server sync, just to see if the scheduled counter would update.  However, I was getting this error before doing that repetition, even when there were no conflicts.

Is there anyway to tell which cards are causing the conflict, or undoing the progress made.  I guess I could restore the server from a backup or maybe look in the browser and delete the card?  I expressly avoided most repetitions on the server during client use for this very reason.  I only did one upon return after a failed sync.



I think the best clue to the error may be here: reset_but_try_to_keep_current_card

SQLite objects created in a thread can only be used in that same thread.The object was created in thread id 4737470464 and this is thread id 140735087799488

Peter Bienstman (UGent-imec)

unread,
Feb 6, 2020, 6:12:39 AM2/6/20
to mnemosyne-...@googlegroups.com

Hi,

 

Even reviewing a single card on both the client and the server will cause a sync conflict, and it will ask you which of the two versions you want to keep (this is like what you write ‘undoing the progress made’).

 

However, after this full sync, there should be no more issues as long as you don’t review a new card on both machines.

 

If there are still problems then, just let me know what exactly happens (the error message you post are still from a very old version of Mnemosyne).

--

You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-u...@googlegroups.com.

Message has been deleted

Anonymous Anonymous

unread,
Feb 7, 2020, 12:24:38 PM2/7/20
to mnemosyne-proj-users
What if I tried to just manually send over the database from the client to the server and recover from the client's default.db on the server?  Would that work?  (I don't care about losing the 1 repetition on the server)

To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-users+unsub...@googlegroups.com.

Peter Bienstman (UGent-imec)

unread,
Feb 8, 2020, 9:19:51 AM2/8/20
to mnemosyne-...@googlegroups.com

Hi,

 

I suggest you do the following:

 

-          Pick one default.db you want to keep (either from the client or the server)

-          Copy that databe to the server database

-          Completely delete the client data directory (https://mnemosyne-proj.org/help/backups.php) (or better move it to a different location as a backup)

-          From an empty client database, do a sync with server. It will download the complete server database

-          From now on, if you’re careful not to review the same card on the client and the server, you will not get sync conflicts, and the sync will be much faster, since it only sends the modified cards along.

 

Cheers,

 

Peter

 

To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-u...@googlegroups.com.

--

You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group.

To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mnemosyne-proj-users/157930cf-8f8e-4b90-a820-ed3bb65838a9%40googlegroups.com.

mnemosy...@gmail.com

unread,
Feb 12, 2020, 2:04:42 PM2/12/20
to mnemosyne-proj-users
You might want to check the prerelease of 2.7.1: https://www.dropbox.com/s/56llxs8hrdq17bl/mnemosyne-2.7.1-pre-setup.exe?dl=0

I've fixed a bug there that was tripping up the sync in some cases.

Cheers,

Peter

To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-users+unsub...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group.

To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-users+unsub...@googlegroups.com.

Anonymous Anonymous

unread,
Feb 13, 2020, 7:16:05 PM2/13/20
to mnemosyne-proj-users
Hey Peter,

Thank you for the help.  I believe this worked, sending the client default.db database manually to the server and using that.  I believe I now have the client's repetition progress on my desktop.  Hurrah!  We'll see about the syncing back and forth later but I'm sure that'll work too.

Unfortunately, I just noticed that I now have another issue now which is likely unrelated.  None of my videos are playing in the cards, not even if I make a new card with a video file from my computer.  Any thoughts?  Should I make a new topic or for this question?  I recently updated my operating system to allow me to install Menmosyne 2.7, I wonder if that has anything to do with it..

Anyway thanks for all the help with the first issue!

To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-users+unsub...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group.

To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-users+unsub...@googlegroups.com.

Anonymous Anonymous

unread,
Feb 13, 2020, 8:08:29 PM2/13/20
to mnemosyne-proj-users
Looking into it more, I can get Mnemosyne 2.0.1 to play the videos in the video tags, just not Mnemosyne 2.7.

peter.b...@gmail.com

unread,
Feb 14, 2020, 4:03:32 AM2/14/20
to mnemosyne-...@googlegroups.com

Video’s seem to work fine here on my setup with 2.7.1. Note that they don’t play in Mnemosyne itself, but Mnemosyne opens a mplayer window to play a video.

To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-u...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group.

To unsubscribe from this group and stop receiving emails from it, send an email to mnemosyne-proj-u...@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "mnemosyne-proj-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mnemosyne-proj-users/RUhfa1WgiGk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mnemosyne-proj-u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mnemosyne-proj-users/95ae11c0-cadc-4d64-a6e7-b3a2487ce70a%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages