Hi all,
I just upgraded to 3.8.7 for OSX, running Firefox, and am working through the new Wikilearn module "OpenRefine for Wikidata" with a sample dataset. However at the point of reconciliation with Wikidata I get no entity suggestions, and forging ahead simply quits the process without reconciliation. Other projects of mine also failed reconciliation, both with Wikidata and Commons. I double checked that I was using the right Commons and Wikidata services, deleting and reinstalling them from the test bench suggestions, but no change. What could be going wrong here?
The service seems to be working correctly and returns data: https://wikidata.reconci.link/en/suggest/type?prefix=male+organism
responds with:
{
"result": [
{
"description": "male animal or plant",
"id": "Q44148",
"name": "male organism"
}
]
}
Maybe play with editing a single cell under gender and facet by flagging only that row and try again? My thinking is that there might be hidden characters, maybe not?
Also try the bottom option "Reconcile against type:" and type in male organism
and see if it populates in that field?
Otherwise, general network connectivity issues, firewall, etc.?
Tried flagging a single row and reconciling one cell in that facet: unsuccessful. I would expect no problems with this dataset, as it's the official one distributed with the WikiLearn OpenRefine course.
Reconcile against type: "male organism": unsuccessful.
Tried two other different OpenRefine projects that had successfully reconciled against Wikidata in the past: unsuccesful, so there are no hidden characters.
Tried in Chrome instead of Firefox: unsuccessful.
Connect via my phone's data instead of WiFi to get around connectivity or firewall issues: unsuccessful.
The URL you suggested runs successfully, so it's not the service or my connection to it.
OK. I'm absolutely stumped.
@antonin_d any ideas?
Tested against 3.8.7 on Mac. I was able to invoke the reconciliation service and it worked properly. can you confirm that you selected wikidata reconciliation service.
It's curious! It could be useful to check your browser's console when this happens (looking for any error, generally displayed in red), as well as the OpenRefine server logs:
It could be useful to paste those here to help us debug this.
Yes, I had selected the Wikidata reconciliation service, not the deprecated service in your screenshot. But just to be sure, in case we'd all gone back to that service and nobody told me, I added that one as well and tried it. Also unsuccessful.
OK: here's the entire log for starting OpenRefine, attempting reconciliation a couple of times, flagging and unflagging a row. You can see that absolutely nothing happens in the log when I try to reconcile, not even an error message. The only errors I can see are trying to run macros.vm
Last login: Fri Jan 10 08:15:43 on console
mikedickison@Arandano ~ % /Applications/OpenRefine.app/Contents/MacOS/JavaAppLauncher ; exit;
08:31:57.826 [ refine_server] Starting Server bound to '127.0.0.1:3333' (0ms)
08:31:57.869 [ refine_server] Initializing context: '/' from '/Applications/OpenRefine.app/Contents/Resources/webapp' (42ms)
08:32:00.080 [ refine] Starting OpenRefine 3.8.7 [TRUNK]... (2211ms)
08:32:00.081 [ refine] initializing FileProjectManager with dir (0ms)
08:32:00.081 [ refine] /Users/mikedickison/Library/Application Support/OpenRefine (0ms)
08:32:00.766 [ velocity] ResourceManager : unable to find resource 'macros.vm' in any resource loader. (684ms)
08:32:00.766 [ velocity] Velocimacro : Velocimacro : Error using VM library : macros.vm (0ms)
org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'macros.vm'
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:483)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:354)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1400)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1380)
at org.apache.velocity.runtime.VelocimacroFactory.initVelocimacro(VelocimacroFactory.java:202)
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:261)
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:589)
at org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:135)
at edu.mit.simile.butterfly.Butterfly.configureModules(Butterfly.java:862)
at edu.mit.simile.butterfly.Butterfly.configure(Butterfly.java:428)
at edu.mit.simile.butterfly.Butterfly.init(Butterfly.java:295)
at org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1305)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:633)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:486)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:731)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:524)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:822)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.google.refine.ValidateHostHandler.handle(ValidateHostHandler.java:93)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
08:32:00.771 [ butterfly] Error enabling javascript control (4ms)
org.apache.velocity.exception.VelocityException: Velocimacro : Error using VM library : macros.vm
at org.apache.velocity.runtime.VelocimacroFactory.initVelocimacro(VelocimacroFactory.java:219)
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:261)
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:589)
at org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:135)
at edu.mit.simile.butterfly.Butterfly.configureModules(Butterfly.java:862)
at edu.mit.simile.butterfly.Butterfly.configure(Butterfly.java:428)
at edu.mit.simile.butterfly.Butterfly.init(Butterfly.java:295)
at org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1305)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:633)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:486)
at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:731)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:524)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:822)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.google.refine.ValidateHostHandler.handle(ValidateHostHandler.java:93)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'macros.vm'
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:483)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:354)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1400)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1380)
at org.apache.velocity.runtime.VelocimacroFactory.initVelocimacro(VelocimacroFactory.java:202)
... 42 more
08:32:02.044 [ refine] POST /command/core/load-language (1272ms)
08:32:02.077 [ refine] GET /command/core/get-preference (33ms)
08:32:02.095 [ refine] POST /command/core/load-language (17ms)
08:32:02.102 [ refine] POST /command/core/load-language (6ms)
08:32:02.106 [ refine] POST /command/core/load-language (3ms)
08:32:02.229 [ refine] GET /command/core/get-importing-configuration (123ms)
08:32:02.246 [ refine] GET /command/core/get-all-project-tags (17ms)
08:32:02.254 [ refine] GET /command/core/get-all-project-metadata (7ms)
08:32:02.309 [ refine] GET /command/core/get-csrf-token (55ms)
08:32:02.356 [ refine] GET /command/core/get-languages (47ms)
08:32:02.442 [ refine] GET /command/core/get-version (85ms)
08:32:02.546 [ refine] GET /command/database/saved-connection (103ms)
08:32:02.594 [ refine] GET /command/core/get-preference (48ms)
08:32:37.970 [ refine] POST /command/core/load-language (35375ms)
08:32:37.991 [ refine] GET /command/core/get-preference (21ms)
08:32:37.992 [ refine] GET /command/core/get-preference (1ms)
08:32:38.002 [ refine] POST /command/core/load-language (9ms)
08:32:38.008 [ refine] POST /command/core/load-language (6ms)
08:32:38.013 [ refine] POST /command/core/load-language (5ms)
08:32:38.018 [ refine] POST /command/core/load-language (4ms)
08:32:38.038 [ refine] GET /command/core/get-project-metadata (20ms)
08:32:38.038 [ refine] GET /command/core/get-models (0ms)
08:32:38.044 [ refine] GET /command/core/get-all-preferences (5ms)
08:32:38.342 [..le.refine.model.Project] Loaded project 1957421408801 from disk in 0 sec(s) (298ms)
08:32:38.463 [ refine] POST /command/core/get-rows (120ms)
08:32:38.463 [ refine] GET /command/core/get-history (0ms)
08:32:38.507 [ refine] GET /command/core/get-history (44ms)
08:32:38.514 [ refine] GET /command/core/get-preference (6ms)
08:33:15.366 [ refine] GET /command/core/get-csrf-token (36852ms)
08:33:15.393 [ refine] POST /command/core/annotate-one-row (26ms)
08:33:15.491 [ refine] GET /command/core/get-history (98ms)
08:33:15.508 [ refine] GET /command/core/get-preference (17ms)
08:33:24.332 [ refine] GET /command/core/get-csrf-token (8824ms)
08:33:24.355 [ refine] POST /command/core/annotate-one-row (22ms)
08:33:24.382 [ refine] GET /command/core/get-history (27ms)
08:33:24.402 [ refine] GET /command/core/get-preference (19ms)
08:34:00.442 [ refine] GET /command/core/get-csrf-token (36040ms)
08:34:00.460 [ refine] POST /command/core/annotate-one-row (18ms)
08:34:00.511 [ refine] GET /command/core/get-history (50ms)
08:34:00.528 [ refine] GET /command/core/get-preference (16ms)
08:34:02.776 [ refine] GET /command/core/get-csrf-token (2248ms)
08:34:02.790 [ refine] POST /command/core/annotate-one-row (13ms)
08:34:02.829 [ refine] GET /command/core/get-history (38ms)
08:34:02.849 [ refine] GET /command/core/get-preference (20ms)
08:34:08.717 [ refine] GET /command/core/get-csrf-token (5867ms)
08:34:08.729 [ refine] POST /command/core/annotate-one-row (12ms)
08:34:08.764 [ refine] GET /command/core/get-history (34ms)
08:34:08.781 [ refine] GET /command/core/get-preference (17ms)
Oh and just in case I checked to make sure I was running the latest version of Java, and I am: Java 8 update 431.
FYI: Java 8 (any version) is not an up to date version. OR needs at least Java 11 to run properly. Many OSs (well, Mac and Windows) are stuck on Java 8 as there was a significant shift on how Java works in later versions. You need to perform a manual install/update to a later Java version. See the related OR documentation.
I also significantly cover it in the RDF Transform extension if you need more information.
@AtesComp I think the OpenRefine embedded Java version we publish for downloads, we still package up and ship with Java 8 and not Java 11, right?
Seems related to this issue
@Adzebill any chances you have installed some OpenRefine extensions? It could be worth trying without them.
@thadguidry Since 3.6, OpenRefine has required Java 11, so I believe it ships with Java 11. See What's new | OpenRefine
All:
On a simple search for "Java", results still points users to Java 8.
I usually point people to get the OpenJDK due to Oracle licensing issues.
However, see: Oracle Java and Oracle Java Downloads
1 Like
@AtesComp Ah! You are correct. It's Java 11 we ship now. I just checked in the folder hierarchy and the jre
folder's release
file:
@Adzebill I agree with @antonin_d that this might likely be an extension loading issue, which we can debug further with your help.
I've been completely thrown by the Java issue. My system tells me I have Java 8 Update 431, which is the version recommended for OSX. You tell me that when I installed OR 3.8.7 it came with Java 11. On the advice of @AtesComp I upgraded to JDK 23 from Oracle. But my system still tells me I have Java 8. I'm going to assume my version of Java is not the issue, since I've been dutifully upgrading to the latest version of OpenRefine for the last few years.
Regarding extensions: I don't have any, apart from the standard Wikidata and Commons Wikibase instances.
Here's the contents of my extensions folder:
Oh, and whatever I've done with Java seems to have stopped Pattypan from working – it was fine a few days ago. Which is unfortunate, as I was supposed to be starting a bulk photo upload to Commons with OpenRefine last week ago, and it was my fallback method.
I deleted 3.8.7 and installed 3.7.9 and it's reconciling fine. If that helps. Not ideal obviously! And Pattypan is still broken.
@Adzebill You'll just need to figure out where the Java installations are on your Mac OS X and then update or change the $JAVA_HOME
environment variable. Read through this article which might help you:
https://mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/
1 Like