Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-9624

JVM failed when use gandiva udf with dynamic libraries

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • C++ - Gandiva, Java
    • None
    • OS:Centos7.4
      llvm:7.0.1
      jdk:1.8.0_162
      arrow:1.0.0

    Description

      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 placeholder
      #ifndef MYTEST_H
      #define MYTEST_H
      #ifdef __cplusplus
      extern "C"{
      #endif
        float testSim();
      #ifdef __cplusplus
      }
      #endif
      #endif

      2 Add simple code for the udf in file 'string_ops.cc'

       

      // 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;
      }

       

      3 Add function details in the function registry file 'function_registry_string.cc'

      // code placeholder
            NativeFunction("test_sim", {}, DataTypeVector{binary(),binary()},float32(),
                           kResultNullIfNull, "sim_binary_binary", NativeFunction::kNeedsContext | NativeFunction::kCanReturnErrors)

      4 Create test functions

      5 Add link to the CMakeLists.txt

      5 compile and test

      6 write a java demo to call the udf

      hs_err_pid28288.log

      Attachments

        1. hs_err_pid28288.log
          45 kB
          Leo89

        Activity

          People

            Unassigned Unassigned
            shiningljz Leo89
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: