Open unigof opened 1 year ago
@kgpai @laithsakka @duanmeng @zacw7 Hi, could you help see what problem is? Thank you very much
CC: @rui-mo
@unigof I tried the fuzzer test with below command.
./spark_expression_fuzzer_test --seed ${RANDOM} --duration_sec 60 --enable_variadic_signatures --lazy_vector_generation_ratio 0.2 --velox_fuzzer_enable_column_reuse --velox_fuzzer_enable_expression_reuse --max_expression_trees_per_step 2 --retry_with_try --logtostderr=1 --minloglevel=0 --only concat_ws
The error I got was:
Executing expression 0 : concat_ws(<qk9S00QNAB-m5)qjy6UtZ&#XK\{F4v[3R8EuEL^Alx|G9ND9+:3N\J$j,concat_ws(null,"c0"),_N%09>00&7XEB0-^v~S^>YK9Ltq1F=wF]MOlra8d/EPxs#R,"c0")
I1127 16:45:55.438975 1580608 ExpressionVerifier.cpp:74] All results match.
E1127 16:45:55.438993 1580608 Exceptions.h:69] Line: ../../velox/expression/tests/ExpressionVerifier.cpp:66, Function:operator(), Expression: left->equalValueAt(right.get(), row, row) Different results at idx '14': '_N%09>00&7XEB0-^v~S^>YK9Ltq1F=wF]MOlra8d/EPxs#R<qk9S00QNAB-m5)qjy6UtZ&#XK\{F4v[3R8EuEL^Alx|G9ND9+:3N\J$j?xHK#GToc\bK$?Nx>A4J' vs. '_N%09>00&7XEB0-^v~S^>YK9Ltq1F=wF]MOlra8d/EPxs#R', Source: RUNTIME, ErrorCode: INVALID_STATE
I1127 16:45:55.439056 1580608 ExpressionVerifier.cpp:258] Skipping persistence because repro path is empty.
terminate called after throwing an instance of 'facebook::velox::VeloxRuntimeError'
what(): Exception: VeloxRuntimeError
Error Source: RUNTIME
Error Code: INVALID_STATE
Reason: Different results at idx '14': '_N%09>00&7XEB0-^v~S^>YK9Ltq1F=wF]MOlra8d/EPxs#R<qk9S00QNAB-m5)qjy6UtZ&#XK\{F4v[3R8EuEL^Alx|G9ND9+:3N\J$j?xHK#GToc\bK$?Nx>A4J' vs. '_N%09>00&7XEB0-^v~S^>YK9Ltq1F=wF]MOlra8d/EPxs#R'
Retriable: False
Expression: left->equalValueAt(right.get(), row, row)
Function: operator()
File: ../../velox/expression/tests/ExpressionVerifier.cpp
Line: 66
Looks like some part of string is missing on the second result.
Description
I add Spark function concat_ws support, but meet error in fuzzer test. It seems lead to fuzzer test fail because input arg contains illeagel ")" in concat_ws. input arg:
S/xlzG$+8*8M:M)-/m$h#
function call:concat_ws(S/xlzG$+8*8M:M)-/m$h#,upper("c0"))
https://app.circleci.com/pipelines/github/facebookincubator/velox/33585/workflows/ec92409f-3df2-408d-ba56-d47cef4db6d9/jobs/217808
But I found a curious situation: When I changed VLOG(1) to VLOG(0) for print log, fuzzer test was succeed: https://app.circleci.com/pipelines/github/facebookincubator/velox/33580/workflows/e4d98232-2f5e-4226-863b-0aa14385cc69/jobs/217764 https://app.circleci.com/pipelines/github/facebookincubator/velox/33482/workflows/1deb1a8d-dc6e-4267-b5ab-c69a76d421d3/jobs/216938
Error Reproduction
retrigger pipeline Here is pr: https://github.com/facebookincubator/velox/pull/6292
Relevant logs