apache / apache/gluten

[FLINK] Build velox4j exception encountered when as docs instruction

Open
#9,726 4 comments 0 reactions 0 assignees View on GitHub
triage
Dominant language
Scala
Stars
1.6k
Forks
657
Avg merge
2d 14h
Merged PRs (30d)
80

Description

### Problem description

Following velox4j build instructions in https://github.com/apache/incubator-gluten/blob/main/gluten-flink/docs/Flink.md.
Two exception occurs
1. using `mvn clean install`
```
Running io.github.zhztheplayer.velox4j.write.TableWriteTraitsTest
SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
Created work directory /tmp/velox4j-15675535451210828441.
Found required libraries in container velox4j-lib/Linux/amd64.
Copying library velox4j-lib/Linux/amd64/libfolly.so.0.58.0-dev to /tmp/velox4j-15675535451210828441/lib/libfolly.so.0.58.0-dev...
Copying library velox4j-lib/Linux/amd64/libprotobuf.so.32 to /tmp/velox4j-15675535451210828441/lib/libprotobuf.so.32...
Copying library velox4j-lib/Linux/amd64/libvelox.so to /tmp/velox4j-15675535451210828441/lib/libvelox.so...
Copying library velox4j-lib/Linux/amd64/libvelox4j.so to /tmp/velox4j-15675535451210828441/lib/libvelox4j.so...
Copying library velox4j-lib/Linux/amd64/libglog.so.0 to /tmp/velox4j-15675535451210828441/lib/libglog.so.0...
Copying library velox4j-lib/Linux/amd64/libsnappy.so.1 to /tmp/velox4j-15675535451210828441/lib/libsnappy.so.1...
Copying library velox4j-lib/Linux/amd64/libunwind.so.8 to /tmp/velox4j-15675535451210828441/lib/libunwind.so.8...
Copying library velox4j-lib/Linux/amd64/liblz4.so.1 to /tmp/velox4j-15675535451210828441/lib/liblz4.so.1...
Copying library velox4j-lib/Linux/amd64/libbz2.so.1.0 to /tmp/velox4j-15675535451210828441/lib/libbz2.so.1.0...
Copying library velox4j-lib/Linux/amd64/libz.so.1 to /tmp/velox4j-15675535451210828441/lib/libz.so.1...
Copying library velox4j-lib/Linux/amd64/libboost_program_options.so.1.84.0 to /tmp/velox4j-15675535451210828441/lib/libboost_program_options.so.1.84.0...
Copying library velox4j-lib/Linux/amd64/liblzma.so.5 to /tmp/velox4j-15675535451210828441/lib/liblzma.so.5...
Copying library velox4j-lib/Linux/amd64/libssl.so.1.1 to /tmp/velox4j-15675535451210828441/lib/libssl.so.1.1...
Copying library velox4j-lib/Linux/amd64/libboost_filesystem.so.1.84.0 to /tmp/velox4j-15675535451210828441/lib/libboost_filesystem.so.1.84.0...
Copying library velox4j-lib/Linux/amd64/libzstd.so.1 to /tmp/velox4j-15675535451210828441/lib/libzstd.so.1...
Copying library velox4j-lib/Linux/amd64/libdouble-conversion.so.3 to /tmp/velox4j-15675535451210828441/lib/libdouble-conversion.so.3...
Copying library velox4j-lib/Linux/amd64/libsodium.so.23 to /tmp/velox4j-15675535451210828441/lib/libsodium.so.23...
Copying library velox4j-lib/Linux/amd64/libgflags.so.2.2 to /tmp/velox4j-15675535451210828441/lib/libgflags.so.2.2...
Copying library velox4j-lib/Linux/amd64/libre2.so.5 to /tmp/velox4j-15675535451210828441/lib/libre2.so.5...
Copying library velox4j-lib/Linux/amd64/libevent-2.1.so.7 to /tmp/velox4j-15675535451210828441/lib/libevent-2.1.so.7...
Copying library velox4j-lib/Linux/amd64/libcrypto.so.1.1 to /tmp/velox4j-15675535451210828441/lib/libcrypto.so.1.1...
Copying library velox4j-lib/Linux/amd64/libboost_context.so.1.84.0 to /tmp/velox4j-15675535451210828441/lib/libboost_context.so.1.84.0...
WARNING: Logging before InitGoogleLogging() is written to STDERR
I0522 14:16:43.675778 127761 JniLoader.cc:29] Initializing Velox4J...
I0522 14:16:43.677974 127761 JniLoader.cc:43] Velox4J initialized.
All required libraries were successfully loaded.
I0522 14:16:43.902742 127761 HiveConnector.cpp:56] Hive connector connector-hive created with maximum of 20000 cached file handles with expiration of 0ms.
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.257 sec
Running io.github.zhztheplayer.velox4j.eval.EvaluationTest
W0522 14:16:44.089741 127761 ObjectStore.cc:34] Unclosed object [Store ID: 7, Resource handle ID: 7, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.089778 127761 ObjectStore.cc:34] Unclosed object [Store ID: 7, Resource handle ID: 6, Description: N7velox4j9EvaluatorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.089804 127761 ObjectStore.cc:34] Unclosed object [Store ID: 7, Resource handle ID: 5, Description: N8facebook5velox17SelectivityVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.089807 127761 ObjectStore.cc:34] Unclosed object [Store ID: 7, Resource handle ID: 4, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094135 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 16, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094161 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 15, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094163 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 14, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094165 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 13, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094168 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 12, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094170 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 11, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094172 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 10, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094173 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 9, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094175 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 8, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094177 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 7, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094178 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 6, Description: N7velox4j9EvaluatorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094188 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 5, Description: N8facebook5velox17SelectivityVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.094192 127761 ObjectStore.cc:34] Unclosed object [Store ID: 8, Resource handle ID: 4, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.095960 127761 ObjectStore.cc:34] Unclosed object [Store ID: 9, Resource handle ID: 7, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.095986 127761 ObjectStore.cc:34] Unclosed object [Store ID: 9, Resource handle ID: 6, Description: N7velox4j9EvaluatorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.095996 127761 ObjectStore.cc:34] Unclosed object [Store ID: 9, Resource handle ID: 5, Description: N8facebook5velox17SelectivityVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.095999 127761 ObjectStore.cc:34] Unclosed object [Store ID: 9, Resource handle ID: 4, Description: N8facebook5velox10BaseVectorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.11 sec
Running io.github.zhztheplayer.velox4j.jni.JniApiTest
Stateful velox plan is -- Aggregation[2][FINAL [c0] a0 := count("a0"), a1 := sum("a1")] -> c0:BIGINT, a0:BIGINT, a1:BIGINT
-- Aggregation[1][PARTIAL [c0] a0 := count(1), a1 := sum(ROW["c1"])] -> c0:BIGINT, a0:BIGINT, a1:BIGINT
-- Values[0][3 rows in 1 vectors] -> c0:BIGINT, c1:INTEGER, c2:BOOLEAN
E0522 14:16:44.102514 127761 Exceptions.h:66] Line: /home/wanggang.terry/velox4j/src/main/cpp/build/_deps/velox-src/velox/exec/Driver.cpp:966, Function:mayPushdownAggregation, Expression: Aggregation operator not found in its Driver: PartialAggregation[1] 1, Source: RUNTIME, ErrorCode: INVALID_STATE
Stateful velox plan is -- Aggregation[2][FINAL [c0] a0 := count("a0"), a1 := sum("a1")] -> c0:BIGINT, a0:BIGINT, a1:BIGINT
-- Aggregation[1][PARTIAL [c0] a0 := count(1), a1 := sum(ROW["c1"])] -> c0:BIGINT, a0:BIGINT, a1:BIGINT
-- Values[0][3 rows in 1 vectors] -> c0:BIGINT, c1:INTEGER, c2:BOOLEAN
E0522 14:16:44.127048 127761 Exceptions.h:66] Line: /home/wanggang.terry/velox4j/src/main/cpp/build/_deps/velox-src/velox/exec/Driver.cpp:966, Function:mayPushdownAggregation, Expression: Aggregation operator not found in its Driver: PartialAggregation[1] 1, Source: RUNTIME, ErrorCode: INVALID_STATE
Stateful velox plan is -- Aggregation[2][FINAL [c0] a0 := count("a0"), a1 := sum("a1")] -> c0:BIGINT, a0:BIGINT, a1:BIGINT
-- Aggregation[1][PARTIAL [c0] a0 := count(1), a1 := sum(ROW["c1"])] -> c0:BIGINT, a0:BIGINT, a1:BIGINT
-- Values[0][3 rows in 1 vectors] -> c0:BIGINT, c1:INTEGER, c2:BOOLEAN
E0522 14:16:44.134207 127761 Exceptions.h:66] Line: /home/wanggang.terry/velox4j/src/main/cpp/build/_deps/velox-src/velox/exec/Driver.cpp:966, Function:mayPushdownAggregation, Expression: Aggregation operator not found in its Driver: PartialAggregation[1] 1, Source: RUNTIME, ErrorCode: INVALID_STATE
Stateful velox plan is -- Aggregation[2][FINAL [c0] a0 := count("a0"), a1 := sum("a1")] -> c0:BIGINT, a0:BIGINT, a1:BIGINT
-- Aggregation[1][PARTIAL [c0] a0 := count(1), a1 := sum(ROW["c1"])] -> c0:BIGINT, a0:BIGINT, a1:BIGINT
-- Values[0][3 rows in 1 vectors] -> c0:BIGINT, c1:INTEGER, c2:BOOLEAN
E0522 14:16:44.142392 127800 Exceptions.h:66] Line: /home/wanggang.terry/velox4j/src/main/cpp/build/_deps/velox-src/velox/exec/Driver.cpp:966, Function:mayPushdownAggregation, Expression: Aggregation operator not found in its Driver: PartialAggregation[1] 1, Source: RUNTIME, ErrorCode: INVALID_STATE
E0522 14:16:44.146425 127800 Exceptions.h:66] Line: /home/wanggang.terry/velox4j/src/main/cpp/main/velox4j/jni/JniCommon.cc:56, Function:checkException, Expression: Error during calling Java code from native code: io.github.zhztheplayer.velox4j.exception.VeloxException: Exception: VeloxRuntimeError
Error Source: RUNTIME
Error Code: INVALID_STATE
Reason: Aggregation operator not found in its Driver: PartialAggregation[1] 1
Retriable: False
Function: mayPushdownAggregation
File: /home/wanggang.terry/velox4j/src/main/cpp/build/_deps/velox-src/velox/exec/Driver.cpp
Line: 966
Stack trace:
# 0 facebook::velox::VeloxException::VeloxException(char const*, unsigned long, char const*, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, bool, facebook::velox::VeloxException::Type, std::basic_string_view >)
# 1 void facebook::velox::detail::veloxCheckFail, std::allocator > const&>(facebook::velox::detail::VeloxCheckFailArgs const&, std::__cxx11::basic_string, std::allocator > const&)
# 2 facebook::velox::exec::Driver::mayPushdownAggregation(facebook::velox::exec::Operator*) const
# 3 facebook::velox::exec::HashAggregation::addInput(std::shared_ptr)
# 4 facebook::velox::stateful::StatefulTask::next(int&)
# 5 velox4j::StatefulSerialTask::advance0(bool)
# 6 velox4j::(anonymous namespace)::upIteratorAdvance(JNIEnv_*, _jobject*, long)
# 7 0x00007f4c40807a30
at io.github.zhztheplayer.velox4j.jni.StaticJniWrapper.upIteratorAdvance(Native Method)
at io.github.zhztheplayer.velox4j.jni.StaticJniApi.upIteratorAdvance(StaticJniApi.java:72)
at io.github.zhztheplayer.velox4j.query.SerialTask.advance(SerialTask.java:36)
at io.github.zhztheplayer.velox4j.iterator.UpIterators$AsJavaIterator.hasNext(UpIterators.java:41)
at io.github.zhztheplayer.velox4j.iterator.DownIterators$FromJavaIterator.advance0(DownIterators.java:37)
at io.github.zhztheplayer.velox4j.iterator.DownIterators$BaseDownIterator.advance(DownIterators.java:62)
at io.github.zhztheplayer.velox4j.jni.StaticJniWrapper.upIteratorAdvance(Native Method)
at io.github.zhztheplayer.velox4j.jni.StaticJniApi.upIteratorAdvance(StaticJniApi.java:72)
at io.github.zhztheplayer.velox4j.iterator.GenericUpIterator.advance(GenericUpIterator.java:34)
at io.github.zhztheplayer.velox4j.iterator.UpIterators$AsJavaIterator.hasNext(UpIterators.java:41)
at io.github.zhztheplayer.velox4j.test.UpIteratorTests$IteratorAssertionBuilder.run(UpIteratorTests.java:126)
at io.github.zhztheplayer.velox4j.test.SampleQueryTests.assertIterator(SampleQueryTests.java:52)
at io.github.zhztheplayer.velox4j.test.SampleQueryTests.assertIterator(SampleQueryTests.java:41)
at io.github.zhztheplayer.velox4j.jni.JniApiTest$2.run(JniApiTest.java:233)
at java.base/java.lang.Thread.run(Thread.java:829)
, Source: RUNTIME, ErrorCode: INVALID_STATE
5月 22, 2025 2:16:44 下午 com.google.common.util.concurrent.UncaughtExceptionHandlers$Exiter uncaughtException
严重: Caught an exception in Thread[Thread-0,5,main]. Shutting down.
io.github.zhztheplayer.velox4j.exception.VeloxException: Exception: VeloxRuntimeError
Error Source: RUNTIME
Error Code: INVALID_STATE
Reason: Error during calling Java code from native code: io.github.zhztheplayer.velox4j.exception.VeloxException: Exception: VeloxRuntimeError
Error Source: RUNTIME
Error Code: INVALID_STATE
Reason: Aggregation operator not found in its Driver: PartialAggregation[1] 1
Retriable: False
Function: mayPushdownAggregation
File: /home/wanggang.terry/velox4j/src/main/cpp/build/_deps/velox-src/velox/exec/Driver.cpp
Line: 966
Stack trace:
# 0 facebook::velox::VeloxException::VeloxException(char const*, unsigned long, char const*, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, bool, facebook::velox::VeloxException::Type, std::basic_string_view >)
# 1 void facebook::velox::detail::veloxCheckFail, std::allocator > const&>(facebook::velox::detail::VeloxCheckFailArgs const&, std::__cxx11::basic_string, std::allocator > const&)
# 2 facebook::velox::exec::Driver::mayPushdownAggregation(facebook::velox::exec::Operator*) const
# 3 facebook::velox::exec::HashAggregation::addInput(std::shared_ptr)
# 4 facebook::velox::stateful::StatefulTask::next(int&)
# 5 velox4j::StatefulSerialTask::advance0(bool)
# 6 velox4j::(anonymous namespace)::upIteratorAdvance(JNIEnv_*, _jobject*, long)
# 7 0x00007f4c40807a30

at io.github.zhztheplayer.velox4j.jni.StaticJniWrapper.upIteratorAdvance(Native Method)
at io.github.zhztheplayer.velox4j.jni.StaticJniApi.upIteratorAdvance(StaticJniApi.java:72)
at io.github.zhztheplayer.velox4j.query.SerialTask.advance(SerialTask.java:36)
at io.github.zhztheplayer.velox4j.iterator.UpIterators$AsJavaIterator.hasNext(UpIterators.java:41)
at io.github.zhztheplayer.velox4j.iterator.DownIterators$FromJavaIterator.advance0(DownIterators.java:37)
at io.github.zhztheplayer.velox4j.iterator.DownIterators$BaseDownIterator.advance(DownIterators.java:62)
at io.github.zhztheplayer.velox4j.jni.StaticJniWrapper.upIteratorAdvance(Native Method)
at io.github.zhztheplayer.velox4j.jni.StaticJniApi.upIteratorAdvance(StaticJniApi.java:72)
at io.github.zhztheplayer.velox4j.iterator.GenericUpIterator.advance(GenericUpIterator.java:34)
at io.github.zhztheplayer.velox4j.iterator.UpIterators$AsJavaIterator.hasNext(UpIterators.java:41)
at io.github.zhztheplayer.velox4j.test.UpIteratorTests$IteratorAssertionBuilder.run(UpIteratorTests.java:126)
at io.github.zhztheplayer.velox4j.test.SampleQueryTests.assertIterator(SampleQueryTests.java:52)
at io.github.zhztheplayer.velox4j.test.SampleQueryTests.assertIterator(SampleQueryTests.java:41)
at io.github.zhztheplayer.velox4j.jni.JniApiTest$2.run(JniApiTest.java:233)
at java.base/java.lang.Thread.run(Thread.java:829)

Retriable: False
Function: checkException
File: /home/wanggang.terry/velox4j/src/main/cpp/main/velox4j/jni/JniCommon.cc
Line: 56
Stack trace:
# 0 facebook::velox::VeloxException::VeloxException(char const*, unsigned long, char const*, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, bool, facebook::velox::VeloxException::Type, std::basic_string_view >)
# 1 void facebook::velox::detail::veloxCheckFail, std::allocator > const&>(facebook::velox::detail::VeloxCheckFailArgs const&, std::__cxx11::basic_string, std::allocator > const&)
# 2 velox4j::checkException(JNIEnv_*)
# 3 velox4j::DownIterator::advance()
# 4 velox4j::DownIterator::read(folly::SemiFuture&)
# 5 velox4j::(anonymous namespace)::ExternalStreamAsUpIterator::advance()
# 6 velox4j::(anonymous namespace)::upIteratorAdvance(JNIEnv_*, _jobject*, long)
# 7 0x00007f4c40807a30

at io.github.zhztheplayer.velox4j.jni.StaticJniWrapper.upIteratorAdvance(Native Method)
at io.github.zhztheplayer.velox4j.jni.StaticJniApi.upIteratorAdvance(StaticJniApi.java:72)
at io.github.zhztheplayer.velox4j.iterator.GenericUpIterator.advance(GenericUpIterator.java:34)
at io.github.zhztheplayer.velox4j.iterator.UpIterators$AsJavaIterator.hasNext(UpIterators.java:41)
at io.github.zhztheplayer.velox4j.test.UpIteratorTests$IteratorAssertionBuilder.run(UpIteratorTests.java:126)
at io.github.zhztheplayer.velox4j.test.SampleQueryTests.assertIterator(SampleQueryTests.java:52)
at io.github.zhztheplayer.velox4j.test.SampleQueryTests.assertIterator(SampleQueryTests.java:41)
at io.github.zhztheplayer.velox4j.jni.JniApiTest$2.run(JniApiTest.java:233)
at java.base/java.lang.Thread.run(Thread.java:829)

W0522 14:16:44.190097 127767 ObjectStore.cc:34] Unclosed object [Store ID: 4, Resource handle ID: 19, Description: N7velox4j7SessionE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.190137 127767 ObjectStore.cc:34] Unclosed object [Store ID: 17, Resource handle ID: 7, Description: N7velox4j12_GLOBAL__N_126ExternalStreamAsUpIteratorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.190142 127767 ObjectStore.cc:34] Unclosed object [Store ID: 17, Resource handle ID: 6, Description: N7velox4j12DownIteratorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
E0522 14:16:44.190171 127767 Exceptions.h:66] Line: /home/wanggang.terry/velox4j/src/main/cpp/main/velox4j/jni/JniCommon.cc:136, Function:getLocalJNIEnv, Expression: Failed to reattach current thread to JVM., Source: RUNTIME, ErrorCode: INVALID_STATE
W0522 14:16:44.190284 127767 DownIterator.cc:56] Unable to destroy the global reference to the Java side down iterator: Exception: VeloxRuntimeError
Error Source: RUNTIME
Error Code: INVALID_STATE
Reason: Failed to reattach current thread to JVM.
Retriable: False
Function: getLocalJNIEnv
File: /home/wanggang.terry/velox4j/src/main/cpp/main/velox4j/jni/JniCommon.cc
Line: 136
Stack trace:
# 0 facebook::velox::VeloxException::VeloxException(char const*, unsigned long, char const*, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, bool, facebook::velox::VeloxException::Type, std::basic_string_view >)
# 1 void facebook::velox::detail::veloxCheckFail(facebook::velox::detail::VeloxCheckFailArgs const&, char const*)
# 2 velox4j::getLocalJNIEnv()
# 3 velox4j::DownIterator::close()
# 4 velox4j::DownIterator::~DownIterator()
# 5 std::_Hashtable >, std::allocator > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_erase(unsigned long, std::__detail::_Hash_node_base*, std::__detail::_Hash_node >, false>*)
# 6 velox4j::ResourceMap >::erase(unsigned int)
# 7 velox4j::ObjectStore::~ObjectStore()
# 8 velox4j::ObjectStore::~ObjectStore()
# 9 std::_Hashtable >, std::allocator > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_erase(unsigned long, std::__detail::_Hash_node_base*, std::__detail::_Hash_node >, false>*)
# 10 velox4j::ResourceMap >::erase(unsigned int)
# 11 velox4j::ObjectStore::~ObjectStore()
# 12 velox4j::ObjectStore::~ObjectStore()
# 13 0x00000000000468a7
# 14 on_exit
# 15 0x000000000086fd1e
# 16 0x0000000000e9e9bd
# 17 0x0000000000e9e4a0
# 18 0x0000000000ea4597
# 19 0x0000000000ea4bd0
# 20 0x0000000000ea4f36
# 21 0x0000000000e2f5c0
# 22 0x0000000000bed07e
# 23 start_thread
# 24 clone
W0522 14:16:44.193984 127767 ObjectStore.cc:34] Unclosed object [Store ID: 17, Resource handle ID: 5, Description: N7velox4j18StatefulSerialTaskE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
I0522 14:16:44.194094 127767 Task.cpp:2307] Terminating task Task - EID 3 with state Finished after running for 0ms
W0522 14:16:44.194274 127767 ObjectStore.cc:34] Unclosed object [Store ID: 17, Resource handle ID: 4, Description: N7velox4j21StatefulQueryExecutorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.194311 127767 ObjectStore.cc:34] Unclosed object [Store ID: 4, Resource handle ID: 18, Description: N7velox4j7SessionE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.194317 127767 ObjectStore.cc:34] Unclosed object [Store ID: 16, Resource handle ID: 5, Description: N7velox4j18StatefulSerialTaskE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
I0522 14:16:44.194362 127767 Task.cpp:2307] Terminating task Task - EID 2 with state Finished after running for 0ms
W0522 14:16:44.194386 127767 ObjectStore.cc:34] Unclosed object [Store ID: 16, Resource handle ID: 4, Description: N7velox4j21StatefulQueryExecutorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.194407 127767 ObjectStore.cc:34] Unclosed object [Store ID: 4, Resource handle ID: 14, Description: N7velox4j7SessionE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.194412 127767 ObjectStore.cc:34] Unclosed object [Store ID: 12, Resource handle ID: 5, Description: N7velox4j18StatefulSerialTaskE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
I0522 14:16:44.194434 127767 Task.cpp:2307] Terminating task Task - EID 1 with state Finished after running for 0ms
W0522 14:16:44.194454 127767 ObjectStore.cc:34] Unclosed object [Store ID: 12, Resource handle ID: 4, Description: N7velox4j21StatefulQueryExecutorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.194463 127767 ObjectStore.cc:34] Unclosed object [Store ID: 4, Resource handle ID: 12, Description: N7velox4j7SessionE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.194469 127767 ObjectStore.cc:34] Unclosed object [Store ID: 10, Resource handle ID: 5, Description: N7velox4j18StatefulSerialTaskE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
I0522 14:16:44.194496 127767 Task.cpp:2307] Terminating task Task - EID 0 with state Finished after running for 0ms
W0522 14:16:44.194511 127767 ObjectStore.cc:34] Unclosed object [Store ID: 10, Resource handle ID: 4, Description: N7velox4j21StatefulQueryExecutorE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
W0522 14:16:44.194523 127767 ObjectStore.cc:34] Unclosed object [Store ID: 4, Resource handle ID: 11, Description: N7velox4j13MemoryManagerE] is found when object store is closing. Velox4J will destroy it automatically but it's recommended to manually close the object through the Java API CppObject#close() after use, to minimize peak memory pressure of the application.
E0522 14:16:44.194545 127767 Exceptions.h:66] Line: /home/wanggang.terry/velox4j/src/main/cpp/main/velox4j/jni/JniCommon.cc:136, Function:getLocalJNIEnv, Expression: Failed to reattach current thread to JVM., Source: RUNTIME, ErrorCode: INVALID_STATE
W0522 14:16:44.194622 127767 ExceptionTracer.cpp:187] Invalid trace stack for exception of type: facebook::velox::VeloxRuntimeError
terminate called after throwing an instance of 'facebook::velox::VeloxRuntimeError'
what(): Exception: VeloxRuntimeError
Error Source: RUNTIME
Error Code: INVALID_STATE
Reason: Failed to reattach current thread to JVM.
Retriable: False
Function: getLocalJNIEnv
File: /home/wanggang.terry/velox4j/src/main/cpp/main/velox4j/jni/JniCommon.cc
Line: 136
Stack trace:
# 0 facebook::velox::VeloxException::VeloxException(char const*, unsigned long, char const*, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, std::basic_string_view >, bool, facebook::velox::VeloxException::Type, std::basic_string_view >)
# 1 void facebook::velox::detail::veloxCheckFail(facebook::velox::detail::VeloxCheckFailArgs const&, char const*)
# 2 velox4j::getLocalJNIEnv()
# 3 velox4j::JavaAllocationListener::allocationChanged(long)
# 4 velox4j::(anonymous namespace)::ListenableArbitrator::removePool(facebook::velox::memory::MemoryPool*)
# 5 facebook::velox::memory::MemoryManager::dropPool(facebook::velox::memory::MemoryPool*)
# 6 facebook::velox::memory::MemoryPoolImpl::~MemoryPoolImpl()
# 7 velox4j::MemoryManager::tryDestruct()
# 8 velox4j::MemoryManager::~MemoryManager()
# 9 std::_Hashtable >, std::allocator > >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::_M_erase(unsigned long, std::__detail::_Hash_node_base*, std::__detail::_Hash_node >, false>*)
# 10 velox4j::ResourceMap >::erase(unsigned int)
# 11 velox4j::ObjectStore::~ObjectStore()
# 12 velox4j::ObjectStore::~ObjectStore()
# 13 0x00000000000468a7
# 14 on_exit
# 15 0x000000000086fd1e
# 16 0x0000000000e9e9bd
# 17 0x0000000000e9e4a0
# 18 0x0000000000ea4597
# 19 0x0000000000ea4bd0
# 20 0x0000000000ea4f36
# 21 0x0000000000e2f5c0
# 22 0x0000000000bed07e
# 23 start_thread
# 24 clone
Aborted (core dumped)

Results :

Tests run: 5, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 22.979 s
[INFO] Finished at: 2025-05-22T14:16:44+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project velox4j: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
```

