lriggs opened a new issue, #601:
URL: https://github.com/apache/arrow-java/issues/601

   ### Describe the enhancement requested
   
   Our product, which uses Gandiva, was encountering errors from LLVM during 
intense query processing stress tests. I traced the issue back to the JIT 
upgrade (https://github.com/apache/arrow/pull/39098), but it seems it only 
started occurring then because the new JIT engine requires unique symbol names 
unlike the old engine.
   
   The error from llvm is:   Duplicate definition of symbol 'expr_0_0'.
   
   After updating the llvm version to 18 
(https://github.com/apache/arrow/pull/45114) you can see this error 
occasionally when running the Gandiva ProjectorTest.
   
   ```
   Failed to make LLVM module due to Failed to add IR module to LLJIT: 
Duplicate definition of symbol 'expr_0_0'
   
        at org.apache.arrow.gandiva.evaluator.JniWrapper.buildProjector(Native 
Method)
        at org.apache.arrow.gandiva.evaluator.Projector.make(Projector.java:206)
        at org.apache.arrow.gandiva.evaluator.Projector.make(Projector.java:70)
        at 
org.apache.arrow.gandiva.evaluator.ProjectorTest.lambda$testMakeProjectorParallel$1(ProjectorTest.java:138)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
   [WARNING] Tests run: 44, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 
6.656 s -- in org.apache.arrow.gandiva.evaluator.ProjectorTest
   ```
   
   Adding synchronization the the make and evaluate methods in 
gandiva/src/main/java/org/apache/arrow/gandiva/evaluator/Projector.java will 
fix the issue.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to