Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

httpd print “std::system_error (error system:103, Software caused connection abort),” when seawreck run with multiple cores and connections #418

Closed
tedqian opened this issue Mar 12, 2018 · 1 comment

Comments

@tedqian
Copy link

tedqian commented Mar 12, 2018

when run the demo httpd and seawreck application:

httpd application run with the parameters:./httpd --network-stack native --dpdk-pmd --host-ipv4-addr=1.1.1.17 --gw-ipv4-addr=1.1.1.17 --netmask-ipv4-addr=255.255.255.0 -m 64G -c 20

seawreck application run with the parameters:./seawreck --server=1.1.1.17:10000 --smp=40 --conn=40 --reqs=1000000000 --duration=1000 --network-stack native --dpdk-pmd --host-ipv4-addr=1.1.1.18 --gw-ipv4-addr=1.1.1.17 --netmask-ipv4-addr=255.255.255.0 -m 64G

the httpd application print:
WARN 2018-03-12 13:43:02,570 [shard 1] seastar - Exceptional future ignored: std::system_error (error system:103, Software caused connection abort), backtrace: 0x5478c4
0x427bfa
0x4d9827
0x4da164
0x4dde86
0x570037
0x543854
0x5981de
0x59d802
0x542cdd
0x816a9a
/lib64/libpthread.so.0+0x7e24
/lib64/libc.so.6+0xf834c

run command:seastar-addr2line -e build/release/apps/httpd/httpd