2. skip tests and run `mvn clean install -DskipTests`
```
[INFO] --- maven-gpg-plugin:3.2.7:sign (sign-artifacts) @ velox4j ---
[INFO] Signer 'gpg' is signing 4 files with key B63AD11C6D45C37BFD6379B248804000454F1974
gpg: skipped "B63AD11C6D45C37BFD6379B248804000454F1974": No secret key
gpg: signing failed: No secret key
```

3. manual remove gpg module in pom and then run `mvn clean install -DskipTests`
```
[ERROR] Failed to execute goal com.diffplug.spotless:spotless-maven-plugin:2.44.4:check (default) on project velox4j: The following files had format violations:
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/plan/PlanNode.java
[ERROR] @@ -20,6 +20,7 @@
[ERROR]
[ERROR] import·com.fasterxml.jackson.annotation.JsonGetter;
[ERROR] import·com.fasterxml.jackson.annotation.JsonInclude;
[ERROR] +
[ERROR] import·io.github.zhztheplayer.velox4j.exception.VeloxException;
[ERROR] import·io.github.zhztheplayer.velox4j.serializable.ISerializable;
[ERROR]
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/plan/ProjectNode.java
[ERROR] @@ -18,10 +18,10 @@
[ERROR]
[ERROR] import·java.util.List;
[ERROR]
[ERROR] -import·com.google.common.base.Preconditions;
[ERROR] import·com.fasterxml.jackson.annotation.JsonCreator;
[ERROR] import·com.fasterxml.jackson.annotation.JsonGetter;
[ERROR] import·com.fasterxml.jackson.annotation.JsonProperty;
[ERROR] +import·com.google.common.base.Preconditions;
[ERROR]
[ERROR] import·io.github.zhztheplayer.velox4j.expression.TypedExpr;
[ERROR]
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/plan/TableWriteNode.java
[ERROR] @@ -18,10 +18,10 @@
[ERROR]
[ERROR] import·java.util.List;
[ERROR]
[ERROR] -import·com.google.common.base.Preconditions;
[ERROR] import·com.fasterxml.jackson.annotation.JsonCreator;
[ERROR] import·com.fasterxml.jackson.annotation.JsonGetter;
[ERROR] import·com.fasterxml.jackson.annotation.JsonProperty;
[ERROR] +import·com.google.common.base.Preconditions;
[ERROR]
[ERROR] import·io.github.zhztheplayer.velox4j.connector.CommitStrategy;
[ERROR] import·io.github.zhztheplayer.velox4j.connector.ConnectorInsertTableHandle;
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/plan/WatermarkAssignerNode.java
[ERROR] @@ -1,11 +1,27 @@
[ERROR] +/*
[ERROR] +*·Licensed·to·the·Apache·Software·Foundation·(ASF)·under·one·or·more
[ERROR] +*·contributor·license·agreements.··See·the·NOTICE·file·distributed·with
[ERROR] +*·this·work·for·additional·information·regarding·copyright·ownership.
[ERROR] +*·The·ASF·licenses·this·file·to·You·under·the·Apache·License,·Version·2.0
[ERROR] +*·(the·"License");·you·may·not·use·this·file·except·in·compliance·with
[ERROR] +*·the·License.··You·may·obtain·a·copy·of·the·License·at
[ERROR] +*
[ERROR] +*····http://www.apache.org/licenses/LICENSE-2.0
[ERROR] +*
[ERROR] +*·Unless·required·by·applicable·law·or·agreed·to·in·writing,·software
[ERROR] +*·distributed·under·the·License·is·distributed·on·an·"AS·IS"·BASIS,
[ERROR] +*·WITHOUT·WARRANTIES·OR·CONDITIONS·OF·ANY·KIND,·either·express·or·implied.
[ERROR] ... (34 more lines that didn't fit)
[ERROR] Violations also present in:
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/plan/FilterNode.java
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/serde/NativeBean.java
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/connector/FuzzerConnectorSplit.java
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/connector/InsertTableHandle.java
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/connector/NexmarkConnectorSplit.java
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/connector/FuzzerTableHandle.java
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/connector/NexmarkTableHandle.java
[ERROR] src/main/java/io/github/zhztheplayer/velox4j/connector/DiscardDataTableHandle.java
[ERROR] Run 'mvn spotless:apply' to fix these violations.
[ERROR] -> [Help 1]
```

### System information

Gluten Version: 1.5.0-SNAPSHOT
Commit: 995860eaf904b281ecd940e280190038b931d8f7
CMake Version: 3.28.3
System: Linux-5.4.143.bsk.8-amd64
Arch: x86_64
CPU Name: Model name: Intel(R) Xeon(R) Platinum 8336C CPU @ 2.30GHz
C++ Compiler: /usr/bin/c++
C++ Compiler Version: 10.3.0
C Compiler: /usr/bin/cc
C Compiler Version: 10.3.0
CMake Prefix Path: /usr/local;/usr;/;/usr/local/lib/python3.8/dist-packages/cmake/data;/usr/local;/usr/X11R6;/usr/pkg;/opt

### CMake log

```bash

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.