OHDSI Home | Forums | Wiki | Github

Unable to load SqlRender library from Java RServe client

All,

I’m trying to make use of the Achilles package by calling it from a Java process using Rserve. Unfortunately, I’m running into a blocking issue when Rserve tries to load the SqlRender dependency of Achilles. I get this error when R tries to load SqlRender:

Invalid memory access of location 0x110 rip=0x7fff8fd201e6

If I invoke ‘library(Achilles)’ or even just ‘library(SqlRender)’ in isolation from within an R session on the terminal, everything loads without a hitch.

Any suggestions or help would be appriciated!

Thanks!
David

David,

This may be spectacularly unhelpful, but here is the code for an Rserve Achilles prototype I built a while back using node. It’s pretty vanilla, but it does successfully get the SQLRendered version of Achilles via Rserve, using GET or POST parameters passed in.

If no luck, then I suspect @schuemie would be your best bet.

Jon

As far as I can see this is a JVM problem. Which Java version are you using? What is the OS?

I’m using Java 8 on a Mac (10.9.5 if it helps).

I was suspicious of the rJava library that SqlRender depends on being the culprit as well, but I can load it individually without an issue.

I was able to downgrade my environment for both Eclipse and R to Java 1.6.0_45, and I’m still getting the same error on loading rJava. Did the reinstall dance on rJava along with a ‘R CMD javareconf’ to no avail.

Any other ideas I might try?

Sorry, I’m at a loss too. But note that loading rJava does not yet instantiate a Java Virtual Machine, but loading SqlRender does (through rJava). The error message is thrown by the Java VM.

Could you give a bit more of the context in which the error message appears? You say it’s when Achilles tries to load SqlRender? Or when you start an Achilles analysis? What operating system are you using?

t