neo4j-contrib / neo4j-tableau

Neo4j Tableau Integration via WDC
https://neo4j-contrib.github.io/neo4j-tableau/website/Neo4jWdc2.html
59 stars 22 forks source link

TDE query segfaults server on 3.3.0 enterprise #3

Open moxious opened 6 years ago

moxious commented 6 years ago

This query:

curl -v --user 'neo4j:admin' 'http://localhost:7474/export/tableau/tde/MATCH%20%28n%3AMovie%29%20RETURN%20n'

Produces a segfault on neo4j server (enterprise) 3.3.0.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00000000000041fe, pid=1, tid=0x00007fa4acab4ae8
#
# JRE version: OpenJDK Runtime Environment (8.0_131-b11) (build 1.8.0_131-b11)
# Java VM: OpenJDK 64-Bit Server VM (25.131-b11 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea 3.4.0
# Distribution: Custom build (Fri Jun 16 13:41:54 GMT 2017)
# Problematic frame:
# C  0x00000000000041fe
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /var/lib/neo4j/hs_err_pid1.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
#   http://icedtea.classpath.org/bugzilla
#

Under the following configuration:

dbms.unmanaged_extension_classes=org.neo4j.unmanaged.extension.tableau=/export
moxious commented 6 years ago

Tracked this down to this line in TdeWriter.java: ExtractAPI.initialize(); -- so this is part of the external Tableau API. Hoping someone knowledgeable will jump in, maybe these libraries need to be updated, or they're not compatible with the JDK that comes in the neo4j docker image?

jexp commented 6 years ago

Does it work with a local installation?

ralfbecher commented 6 years ago

My guess is there are no Tableau API binaries..

moxious commented 6 years ago

This is with a locally compiled copy. I'll go back through the directions again and give it another shot to see if I missed something; I failed to mention I'm using Tableau 10.4.2.

moxious commented 6 years ago

I'm running this in a docker container, and still getting the segfaults. I've installed the binary drivers for tableau (linux 64 bit 9-3-1), and map them into my docker container with --volume=/data/neo4j/tableausdk-linux64-9300.0.0.0:/tableausdk.

I configured LD_LIBRARY_PATH as per the docs with --env LD_LIBRARY_PATH=/tableausdk/lib64/tableausdk

Note that this path is different from what's in your documentation, you were looking for a "dataextract" subdirectory in LD_LIBRARY_PATH that doesn't exist in the files I downloaded. But the directory I'm using looks right, since it has the *.so files such as libTableauExtract.so.

Is it possible tableau has updated the SDK drivers and introduced some breakage here? Or is there a documentation step I've somehow missed?