[ 
https://issues.apache.org/jira/browse/ARROW-9626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Wes McKinney closed ARROW-9626.
-------------------------------
    Resolution: Duplicate

Dup of ARROW-9624

> JVM failed when use gandiva udf with dynamic libraries
> ------------------------------------------------------
>
>                 Key: ARROW-9626
>                 URL: https://issues.apache.org/jira/browse/ARROW-9626
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++ - Gandiva, Java
>         Environment: OS:Centos7.4
> llvm:7.0.1
> jdk:1.8.0_162
> arrow:1.0.0
>            Reporter: Leo89
>            Priority: Major
>         Attachments: hs_err_pid28288.log
>
>
> Hi there,
> Recently I'm trying to add some UDF with dynamic link libaries. It is fine 
> compiling and running test in cpp, but when I call the udf from java, JVM 
> failed with errors.
> Steps to reproduce the issue
> 1 Prepare dynamic library 'libmytest.so'
> {code:java}
> // code placeholder
> #ifndef MYTEST_H
> #define MYTEST_H
> #ifdef __cplusplus
> extern "C"{
> #endif
>  float testSim();
> #ifdef __cplusplus
> }
> #endif
> #endif
> {code}
>  
> 2 Add simple code for the udf in file 'string_ops.cc'
> {code:java}
> // code placeholder
> FORCE_INLINEFORCE_INLINE
> gdv_float32 test_sim_binary_binary(gdv_int64 context, const char* left, 
> gdv_int32 left_len, const char* right,  gdv_int32 right_len) {
>  float sim = testSim();
>  return sim;
> }
> {code}
> 3 Add function details in the function registry file 
> 'function_registry_string.cc'
> {code:java}
> // code placeholder
> NativeFunction("test_sim", {}, DataTypeVector{binary(),binary()},float32(),
>  kResultNullIfNull, "sim_binary_binary", NativeFunction::kNeedsContext | 
> NativeFunction::kCanReturnErrors),
> {code}
> 4 Create test functions
> 5 Add link to the CMakeLists.txt
> 5 compile and test
> 6 write a java demo to call the udf



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to