impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Casey Ching <ca...@cloudera.com>
Subject RE: CpuInfo::Init() crash in many benchmark programs
Date Tue, 26 Apr 2016 09:04:18 GMT
Hello, 

This is a bug in the way Kudu is handled on OS’s where Kudu isn’t available. There is
a patch at http://gerrit.cloudera.org:8080/#/c/2864/ . Hopefully it’ll be checked in sometime
soon. If you want to apply it locally you’ll also need to remove the broken version with
“rm -rf $IMPALA_TOOLCHAIN/kudu*”. 

Sorry about the trouble.

Casey

On April 26, 2016 at 12:53:47 AM, Wang, Youwei A (youwei.a.wang@intel.com) wrote:

Greetings all.  

Yes, I am using the Impala toolchain to build it.  
The build scripts I am using is the make_debug.sh and make_release.sh scripts.  
I have diffed them:  
diff /root/Impala/bin/make_debug.sh /root/Impala/bin/make_release.sh  
16c16  
< $IMPALA_HOME/bin/make_impala.sh -build_type=Debug -build_shared_libs $*  
---  
> $IMPALA_HOME/bin/make_impala.sh -build_type=Release $*  

I found one difference is the -build_shared_libs option.  
And I tried to build using " make_impala.sh -build_type=Release -build_shared_libs" , everything
works flawlessly. So I guess maybe there are some other thirdparty components which are not
built properly. I will check this further.  

Thanks so much for your help and suggestions!  



-----Original Message-----  
From: Tim Armstrong [mailto:tarmstrong@cloudera.com]  
Sent: Tuesday, April 26, 2016 12:08 AM  
To: dev@impala.incubator.apache.org  
Cc: mmokhtar@cloudera.com  
Subject: Re: CpuInfo::Init() crash in many benchmark programs  

This works ok for me. We've had a number of changes to the build environment I'd suggest that
you make sure your environment is fresh and then start a build with buildall.sh.  

source bin/impala-config.sh  
./bin/clean.sh  
./buildall.sh -noclean -release -skiptests  

tarmstrong@tarmstrong-box:~/Impala/Impala$  
./be/build/release/benchmarks/atod-benchmark  
Machine Info: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz  
atod: Function Rate (iters/ms) Comparison  
----------------------------------------------------------------------  
Impala Decimal4 67.73 1X  
Impala Decimal8 42.74 0.631X  
Impala Decimal16 14.91 0.2201X  

Are you using the Impala toolchain to build?  

On Mon, Apr 25, 2016 at 4:56 AM, Wang, Youwei A <youwei.a.wang@intel.com>  
wrote:  

