You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Kashirin Alex (JIRA)" <ji...@apache.org> on 2018/06/09 14:57:00 UTC

[jira] [Created] (THRIFT-4584) runtime issues with a ThriftBroker/server built with GCC8

Kashirin Alex created THRIFT-4584:
-------------------------------------

             Summary: runtime issues with a ThriftBroker/server built with GCC8
                 Key: THRIFT-4584
                 URL: https://issues.apache.org/jira/browse/THRIFT-4584
             Project: Thrift
          Issue Type: Bug
          Components: C++ - Library
    Affects Versions: 0.11.0, 0.10.0
         Environment: the environment Ubuntu 18.04 and dev. environment is straight forward by [https://github.com/kashirin-alex/environments-builder/blob/master/build-env.sh] in this case with GCC 8.1.0 

 
            Reporter: Kashirin Alex


issues coming from a compilation made with GCC 8.1.0 while a build with GCC 7.3 is passing all the tests.
Main subject in question, Are there any familiar issue/requirement to compile with GCC 8.1.0 ?

The tests are: [https://github.com/kashirin-alex/hypertable/blob/master/src/cc/ThriftBroker/tests/client_test.cc]

The source of the ThriftServer is at [https://github.com/kashirin-alex/hypertable/blob/master/src/cc/ThriftBroker/ThriftBroker.cc]

There are no issues with ThriftBroker accepts and closes clients connections.
while there is an error of "received invalid message type 0 from client" that happens with the initial T_CALL and looks like the issue is surrounding the read from client [https://github.com/apache/thrift/blob/master/lib/cpp/src/thrift/TDispatchProcessor.h#L76] and it is for probably all the initial fname call
by the source of gen-cpp at [https://github.com/kashirin-alex/hypertable/tree/master/src/cc/ThriftBroker/thrift-0.11.0/gen-cpp], generated by [https://github.com/kashirin-alex/hypertable/blob/master/src/cc/ThriftBroker/Hql.thrift]
in this error case it is for the following client call "client->generate_guid(String)"
for the header of [https://github.com/kashirin-alex/hypertable/blob/master/src/cc/ThriftBroker/thrift-0.11.0/gen-cpp/ClientService.h#L887]

source at ]https://raw.githubusercontent.com/kashirin-alex/hypertable/master/src/cc/ThriftBroker/thrift-0.11.0/gen-cpp/ClientService.cpp] to look for: "void ClientServiceClient::send_generate_guid()"



Linking CXX executable htThriftBroker

{code:bash}
cd /root/builds/builts/hypertable/src/cc/ThriftBroker && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/htThriftBroker.dir/link.txt --verbose=1
/usr/local/bin/c++  -DHAVE_NETINET_IN_H  -Wno-long-long -Wall -Wno-unknown-pragmas -pedantic -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -m64 -D_REENTRANT -fPIC -std=c++17 -U__STRICT_ANSI__ -Wno-terminate -O3 -flto -fuse-linker-plugin -ffat-lto-objects -floop-interchange -DTCMALLOC_MINIMAL -DHT_WITH_THRIFT -Wno-variadic-macros -O3 -DNDEBUG  -rdynamic CMakeFiles/htThriftBroker.dir/ThriftBroker.cc.o CMakeFiles/htThriftBroker.dir/MetricsHandler.cc.o  -o htThriftBroker libHyperThriftConfig.a ../HyperAppHelper/libHyperAppHelper.a libHyperThrift.a -Wl,--whole-archive /usr/local/lib/libthrift.a /usr/local/lib/libthriftnb.a /usr/local/lib/libthriftz.a /usr/local/lib/libevent.a /usr/local/lib/libssl.a -Wl,--no-whole-archive ../Hypertable/Lib/libHypertable.a -lm -Wl,--whole-archive /usr/local/lib/libsnappy.a /usr/local/lib/libexpat.a -Wl,--no-whole-archive ../Hyperspace/libHyperspace.a ../Tools/Lib/libHyperTools.a -Wl,--whole-archive /usr/local/lib/libedit.a -Wl,--no-whole-archive ../FsBroker/Lib/libHyperFsBroker.a ../AsyncComm/libHyperComm.a ../Common/libHyperCommon.a -lpthread -ldl -Wl,--whole-archive /usr/local/lib/libtcmalloc_minimal.a /usr/local/lib/libboost_system.a /usr/local/lib/libboost_filesystem.a /usr/local/lib/libboost_iostreams.a /usr/local/lib/libboost_program_options.a /usr/local/lib/libboost_thread.a /usr/local/lib/libboost_chrono.a /usr/local/lib/libz.a /usr/local/lib/libbz2.a /usr/local/lib/liblzma.a /usr/local/lib/libncursesw.a /usr/local/lib/libre2.a /usr/local/lib/libcrypto.a -Wl,--no-whole-archive ../ThirdParty/libHyperThirdParty.a -static-libgcc -static-libstdc++ 
{code}




It can be great to have suggestions on reasons for the issue at runtime for a build with GCC8
and considering GCC 8.1.0 changes for strictness for casting, Are there any issues in progress (I could not find any related to GCC 8.1.0) ?


 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)