[ 
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 <l...@cloudera.com>
Tested-by: Lars Volker <l...@cloudera.com>


> 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: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to