d1vanov/libquentier

Bug on the second sync attempt after having modified the same note between two syncs

Closed this issue · 2 comments

The error text says: "Internal error: empty note store url for the linked notebook's note store".

Some surrounding content from the log:

libquentier/src/synchronization/RemoteToLocalSynchronizationManager.cpp @ 4636 [Debug]: "Got authentication tokens for all linked notebooks, can proceed with their synchronization"
libquentier/src/synchronization/RemoteToLocalSynchronizationManager.cpp @ 4811 [Debug]: "RemoteToLocalSynchronizationManager::downloadLinkedNotebooksSyncChunks"
libquentier/src/synchronization/RemoteToLocalSynchronizationManager.cpp @ 4727 [Debug]: "RemoteToLocalSynchronizationManager::getLinkedNotebookSyncState"
libquentier/src/synchronization/SynchronizationManager_p.cpp @ 1680 [Debug]: "SynchronizationManagerPrivate::noteStoreForLinkedNotebookGuid: guid = ""a93f6851-5107-4575-adab-cf43aa54fd0d"
libquentier/src/synchronization/SynchronizationManager_p.cpp @ 1693 [Debug]: "Found no existing note store corresponding to linked notebook guid ""a93f6851-5107-4575-adab-cf43aa54fd0d"
libquentier/src/synchronization/SynchronizationManager_p.cpp @ 569 [Debug]: "SynchronizationManagerPrivate::onRemoteToLocalSyncFailure: ""Internal error: empty note store url for the linked notebook's note store"

Appears to be fixed in commit 8216b72 in branch development. Also fixed one awful bug with messed up iteration starting in one container and ending in another one.

Found the root cause: SynchronizationManagerPrivate::noteStoreForLinkedNotebookGuid method, when creating new NoteStore object, doesn't properly set its URL and there's nowhere to get this information from as note store URLs for linked notebooks are not persisted anywhere which is what most probably should be done.