-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added Reconciliation Services disappear on restart #2627
Comments
Sorry to hear about your trouble. Could we get a copy of your I suspect that there is something corrupted in it (probably not properly escaped by us). |
Hi, thanks for offering help! Both files are incuded in this zip file: |
Thanks. I don't see anything obviously bad about those files and when I add the GND service, it remains after restart. |
I get it every time and I get it on two different Laptops, so I thought it should be reproducable. |
any ideas what I can try? this is really slowing down my work. I also teach some untis about OpenRefine and literally everyone using a Windows machine has this problem. So it must be reproducible for you. This is a problem that persists in 3.4 Beta btw! i can narrow it down to the problem happening with the
|
Googling the error makes me think that it's due to the wrong file encoding being used during JSON serialization for platforms which don't have UTF-8 as their default encoding (e.g. Windows). It's also only likely to be trigger when the JSON has non ASCII characters in it (e.g. "Körperschaft"). As a workaround, you could try adding
That assumes, of course, that I'm running Windows, which is not the case. I'll investigate a permanent fix to the JSON serializer. |
Fixes OpenRefine#2543 OpenRefine#2544 OpenRefine#2627. Always use UTF-8 to write JSON because platform default encoding might not be legal JSON (e.g. ISO 8859-1). Also be more conservative about keeping backups if we fail to write.
@tfmorris I can try to reproduce this on a Windows machine in mid-June and check your PR too. |
Fixes OpenRefine#2543. Fixes OpenRefine#2627. Always use UTF-8 to write JSON because platform default encoding might not be legal JSON (e.g. ISO 8859-1). Also be more conservative about keeping backups if we fail to write.
…2657) * Save preferences JSON using UTF-8 encoding. Bulletproof prefs load. Fixes #2543. Fixes #2627. Always use UTF-8 to write JSON because platform default encoding might not be legal JSON (e.g. ISO 8859-1). Also be more conservative about keeping backups if we fail to write. * Handle case where backup prefs is better than more recent * Recover from corrupted prefs with null starred list. Fixes #2544. Replaces null with an empty list. * Run tests with non-UTF-8 encoding Make sure that we don't depend on UTF-8 being the default encoding because it isn't true everywhere (e.g. Windows) * Add test for non-ASCII chars in workspace.json This depends on the default Java encoding being something other than UTF-8 to test properly.
…2657) * Save preferences JSON using UTF-8 encoding. Bulletproof prefs load. Fixes #2543. Fixes #2627. Always use UTF-8 to write JSON because platform default encoding might not be legal JSON (e.g. ISO 8859-1). Also be more conservative about keeping backups if we fail to write. * Handle case where backup prefs is better than more recent * Recover from corrupted prefs with null starred list. Fixes #2544. Replaces null with an empty list. * Run tests with non-UTF-8 encoding Make sure that we don't depend on UTF-8 being the default encoding because it isn't true everywhere (e.g. Windows) * Add test for non-ASCII chars in workspace.json This depends on the default Java encoding being something other than UTF-8 to test properly.
Describe the bug
All added Reconciliation Services other than the default "Wikidata (en)" disappear on restart.
The only hint I get in the console could be this line: [FileProjectManager] com.fasterxml.jackson.databind.JsonMappingException: Invalid UTF-8 middle byte 0x72
at [Source: (File); line: 1, column: 2280] (through reference chain: com.google.refine.io.FileProjectManager["preferences"]->com.google.refine.preference.PreferenceStore["entries"]) (368ms)
This only happens with OpenRefine 3.3 and 3.4 (Beta). I also tested 3.1 and 3.2 and encountered no problems there!
I tested it on two different Windows machines with the same bug persisting on both.
To Reproduce
Steps to reproduce the behavior:
Just add any reconciliation service, e.g. https://lobid.org/gnd/reconcile (GND service), shut down OpenRefine and restart
Expected behavior
all added Reconciliation Services should be preserved on restart
Desktop (please complete the following information):
OpenRefine (please complete the following information):
Datasets
all of my datasets are affected
The text was updated successfully, but these errors were encountered: