Error during config save leads to major loss of config and account related data
Today I opened my Ring client and found out that most of my account and contact related information has disappeared.
- 4/5 accounts lost their avatar, display name and registered name
- 1 account lost all its linked devices
- 1 account lost all its linked devices except one
- several accounts MAY have lost some contacts
4/5 accounts are not functional anymore.
Only one account does not appear to have suffered from data loss. This account is still functional.
Affects: latest daemon master with latest LRC and GNOME client
Daemon logs when starting:
[1536072827.730| 7916|ringaccount.cpp :1421 ] [Account 7c2c46b550fdf679] loading Ring account
[1536072827.730| 7916|ringaccount.cpp :898 ] [Account 7c2c46b550fdf679] loading identity: ring_device.crt ring_device.key
[1536072827.878| 7916|certstore.cpp :75 ] CertificateStore: loaded 327 local certificates.
[1536072827.880| 7916|ringaccount.cpp :836 ] [Account 7c2c46b550fdf679] checking device receipt for 7ba67dbee50ab99fe44a1daa0992a8b5d11b1a21
[1536072827.881| 7916|ringaccount.cpp :891 ] [Account 7c2c46b550fdf679] ring:7ba67dbee50ab99fe44a1daa0992a8b5d11b1a21 device 459eda6e5c5a5819b19a157e4fc1e7491bea644d receipt checked successfully
[1536072827.881| 7916|ringaccount.cpp :2695 ] [Account 7c2c46b550fdf679] loading known account device 459eda6e5c5a5819b19a157e4fc1e7491bea644d
[1536072827.882| 7916|ringaccount.cpp :2406 ] [Account 7c2c46b550fdf679] Found account device: 459eda6e5c5a5819b19a157e4fc1e7491bea644d
[1536072827.883| 7916|ringaccount.cpp :2992 ] [Account 7c2c46b550fdf679] new contact: 00e29c5d3d518f96297b032ca21f5f8770573da8
[1536072827.884| 7916|ringaccount.cpp :2992 ] [Account 7c2c46b550fdf679] new contact: 3c2a2fae84be1713e6d68d39360faa7441220c00
[1536072827.885| 7916|ringaccount.cpp :2992 ] [Account 7c2c46b550fdf679] new contact: ded6a9d278d05adac3265a0a69d07bd264e0861a
[1536072827.886| 7916|ringaccount.cpp :3138 ] [Account 7c2c46b550fdf679] error loading trust requests: Can't read file: incomingTrustRequests
[1536072827.886| 7916|manager.cpp :2792 ] Found abandonned Ring account: /home/hlefeuvre/.local/share/ring/500c78989b647104/export.gz
[1536072828.803| 7916|ringaccount.cpp :1421 ] [Account 7170fb591202047e] loading Ring account
[1536072828.803| 7916|ringaccount.cpp :898 ] [Account 7170fb591202047e] loading identity: ring_device.crt ring_device.key
[1536072828.806| 7916|ringaccount.cpp :836 ] [Account 7170fb591202047e] checking device receipt for e3494b660ea1f988d4d66ed96811d9445eaa093c
[1536072828.807| 7916|ringaccount.cpp :891 ] [Account 7170fb591202047e] ring:e3494b660ea1f988d4d66ed96811d9445eaa093c device 7646c5dad40347ad8dc3524077a533f539d8a719 receipt checked successfully
[1536072828.807| 7916|ringaccount.cpp :2695 ] [Account 7170fb591202047e] loading known account device 7646c5dad40347ad8dc3524077a533f539d8a719
[1536072828.808| 7916|ringaccount.cpp :2406 ] [Account 7170fb591202047e] Found account device: 7646c5dad40347ad8dc3524077a533f539d8a719
[1536072828.809| 7916|ringaccount.cpp :2992 ] [Account 7170fb591202047e] new contact: 00e29c5d3d518f96297b032ca21f5f8770573da8
[1536072828.810| 7916|ringaccount.cpp :2992 ] [Account 7170fb591202047e] new contact: 3c2a2fae84be1713e6d68d39360faa7441220c00
[1536072828.811| 7916|ringaccount.cpp :3138 ] [Account 7170fb591202047e] error loading trust requests: Can't read file: incomingTrustRequests
[1536072828.811| 7916|manager.cpp :2792 ] Found abandonned Ring account: /home/hlefeuvre/.local/share/ring/2c8f461a28b01e2/export.gz
[1536072828.813| 7916|ringaccount.cpp :1421 ] [Account da65023c64f3d1a5] loading Ring account
[1536072828.814| 7916|ringaccount.cpp :898 ] [Account da65023c64f3d1a5] loading identity: ring_device.crt ring_device.key
[1536072828.817| 7916|ringaccount.cpp :836 ] [Account da65023c64f3d1a5] checking device receipt for 4a76358f13177319b906f1cc511175394e09c01a
[1536072828.818| 7916|ringaccount.cpp :891 ] [Account da65023c64f3d1a5] ring:4a76358f13177319b906f1cc511175394e09c01a device d524cf3a29c2db45d927cba48002a03ef73d2276 receipt checked successfully
[1536072828.819| 7916|ringaccount.cpp :2688 ] [Account da65023c64f3d1a5] error loading devices: Can't read file: knownDevicesNames
[1536072828.819| 7916|ringaccount.cpp :3022 ] [Account da65023c64f3d1a5] error loading contacts: Can't read file: contacts
[1536072828.819| 7916|ringaccount.cpp :3138 ] [Account da65023c64f3d1a5] error loading trust requests: Can't read file: incomingTrustRequests
Client logs when starting:
** (gnome-ring:7775): DEBUG: updating RING account display name to:
** (gnome-ring:7775): DEBUG: updating RING account display name to:
** (gnome-ring:7775): DEBUG: updating RING account display name to:
** (gnome-ring:7775): DEBUG: updating RING account display name to:
Trying to create a certificate node with an already used id. This can have unforneen consequences
As you can see the daemon is not able to load account information. In fact these files have been wiped out:
.local/share/ring/
├── 2c8f461a28b01e2
│ ├── contacts
│ ├── export.gz
│ ├── knownDevicesNames
│ ├── ring_device.crt
│ └── ring_device.key
├── 500c78989b647104
│ ├── export.gz
│ ├── ring_device.crt
│ └── ring_device.key
├── 7170fb591202047e
│ ├── config.yml
│ ├── contacts
│ ├── export.gz
│ ├── knownDevicesNames
│ ├── ring_device.crt
│ └── ring_device.key
├── 7c2c46b550fdf679
│ ├── config.yml
│ ├── contacts
│ ├── export.gz
│ ├── knownDevicesNames
│ ├── ring_device.crt
│ └── ring_device.key
├── 9fba7138a1fc3f51
│ ├── config.yml
│ ├── contacts
│ ├── export.gz
│ ├── incomingTrustRequests
│ ├── knownDevicesNames
│ ├── ring_device.crt
│ └── ring_device.key
.
.
.
This bug has been identified on at least 2 different computers with different builds and accounts. One of these two computers might even run a released version of Ring.