> Greetings all.  
>  
> I have update the Impala codebase to the latest using "git pull  
> cdh5-trunk origin".  
> And then run "make clean;" to clean up the pre-built binaries.  
> Finally I run the make_release.sh to build Impala in release mode.  
>  
> When I ran the benchmarks in the Impala/be/build/release/benchmarks  
> directory, many benchmarks came across the "segment fault" error. For  
> example:  
> root@debian:~/Impala/be/build/release/benchmarks# ./ atod-benchmark  
> Segmentation fault  
>  
> The following are gdb message:  
> Gdb atod-benchmark  
> (gdb) where  
> #0 0x00007ffff65bebb9 in KuduNotSupported() () from  
> /root/Impala/toolchain/kudu-0.8.0-RC1/release/lib64/libkudu_client.so.  
> 0  
> #1 0x00007ffff65bfef5 in char*  
> std::string::_S_construct<char*>(char*,  
> char*, std::allocator<char> const&, std::forward_iterator_tag) ()  
> from  
> /root/Impala/toolchain/kudu-0.8.0-RC1/release/lib64/libkudu_client.so.  
> 0  
> #2 0x00007ffff56d6841 in _S_construct_aux<char*> (__a=...,  
> __end=<optimized out>, __beg=<optimized out>)  
> at  
> /data/jenkins/workspace/verify-impala-toolchain-package-build/label/un  
> ittest-ec2-pkg-debian-8/toolchain/source/gcc/build/x86_64-unknown-linu  
> x-gnu/libstdc++-v3/include/bits/basic_string.h:1743  
> #3 _S_construct<char*> (__a=..., __end=<optimized out>,  
> __beg=<optimized  
> out>)  
> at  
> /data/jenkins/workspace/verify-impala-toolchain-package-build/label/un  
> ittest-ec2-pkg-debian-8/toolchain/source/gcc/build/x86_64-unknown-linu  
> x-gnu/libstdc++-v3/include/bits/basic_string.h:1764  
> #4 std::basic_string<char, std::char_traits<char>,  
> std::allocator<char>  
> >::basic_string (this=0x7fffffff7e00, __str=..., __pos=<optimized  
> >out>,  
> __n=<optimized out>)  
> at  
> /data/jenkins/workspace/verify-impala-toolchain-package-build/label/un  
> ittest-ec2-pkg-debian-8/toolchain/source/gcc/build/x86_64-unknown-linu  
> x-gnu/libstdc++-v3/include/bits/basic_string.tcc:189  
> #5 0x0000000000424bf1 in substr (__n=9, __pos=0, this=0x7fffffff7da0)  
> at  
> /root/Impala/toolchain/gcc-4.9.2/include/c++/4.9.2/bits/basic_string.h  
> :2227  
> #6 impala::CpuInfo::Init () at  
> /root/Impala/be/src/util/cpu-info.cc:98  
> #7 0x000000000041b91e in main (argc=<optimized out>, argv=<optimized  
> out>) at /root/Impala/be/src/benchmarks/atod-benchmark.cc:90  
>  
> As well as the valgrind message:  
> root@debian:~/Impala/be/build/release/benchmarks# valgrind  
> atod-benchmark ==19445== Memcheck, a memory error detector ==19445==  
> Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.  
> ==19445== Using Valgrind-3.10.0 and LibVEX; rerun with -h for  
> copyright info ==19445== Command: atod-benchmark ==19445== ==19445==  
> Invalid write of size 1  
> ==19445== at 0x6456BB9: KuduNotSupported() (in  
> /root/Impala/toolchain/kudu-0.8.0-RC1/release/lib64/libkudu_client.so.0.1.0)  
> ==19445== by 0x6457EF4: char* std::string::_S_construct<char*>(char*,  
> char*, std::allocator<char> const&, std::forward_iterator_tag) (in  
> /root/Impala/toolchain/kudu-0.8.0-RC1/release/lib64/libkudu_client.so.0.1.0)  
> ==19445== by 0x73AF840: _S_construct_aux<char*> (basic_string.h:1743)  
> ==19445== by 0x73AF840: _S_construct<char*> (basic_string.h:1764)  
> ==19445== by 0x73AF840: std::basic_string<char, std::char_traits<char>,  
> std::allocator<char> >::basic_string(std::string const&, unsigned  
> long, unsigned long) (basic_string.tcc:189)  
> ==19445== by 0x424BF0: substr (basic_string.h:2227)  
> ==19445== by 0x424BF0: impala::CpuInfo::Init() (cpu-info.cc:98)  
> ==19445== by 0x41B91D: main (atod-benchmark.cc:90)  
> ==19445== Address 0x0 is not stack'd, malloc'd or (recently) free'd  
> ==19445== ==19445== ==19445== Process terminating with default action  
> of signal 11 (SIGSEGV) ==19445== Access not within mapped region at  
> address 0x0  
> ==19445== at 0x6456BB9: KuduNotSupported() (in  
> /root/Impala/toolchain/kudu-0.8.0-RC1/release/lib64/libkudu_client.so.0.1.0)  
> ==19445== by 0x6457EF4: char* std::string::_S_construct<char*>(char*,  
> char*, std::allocator<char> const&, std::forward_iterator_tag) (in  
> /root/Impala/toolchain/kudu-0.8.0-RC1/release/lib64/libkudu_client.so.0.1.0)  
> ==19445== by 0x73AF840: _S_construct_aux<char*> (basic_string.h:1743)  
> ==19445== by 0x73AF840: _S_construct<char*> (basic_string.h:1764)  
> ==19445== by 0x73AF840: std::basic_string<char, std::char_traits<char>,  
> std::allocator<char> >::basic_string(std::string const&, unsigned  
> long, unsigned long) (basic_string.tcc:189)  
> ==19445== by 0x424BF0: substr (basic_string.h:2227)  
> ==19445== by 0x424BF0: impala::CpuInfo::Init() (cpu-info.cc:98)  
> ==19445== by 0x41B91D: main (atod-benchmark.cc:90)  
> ==19445== If you believe this happened as a result of a stack  
> ==19445== overflow in your program's main thread (unlikely but  
> ==19445== possible), you can try to increase the size of the  
> ==19445== main thread stack using the --main-stacksize= flag.  
> ==19445== The main thread stack size used in this run was 8388608.  
> ==19445==  
> ==19445== HEAP SUMMARY:  
> ==19445== in use at exit: 0 bytes in 0 blocks  
> ==19445== total heap usage: 0 allocs, 0 frees, 0 bytes allocated  
> ==19445==  
> ==19445== All heap blocks were freed -- no leaks are possible  
> ==19445== ==19445== For counts of detected and suppressed errors,  
> rerun with: -v ==19445== ERROR SUMMARY: 1 errors from 1 contexts  
> (suppressed: 0 from 0) Segmentation fault  
>  
> Here are some more information:  
> 1. Corresponding code line is located in:  
> Impala/be/src/util/cpu-info.cc:98 name = line.substr(0, colon - 1);  
>  
> 2. My environment configuration:  
> CPU: Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz (4 cores)  
> OS: Linux debian 4.3.0 #2 SMP Tue Nov 24 20:22:57 EST 2015 x86_64  
> GNU/Linux  
> Compiler: gcc version 4.9.2 (Debian 4.9.2-10)  
>  
> 3. If we build such benchmarks in debug mode (make_debug.sh),  
> everything runs perfectly without such "Segment fault" error.  
>  
>  
> Thanks for taking time reading this letter.  
> Any idea or help is greatly appreciated.  
>  
>  
>  
>  

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message