Laptop & iPad Sync Issue

Hi,
I’ve updated to Codebook on both my laptop and i-pad without apparent trouble. However, I now can’t sync them. The sync button on the laptop is greyed out as described above. I haven’t touched any keys, haven’t edited anything, have re-booted both apps, and still the sync button is greyed out on my laptop.
Any suggestion?

Hello @carol.darwin

Synchronizing between a mobile device such as your iPad and Codebook on your laptop must be initiated from your iPad. Can you try initiating a WiFi sync from your iPad while you are signed into Codebook on your laptop? We have some instructions for getting started with sync here.

Thanks. I’ve done that and the sync started. However, I then got an error report and the sync didn’t complete.

Hello @carol.darwin

What error message do you receive during the sync?

I’ve copied it below - it’s very long

2016-01-06 11:55:18.0698|INFO|Zetetic.Strip.App|using database file C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 11:55:18.0698|INFO|Zetetic.Strip.App|using remote database file C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db.remote
2016-01-06 11:55:18.0698|INFO|Zetetic.Strip.App|using settings database file C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\settings.db
2016-01-06 11:55:18.8911|INFO|Zetetic.Updater.UpdateClient|initializing update check at https://getstrip.zetetic.net/downloads/strip/windows/StripManifest.xml
2016-01-06 11:55:31.4004|INFO|Zetetic.Strip.App|attempting to open database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 11:55:31.8907|INFO|Zetetic.Strip.App|successfully opened database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 11:55:31.8907|INFO|Zetetic.Strip.App|attempting to open database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\settings.db
2016-01-06 11:55:32.1969|INFO|Zetetic.Strip.App|successfully opened database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 11:55:33.6118|INFO|Zetetic.Strip.PreferencesWindowViewModel|startup link already exists
2016-01-06 11:55:45.8399|INFO|Zetetic.Strip.MainWindow|MainWindow::Closing begin invoke
2016-01-06 11:55:45.8399|ERROR|Zetetic.StripLib.Sync.NetworkSyncService|Listener stopped or cancelled
Exception:System.Net.Sockets.SocketException (0x80004005): A blocking operation was interrupted by a call to WSACancelBlockingCall
at System.Net.Sockets.Socket.Accept()
at System.Net.Sockets.TcpListener.AcceptSocket()
at Zetetic.StripLib.Sync.NetworkSyncService.Listen()
2016-01-06 11:55:47.1568|INFO|Zetetic.Strip.MainWindow|MainWindow::Closing end invoke
2016-01-06 11:56:30.7772|INFO|Zetetic.Strip.App|attempting to open database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 11:56:31.0193|INFO|Zetetic.Strip.App|successfully opened database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 11:56:31.0193|INFO|Zetetic.Strip.App|attempting to open database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\settings.db
2016-01-06 11:56:31.0193|INFO|Zetetic.Strip.App|successfully opened database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 11:56:31.1554|INFO|Zetetic.Strip.PreferencesWindowViewModel|startup link already exists
2016-01-06 12:06:44.3937|ERROR|Zetetic.StripLib.Sync.NetworkSyncService|Listener stopped or cancelled
Exception:System.Net.Sockets.SocketException (0x80004005): A blocking operation was interrupted by a call to WSACancelBlockingCall
at System.Net.Sockets.Socket.Accept()
at System.Net.Sockets.TcpListener.AcceptSocket()
at Zetetic.StripLib.Sync.NetworkSyncService.Listen()
2016-01-06 17:07:05.8950|INFO|Zetetic.Strip.App|attempting to open database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 17:07:06.9156|ERROR|Zetetic.Strip.App|error occured while opening database
Exception:System.ApplicationException: Invalid password
at Zetetic.StripLib.SQLCipherContext.Open()
at Zetetic.Strip.App.OpenApplicationDatabase()
2016-01-06 17:07:24.8525|INFO|Zetetic.Strip.App|attempting to open database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 17:07:25.6310|ERROR|Zetetic.Strip.App|error occured while opening database
Exception:System.ApplicationException: Invalid password
at Zetetic.StripLib.SQLCipherContext.Open()
at Zetetic.Strip.App.OpenApplicationDatabase()
2016-01-06 17:08:08.1527|INFO|Zetetic.Strip.App|attempting to open database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 17:08:08.4369|INFO|Zetetic.Strip.App|successfully opened database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 17:08:08.4369|INFO|Zetetic.Strip.App|attempting to open database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\settings.db
2016-01-06 17:08:08.6660|INFO|Zetetic.Strip.App|successfully opened database C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 17:08:08.7411|ERROR|Zetetic.StripLib.Sync.NetworkSyncService|Listener stopped or cancelled
Exception:System.Net.Sockets.SocketException (0x80004005): Only one usage of each socket address (protocol/network address/port) is normally permitted
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at System.Net.Sockets.TcpListener.Start(Int32 backlog)
at Zetetic.StripLib.Sync.NetworkSyncService.Listen()
2016-01-06 17:08:09.4295|INFO|Zetetic.Strip.PreferencesWindowViewModel|startup link already exists
2016-01-06 17:10:46.4617|INFO|Zetetic.Strip.PreferencesWindowViewModel|startup link already exists
2016-01-06 17:10:48.4160|ERROR|Zetetic.StripLib.Sync.NetworkSyncService|Listener stopped or cancelled
Exception:System.Net.Sockets.SocketException (0x80004005): Only one usage of each socket address (protocol/network address/port) is normally permitted
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at System.Net.Sockets.TcpListener.Start(Int32 backlog)
at Zetetic.StripLib.Sync.NetworkSyncService.Listen()
2016-01-06 17:11:39.0995|INFO|Zetetic.StripLib.Sync.NetworkSyncService|client requested protocol version 1
2016-01-06 17:11:39.3987|ERROR|Zetetic.Strip.App|Unhandled exception:System.InvalidOperationException: Cannot set Owner property to a Window that has been closed.
at System.Windows.Window.set_Owner(Window value)
at Zetetic.Strip.MainWindow.b__2b()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) stack trace: at System.Windows.Window.set_Owner(Window value)
at Zetetic.Strip.MainWindow.b__2b()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
2016-01-06 17:11:39.5698|INFO|Zetetic.StripLib.Sync.NetworkSyncService|client requested operation type 1
2016-01-06 17:11:40.2743|INFO|Zetetic.StripLib.SQLCipherContext|BackupToPath C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db to C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\backups\strip.db.2016-01-06_171140
2016-01-06 17:11:40.3123|INFO|Zetetic.StripLib.SyncNetworkUtils|preparing to read 124928 bytes of data from client into file C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db.remote
2016-01-06 17:11:40.7846|INFO|Zetetic.StripLib.Deduplicator|running ddl statement: UPDATE entries
SET category_id = (
SELECT c1.id
FROM
categories c1 INNER JOIN categories c2 ON c2.name = c1.name
INNER JOIN ditto_reps r1 ON c1.id LIKE r1.rep_id || '-%'
WHERE c1.id <> c2.id AND c2.id = category_id
ORDER BY r1.is_local ASC, c1.created_at DESC
LIMIT 1
)
WHERE
category_id IN (
SELECT c1.id
FROM
categories c1 INNER JOIN categories c2 ON (c2.name = c1.name AND c1.id <> c2.id)
INNER JOIN ditto_reps r1 ON c1.id LIKE r1.rep_id || '-%'
INNER JOIN ditto_reps r2 ON c2.id LIKE r2.rep_id || '-%'
WHERE
(r1.is_local = 1 OR (r1.is_local = 0 AND r2.is_local = 0 AND c1.created_at < c2.created_at))
);
2016-01-06 17:11:40.7846|INFO|Zetetic.StripLib.Deduplicator|running ddl statement: DELETE FROM categories WHERE id IN (
SELECT c1.id
FROM
categories c1 INNER JOIN categories c2 ON (c2.name = c1.name AND c1.id <> c2.id)
INNER JOIN ditto_reps r1 ON c1.id LIKE r1.rep_id || '-%'
INNER JOIN ditto_reps r2 ON c2.id LIKE r2.rep_id || '-%'
WHERE
(r1.is_local = 1 OR (r1.is_local = 0 AND r2.is_local = 0 AND c1.created_at < c2.created_at))
);
2016-01-06 17:11:40.7846|INFO|Zetetic.StripLib.Deduplicator|running ddl statement: UPDATE fields
SET type_id = (
SELECT t1.id
FROM
types t1 INNER JOIN types t2 ON (t2.name = t1.name AND t2.mode = t1.mode)
INNER JOIN ditto_reps r1 ON t1.id LIKE r1.rep_id || '-%'
WHERE t1.id <> t2.id AND t2.id = type_id
ORDER BY r1.is_local ASC, t1.created_at DESC
LIMIT 1
)
WHERE
type_id IN (
SELECT t1.id
FROM
types t1 INNER JOIN types t2 ON (t2.name = t1.name AND t1.id <> t2.id)
INNER JOIN ditto_reps r1 ON t1.id LIKE r1.rep_id || '-%'
INNER JOIN ditto_reps r2 ON t2.id LIKE r2.rep_id || '-%'
WHERE
(r1.is_local = 1 OR (r1.is_local = 0 AND r2.is_local = 0 AND t1.created_at < t2.created_at))
);
2016-01-06 17:11:40.7846|INFO|Zetetic.StripLib.Deduplicator|running ddl statement: DELETE FROM types WHERE id IN (
SELECT t1.id
FROM
types t1 INNER JOIN types t2 ON (t2.name = t1.name AND t1.id <> t2.id)
INNER JOIN ditto_reps r1 ON t1.id LIKE r1.rep_id || '-%'
INNER JOIN ditto_reps r2 ON t2.id LIKE r2.rep_id || '-%'
WHERE
(r1.is_local = 1 OR (r1.is_local = 0 AND r2.is_local = 0 AND t1.created_at < t2.created_at))
);
2016-01-06 17:11:41.0958|INFO|Zetetic.StripLib.Sync.NetworkSyncService|deleteing remote file C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db.remote
2016-01-06 17:11:41.0958|INFO|Zetetic.StripLib.SyncNetworkUtils|preparing to send 131072 bytes of data to client from file C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 17:11:41.6402|INFO|Zetetic.StripLib.Sync.NetworkSyncService|The syncronization process was completed succesfully
2016-01-06 17:12:31.3991|ERROR|Zetetic.Strip.App|Unhandled exception:System.InvalidOperationException: Cannot set Owner property to a Window that has been closed.
at System.Windows.Window.set_Owner(Window value)
at Zetetic.Strip.MainWindow.b__2b()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) stack trace: at System.Windows.Window.set_Owner(Window value)
at Zetetic.Strip.MainWindow.b__2b()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
2016-01-06 17:12:31.3991|INFO|Zetetic.StripLib.Sync.NetworkSyncService|client requested protocol version 1
2016-01-06 17:12:31.7634|INFO|Zetetic.StripLib.Sync.NetworkSyncService|client requested operation type 1
2016-01-06 17:12:31.7634|INFO|Zetetic.StripLib.SQLCipherContext|BackupToPath C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db to C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\backups\strip.db.2016-01-06_171231
2016-01-06 17:12:31.7634|INFO|Zetetic.StripLib.SyncNetworkUtils|preparing to read 130048 bytes of data from client into file C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db.remote
2016-01-06 17:12:32.3127|INFO|Zetetic.StripLib.Deduplicator|running ddl statement: UPDATE entries
SET category_id = (
SELECT c1.id
FROM
categories c1 INNER JOIN categories c2 ON c2.name = c1.name
INNER JOIN ditto_reps r1 ON c1.id LIKE r1.rep_id || '-%'
WHERE c1.id <> c2.id AND c2.id = category_id
ORDER BY r1.is_local ASC, c1.created_at DESC
LIMIT 1
)
WHERE
category_id IN (
SELECT c1.id
FROM
categories c1 INNER JOIN categories c2 ON (c2.name = c1.name AND c1.id <> c2.id)
INNER JOIN ditto_reps r1 ON c1.id LIKE r1.rep_id || '-%'
INNER JOIN ditto_reps r2 ON c2.id LIKE r2.rep_id || '-%'
WHERE
(r1.is_local = 1 OR (r1.is_local = 0 AND r2.is_local = 0 AND c1.created_at < c2.created_at))
);
2016-01-06 17:12:32.3127|INFO|Zetetic.StripLib.Deduplicator|running ddl statement: DELETE FROM categories WHERE id IN (
SELECT c1.id
FROM
categories c1 INNER JOIN categories c2 ON (c2.name = c1.name AND c1.id <> c2.id)
INNER JOIN ditto_reps r1 ON c1.id LIKE r1.rep_id || '-%'
INNER JOIN ditto_reps r2 ON c2.id LIKE r2.rep_id || '-%'
WHERE
(r1.is_local = 1 OR (r1.is_local = 0 AND r2.is_local = 0 AND c1.created_at < c2.created_at))
);
2016-01-06 17:12:32.3127|INFO|Zetetic.StripLib.Deduplicator|running ddl statement: UPDATE fields
SET type_id = (
SELECT t1.id
FROM
types t1 INNER JOIN types t2 ON (t2.name = t1.name AND t2.mode = t1.mode)
INNER JOIN ditto_reps r1 ON t1.id LIKE r1.rep_id || '-%'
WHERE t1.id <> t2.id AND t2.id = type_id
ORDER BY r1.is_local ASC, t1.created_at DESC
LIMIT 1
)
WHERE
type_id IN (
SELECT t1.id
FROM
types t1 INNER JOIN types t2 ON (t2.name = t1.name AND t1.id <> t2.id)
INNER JOIN ditto_reps r1 ON t1.id LIKE r1.rep_id || '-%'
INNER JOIN ditto_reps r2 ON t2.id LIKE r2.rep_id || '-%'
WHERE
(r1.is_local = 1 OR (r1.is_local = 0 AND r2.is_local = 0 AND t1.created_at < t2.created_at))
);
2016-01-06 17:12:32.3127|INFO|Zetetic.StripLib.Deduplicator|running ddl statement: DELETE FROM types WHERE id IN (
SELECT t1.id
FROM
types t1 INNER JOIN types t2 ON (t2.name = t1.name AND t1.id <> t2.id)
INNER JOIN ditto_reps r1 ON t1.id LIKE r1.rep_id || '-%'
INNER JOIN ditto_reps r2 ON t2.id LIKE r2.rep_id || '-%'
WHERE
(r1.is_local = 1 OR (r1.is_local = 0 AND r2.is_local = 0 AND t1.created_at < t2.created_at))
);
2016-01-06 17:12:32.5199|INFO|Zetetic.StripLib.Sync.NetworkSyncService|deleteing remote file C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db.remote
2016-01-06 17:12:32.5199|INFO|Zetetic.StripLib.SyncNetworkUtils|preparing to send 131072 bytes of data to client from file C:\Users\carol\AppData\Roaming\Zetetic LLC\Strip\strip.db
2016-01-06 17:12:33.3064|INFO|Zetetic.StripLib.Sync.NetworkSyncService|The syncronization process was completed succesfully
2016-01-06 17:23:59.5518|ERROR|Zetetic.Strip.App|Unhandled exception:System.InvalidOperationException: Cannot set Owner property to a Window that has been closed.
at System.Windows.Window.set_Owner(Window value)
at Zetetic.Strip.MainWindow.b__2b()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) stack trace: at System.Windows.Window.set_Owner(Window value)
at Zetetic.Strip.MainWindow.b__2b()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
2016-01-06 17:23:59.5518|INFO|Zetetic.StripLib.Sync.NetworkSyncService|client requested protocol version 1

Hello,

Thank you for whatever you’ve done. The sync has now completed satisfactorily.

Hello @carol.darwin

Thank you for getting back to us, we are glad to hear that you were able to successfully complete a sync.