[
https://issues.apache.org/jira/browse/IMPALA-6435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16476771#comment-16476771
]
ASF subversion and git services commented on IMPALA-6435:
---------------------------------------------------------
Commit a64cfc523ecd5ee7f13c3c7ca63cafe510c4610a in impala's branch
refs/heads/master from [~lv]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=a64cfc5 ]
IMPALA-7032: Disable codegen for CHAR type null literals
Analogous to IMPALA-6435, we have to disable codegen for CHAR type null
literals. Otherwise we will crash in
impala::NullLiteral::GetCodegendComputeFn().
This change adds a test to make sure that the crash is fixed.
Change-Id: I34033362263cf1292418f69c5ca1a3b84aed39a9
Reviewed-on: http://gerrit.cloudera.org:8080/10409
Reviewed-by: Lars Volker <[email protected]>
Tested-by: Lars Volker <[email protected]>
> Codegen crash when UNIONing CHAR(n) literals
> --------------------------------------------
>
> Key: IMPALA-6435
> URL: https://issues.apache.org/jira/browse/IMPALA-6435
> Project: IMPALA
> Issue Type: Bug
> Components: Backend
> Affects Versions: Impala 2.8.0, Impala 2.9.0, Impala 2.10.0, Impala 2.11.0
> Reporter: Balazs Jeszenszky
> Assignee: Anuj Phadke
> Priority: Blocker
> Labels: codegen, crash
> Fix For: Impala 2.12.0
>
>
> A simple repro:
> {code:java}
> create table test (c1 int);
> select cast ('a' as char(30)) as m from test
> union all
> select cast ('a' as char(30)) as m from test
> ;
> {code}
> Stack trace:
> {code:java}
> #0 0x00007fb0085275e5 in raise () from /lib64/libc.so.6
> #1 0x00007fb008528dc5 in abort () from /lib64/libc.so.6
> #2 0x00007fb00a663a55 in os::abort(bool) () from
> /usr/java/jdk1.7.0_67-cloudera/jre/lib/amd64/server/libjvm.so
> #3 0x00007fb00a7e3f87 in VMError::report_and_die() ()
> from /usr/java/jdk1.7.0_67-cloudera/jre/lib/amd64/server/libjvm.so
> #4 0x00007fb00a66896f in JVM_handle_linux_signal ()
> from /usr/java/jdk1.7.0_67-cloudera/jre/lib/amd64/server/libjvm.so
> #5 <signal handler called>
> #6 0x0000000001a9042d in llvm::FunctionType::get(llvm::Type*,
> llvm::ArrayRef<llvm::Type*>, bool) ()
> #7 0x0000000000c2b62f in
> impala::LlvmCodeGen::FnPrototype::GeneratePrototype(impala::LlvmBuilder*,
> llvm::Value**, bool) ()
> #8 0x0000000000846617 in
> impala::Expr::CreateIrFunctionPrototype(impala::LlvmCodeGen*,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, llvm::Value* (*) [2]) ()
> #9 0x000000000085960c in
> impala::Literal::GetCodegendComputeFn(impala::LlvmCodeGen*, llvm::Function**)
> ()
> #10 0x0000000000a78467 in
> impala::Tuple::CodegenMaterializeExprs(impala::LlvmCodeGen*, bool,
> impala::TupleDescriptor const&, std::vector<impala::ExprContext*,
> std::allocator<impala::ExprContext*> > const&, bool, llvm::Function**) ()
> #11 0x0000000000d11df8 in impala::UnionNode::Codegen(impala::RuntimeState*) ()
> #12 0x0000000000a7dd4e in impala::FragmentInstanceState::Prepare() ()
> #13 0x0000000000a7e311 in impala::FragmentInstanceState::Exec() ()
> #14 0x0000000000a6a2f6 in
> impala::QueryState::ExecFInstance(impala::FragmentInstanceState*) ()
> {code}
> A debug build will fail a bit differently, hitting the DCHECK in
> codegen-anyval.cc.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]