seastar::report_failed_future(std::__exception_ptr::exception_ptr) at /home/seastar/seastar/core/reactor.cc:4208
seastar::promise<>::abandoned() at /home/seastar/seastar/./core/future.hh:1240
seastar::promise<>::~promise() at /home/seastar/seastar/./core/future.hh:458
(inlined by) seastar::net::tcpseastar::net::ipv4_traits::tcb::~tcb() at /home/seastar/seastar/net/tcp.hh:304
(inlined by) seastar::internal::lw_shared_ptr_accessors_esft<seastar::net::tcpseastar::net::ipv4_traits::tcb>::dispose(seastar::lw_shared_ptr_counter_base*) at /home/seastar/seastar/./core/shared_ptr.hh:194
seastar::net::tcpseastar::net::ipv4_traits::received(seastar::net::packet, seastar::net::ipv4_address, seastar::net::ipv4_address) at ??:? tcp.hh line 839 lw_shared_ptr tcbp;
seastar::net::ipv4_tcp::received(seastar::net::packet, seastar::net::ipv4_address, seastar::net::ipv4_address) at ??:?
seastar::net::ipv4::handle_received_packet(seastar::net::packet, seastar::net::ethernet_address) at /home/seastar/seastar/net/ip.cc:222
std::_Function_handler<seastar::future<> (seastar::net::packet, seastar::net::ethernet_address), seastar::net::ipv4::ipv4(seastar::net::interface*)::{lambda(seastar::net::packet, seastar::net::ethernet_address)#2}>::_M_invoke(std::_Any_data const&, seastar::net::packet&&, seastar::net::ethernet_address&&) at ip.cc:?
std::function<seastar::future<> (seastar::net::packet, seastar::net::ethernet_address)>::operator()(seastar::net::packet, seastar::net::ethernet_address) const at /usr/local/gcc6/include/c++/6.3.0/functional:2127
(inlined by) std::enable_if<seastar::is_future<std::result_of<std::function<seastar::future<> (seastar::net::packet, seastar::net::ethernet_address)>& (seastar::net::packet&&, seastar::net::ethernet_address&&)>::type>::value, seastar::future<> >::type seastar::do_void_futurize_apply<std::function<seastar::future<> (seastar::net::packet, seastar::net::ethernet_address)>&, seastar::net::packet, seastar::net::ethernet_address>(std::function<seastar::future<> (seastar::net::packet, seastar::net::ethernet_address)>&, seastar::net::packet&&, seastar::net::ethernet_address&&) at /home/seastar/seastar/./core/future.hh:1309
(inlined by) seastar::future<> seastar::futurize::apply<std::function<seastar::future<> (seastar::net::packet, seastar::net::ethernet_address)>&, seastar::net::packet, seastar::net::ethernet_address>(std::function<seastar::future<> (seastar::net::packet, seastar::net::ethernet_address)>&, seastar::net::packet&&, seastar::net::ethernet_address&&) at /home/seastar/seastar/./core/future.hh:1345
(inlined by) seastar::stream<seastar::net::packet, seastar::net::ethernet_address>::produce(seastar::net::packet, seastar::net::ethernet_address) at /home/seastar/seastar/./core/stream.hh:164
(inlined by) seastar::net::interface::dispatch_packet(seastar::net::packet) at /home/seastar/seastar/net/net.cc:327
std::_Function_handler<seastar::future<> (seastar::net::packet), seastar::net::interface::interface(std::shared_ptrseastar::net::device)::{lambda(seastar::net::packet)#1}>::_M_invoke(std::_Any_data const&, seastar::net::packet&&) at net.cc:?
std::function<seastar::future<> (seastar::net::packet)>::operator()(seastar::net::packet) const at /usr/local/gcc6/include/c++/6.3.0/functional:2127
(inlined by) std::enable_if<seastar::is_future<std::result_of<std::function<seastar::future<> (seastar::net::packet)>& (seastar::net::packet&&)>::type>::value, seastar::future<> >::type seastar::do_void_futurize_apply<std::function<seastar::future<> (seastar::net::packet)>&, seastar::net::packet>(std::function<seastar::future<> (seastar::net::packet)>&, seastar::net::packet&&) at /home/seastar/seastar/./core/future.hh:1309
(inlined by) seastar::future<> seastar::futurize::apply<std::function<seastar::future<> (seastar::net::packet)>&, seastar::net::packet>(std::function<seastar::future<> (seastar::net::packet)>&, seastar::net::packet&&) at /home/seastar/seastar/./core/future.hh:1345
(inlined by) seastar::streamseastar::net::packet::produce(seastar::net::packet) at /home/seastar/seastar/./core/stream.hh:164
(inlined by) seastar::net::device::l2receive(seastar::net::packet) at /home/seastar/seastar/net/net.hh:269
seastar::dpdk::dpdk_qp::process_packets(rte_mbuf**, unsigned short) at ??:?
seastar::dpdk::dpdk_qp::poll_rx_once() at ??:?
std::_Function_handler<bool (), seastar::reactor::run()::{lambda()#7}>::_M_invoke(std::_Any_data const&) at reactor.cc:?
seastar::reactor::run() at ??:?
seastar::smp::configure(boost::program_options::variables_map)::{lambda()#3}::operator()() const at reactor.cc:?
seastar::dpdk_thread_adaptor(void*) at ??:?
eal_thread_loop at ??:?
start_thread at pthread_create.c:?
^C__clone at ??:?

if change the --smp=1 --conn=1,it works fine
./seawreck --server=1.1.1.17:10000 --smp=1 --conn=1 --reqs=1000000000 --duration=1000 --network-stack native --dpdk-pmd --host-ipv4-addr=1.1.1.18 --gw-ipv4-addr=1.1.1.17 --netmask-ipv4-addr=255.255.255.0 -m 64G

something wrong with the parameters?

@tedqian tedqian changed the title httpd print “std::system_error (error system:103, Software caused connection abort),” when seawreck with multiple core and connections httpd print “std::system_error (error system:103, Software caused connection abort),” when seawreck with multiple cores and connections Mar 12, 2018
@tedqian tedqian changed the title httpd print “std::system_error (error system:103, Software caused connection abort),” when seawreck with multiple cores and connections httpd print “std::system_error (error system:103, Software caused connection abort),” when seawreck run with multiple cores and connections Mar 12, 2018
@tedqian tedqian closed this as completed Mar 30, 2018
@tedqian
Copy link
Author

tedqian commented Mar 30, 2018

NIC driver name caused this problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant