[jira] [Commented] (THRIFT-4618) TNonblockingServer crash because of limitation of select()
[ https://issues.apache.org/jira/browse/THRIFT-4618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16645987#comment-16645987 ] ASF GitHub Bot commented on THRIFT-4618: st0ke commented on issue #1580: THRIFT-4618: Use poll() instead of select() in C++ TNonblockingServer if available URL: https://github.com/apache/thrift/pull/1580#issuecomment-428824059 "Travis build" failed in D language tests. Do I need to do something with that? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > TNonblockingServer crash because of limitation of select() > -- > > Key: THRIFT-4618 > URL: https://issues.apache.org/jira/browse/THRIFT-4618 > Project: Thrift > Issue Type: Bug > Components: C++ - Library >Affects Versions: 0.9.3 >Reporter: Alexander Boldyrev >Priority: Critical > Labels: C++, TNonblockingServer > > Process opened more than 1024 file descriptors. When new incoming connection > was established to TNonblockingServer, sig 6 came from one of > 'select'-related macros (FD_ZERO/FD_SET). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Erik updated THRIFT-4649: - Attachment: image-2018-10-10-11-03-49-306.png > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16644670#comment-16644670 ] Erik commented on THRIFT-4649: -- attaching output from my latest run of configure !image-2018-10-10-11-03-49-306.png! > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > Attachments: image-2018-10-10-11-03-49-306.png > > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16644661#comment-16644661 ] Erik commented on THRIFT-4649: -- seems the example cites a CalculatorProcessorFactory class, but it's not present in the generated files.. is it then expected we implement this? [https://github.com/apache/thrift/blob/0.10.0/tutorial/cpp/CppServer.cpp#L136] {code:java} int main() { TThreadedServer server( boost::make_shared(boost::make_shared()), boost::make_shared(9090), //port boost::make_shared(), {code} > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16644539#comment-16644539 ] Erik edited comment on THRIFT-4649 at 10/10/18 7:03 AM: Thank you, I indeed had added the {code:java} ... -levent ... {code} and had double checked libevent-dev was present (it is). Yet the error is the same. I may try on a fresh system again.. or in a docker container. However, I don't even want a non-blocking server...leading me to wonder, do I have to indicate that in the "myservice.thrift" service description so that the generated skeleton uses blocking server implementations... or do I simply lift the sample Server from the 0.10.0 branch tutorial and attempt to compile that? I ask because the skeleton looked a little different from the sample file(s) in the tutorial was (Author: emcp): Thank you, I indeed had added the {code:java} ... -levent ... {code} and had double checked libevent-dev was present (it is). Yet the error is the same. I may try on a fresh system again.. or in a docker container. However, I don't even want a non-blocking server...leading me to wonder, do I have to indicate that in the .thrift service description so that the generated skeleton uses blocking server implementations... or do I simply lift the sample Server from the 0.10.0 branch tutorial and attempt to compile that? I ask because the skeleton looked a little different from the sample file(s) in the tutorial > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16644539#comment-16644539 ] Erik edited comment on THRIFT-4649 at 10/10/18 7:02 AM: Thank you, I indeed had added the {code:java} ... -levent ... {code} and had double checked libevent-dev was present (it is). Yet the error is the same. I may try on a fresh system again.. or in a docker container. However, I don't even want a non-blocking server...leading me to wonder, do I have to indicate that in the .thrift service description so that the generated skeleton uses blocking server implementations... or do I simply lift the sample Server from the 0.10.0 branch tutorial and attempt to compile that? I ask because the skeleton looked a little different from the sample file(s) in the tutorial was (Author: emcp): Thank you, I indeed had added the {code:java} ... -levent ... {code} and had double checked libevent-dev was present (it is). However, I perhaps don't even WANT a non-blocking server...leading me to wonder, do I have to indicate that in the .thrift service description so that the generated skeleton uses blocking server implementations... or do I simply lift the sample Server from the 0.10.0 branch tutorial and attempt to compile that? I ask because the skeleton looked a little different from the sample file(s) in the tutorial > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (THRIFT-4649) Error when attempting to link Thrift Server in C++
[ https://issues.apache.org/jira/browse/THRIFT-4649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16644539#comment-16644539 ] Erik commented on THRIFT-4649: -- Thank you, I indeed had added the {code:java} ... -levent ... {code} and had double checked libevent-dev was present (it is). However, I perhaps don't even WANT a non-blocking server...leading me to wonder, do I have to indicate that in the .thrift service description so that the generated skeleton uses blocking server implementations... or do I simply lift the sample Server from the 0.10.0 branch tutorial and attempt to compile that? I ask because the skeleton looked a little different from the sample file(s) in the tutorial > Error when attempting to link Thrift Server in C++ > --- > > Key: THRIFT-4649 > URL: https://issues.apache.org/jira/browse/THRIFT-4649 > Project: Thrift > Issue Type: Question > Components: C++ - Compiler >Affects Versions: 0.10.0 > Environment: Ubuntu 18.04 LTS with all prerequisites on latest from > apt install >Reporter: Erik >Assignee: James E. King III >Priority: Major > > I am attempting to compile Thrift with a particular flag .. in this case > {code:java} > ./configure _GLIBCXX_USE_CXX11_ABI=0{code} > This compiles just fine, and the library installs successfully to > /usr/local/lib, but when I am attempting to link it seems to want the > non-blocking library.. I've attempted to add it to no avail > > > {code:java} > #!/bin/sh > echo "Step 1: change to build dir" > cd build > echo "Step 2: compile" > g++ -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -c ../src/Server/MyServer.cpp > ../src/gen-cpp/*.cpp -std=c++11 -I/usr/local/include/thrift > -I../deps/another_lib/Includes > echo "Step 3: link" > g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -std=c++11 -Wall *.o > -L../deps/another_lib -L../deps/libone -L../deps/libtwo -lanother_lib > -L/usr/local/lib -lthrift -lthriftnb -llogger -lanotherlogger -lpthread -o > My-Cpp-Server > echo "Step 4: change back dirs" > cd .. > {code} > > It feels like it is attempting to link, but cannot see the non-blocking > library.. > > {code:java} > virtual-machine:~/Dev/git/project$ sh build-cpp-server.sh > Step 1: change to build dir > Step 2: compile > Step 3: link > Rio.o: In function `rio::RioConcurrentClient::recv_init(int)': > Rio.cpp:(.text+0x3293): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x360e): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > Rio.o: In function `rio::RioConcurrentClient::recv_manipulate_can(int)': > Rio.cpp:(.text+0x39d2): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::string&, > apache::thrift::protocol::TMessageType&, int&)' > Rio.cpp:(.text+0x3d37): undefined reference to > `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::string > const&, apache::thrift::protocol::TMessageType, int)' > collect2: error: ld returned 1 exit status > Step 4: change back dirs > {code} > any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)