Hi Florin, Thanks for the hint. ATS was actually trying to bind to some ip addresses that were not in the Fib. Unfortunately, I have some other errors (that maybe recognize as well). The output of ATS is now:
[11899] vcom_init...done! [11899] vcom_constructor...done! traffic_server: using root directory '/opt/ts' [11899] accept4: in the beginning... '0000'='0034', '0x7fd79a82ce0c', '0x7fd79a82ccdc', '80800' [11899] accept4: in the beginning... '0000'='0035', '0x7fd79a61ee0c', '0x7fd79a61ecdc', '80800' [11899] accept4: in the beginning... '0000'='0038', '0x7fd799ff2e0c', '0x7fd799ff2cdc', '80800' libc_epoll_wait: Interrupted system call [11899] vcom_socket_epoll_pwait: libc_epoll_wait() failed, errno 4 libc_epoll_wait: Interrupted system call [11899] vcom_socket_epoll_pwait: libc_epoll_wait() failed, errno 4 libc_epoll_wait: Interrupted system call [11899] vcom_socket_epoll_pwait: libc_epoll_wait() failed, errno 4 And using strace I can have some additional detail: … futex(0x7faed0ba9d1c, FUTEX_WAIT_PRIVATE, 4294967294, NULL) = 0 tgkill(11586, 11601, SIGRT_1) = 0 tgkill(11586, 11598, SIGRT_1) = 0 tgkill(11586, 11597, SIGRT_1) = 0 tgkill(11586, 11596, SIGRT_1) = 0 tgkill(11586, 11595, SIGRT_1) = 0 tgkill(11586, 11588, SIGRT_1) = 0 tgkill(11586, 11587, SIGRT_1) = 0 tgkill(11586, 11600, SIGRT_1) = 0 tgkill(11586, 11599, SIGRT_1) = 0 tgkill(11586, 11594, SIGRT_1) = 0 tgkill(11586, 11593, SIGRT_1) = 0 tgkill(11586, 11592, SIGRT_1) = 0 tgkill(11586, 11591, SIGRT_1) = 0 tgkill(11586, 11590, SIGRT_1) = 0 tgkill(11586, 11589, SIGRT_1) = 0 futex(0x7ffe31755e60, FUTEX_WAIT_PRIVATE, 5, NULL) = -1 EAGAIN (Resource temporarily unavailable) futex(0x7ffe31755e60, FUTEX_WAIT_PRIVATE, 4, NULLlibc_epoll_wait: Interrupted system call [11586] vcom_socket_epoll_pwait: libc_epoll_wait() failed, errno 4 ) = 0 setgroups(1, [65534]) = 0 tgkill(11586, 11601, SIGRT_1) = 0 tgkill(11586, 11598, SIGRT_1) = 0 tgkill(11586, 11597, SIGRT_1) = 0 tgkill(11586, 11596, SIGRT_1) = 0 tgkill(11586, 11595, SIGRT_1) = 0 tgkill(11586, 11588, SIGRT_1) = 0 tgkill(11586, 11587, SIGRT_1) = 0 tgkill(11586, 11600, SIGRT_1) = 0 tgkill(11586, 11599, SIGRT_1) = 0 tgkill(11586, 11594, SIGRT_1) = 0 tgkill(11586, 11593, SIGRT_1) = 0 tgkill(11586, 11592, SIGRT_1) = 0 tgkill(11586, 11591, SIGRT_1) = 0 tgkill(11586, 11590, SIGRT_1) = 0 tgkill(11586, 11589, SIGRT_1) = 0 futex(0x7ffe31755ea0, FUTEX_WAIT_PRIVATE, 5, NULLlibc_epoll_wait: Interrupted system call [11586] vcom_socket_epoll_pwait: libc_epoll_wait() failed, errno 4 ) = 0 setregid(65534, 65534) = 0 tgkill(11586, 11601, SIGRT_1) = 0 tgkill(11586, 11598, SIGRT_1) = 0 tgkill(11586, 11597, SIGRT_1) = 0 tgkill(11586, 11596, SIGRT_1) = 0 tgkill(11586, 11595, SIGRT_1) = 0 tgkill(11586, 11588, SIGRT_1) = 0 tgkill(11586, 11587, SIGRT_1) = 0 tgkill(11586, 11600, SIGRT_1) = 0 tgkill(11586, 11599, SIGRT_1) = 0 tgkill(11586, 11594, SIGRT_1) = 0 tgkill(11586, 11593, SIGRT_1) = 0 tgkill(11586, 11592, SIGRT_1) = 0 tgkill(11586, 11591, SIGRT_1) = 0 tgkill(11586, 11590, SIGRT_1) = 0 tgkill(11586, 11589, SIGRT_1) = 0 futex(0x7ffe31755ea0, FUTEX_WAIT_PRIVATE, 9, NULLlibc_epoll_wait: Interrupted system call [11586] vcom_socket_epoll_pwait: libc_epoll_wait() failed, errno 4 ) = 0 setreuid(65534, 65534) = 0 prctl(PR_SET_DUMPABLE, 1) = 0 prctl(PR_GET_DUMPABLE) = 1 getuid() = 65534 geteuid() = 65534 Moreover, If I try to send any request to ATS (which is configured as a reversed proxy to an apache2 web server) I get the following output on ATS: ssvm_master_init:55: ssvm segment chown: Operation not permitted (errno 1) [22134] accept4: in the beginning... '0000'='0038', '0x7f9d11353e0c', '0x7f9d11353cdc', '80800' vppcom_epoll_ctl:3403: ERROR: session_index (25) is a vep! vppcom_epoll_ctl:3403: ERROR: session_index (21) is a vep! vppcom_session_at_index:307: [22134] invalid session, sid (0) has been closed! traffic_server: received signal 11 (Segmentation fault) traffic_server - STACK TRACE: vppcom_session_at_index:307: [22134] invalid session, sid (0) has been closed! vppcom_session_at_index:307: [22134] invalid session, sid (0) has been closed! [22134] accept4: in the beginning... '0000'='0038', '0x7f9d11353e0c', '0x7f9d11353cdc', '80800' vppcom_session_at_index:307: [22134] invalid session, sid (0) has been closed! vppcom_session_accept:2421: [22134] vpp handle 0x100000001, sid 33: client sid 0 lookup failed! returning -103 (VPPCOM_ECONNABORTED) [22134] ERROR: vcom_socket_accept_flags: vppcom_session_accept() returned -103![22134] accept4: in the beginning... '0000'='0038', '0x7f9d11353e0c', '0x7f9d11353cdc', '80800' /opt/ts/bin/traffic_server(_Z19crash_logger_invokeiP9siginfo_tPv+0x9e)[0x4aae5e] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f9d28ba9390] traffic_server: received signal 11 (Segmentation fault) traffic_server/lib/x86_64-linux-gnu/libc.so.6(strlen+0x26)[0x7f9d27db4746] /usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so.0.0.0(va_format+0xc8b)[0x7f9d2a5a6dbb] /usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so.0.0.0(_clib_error+0xc1)[0x7f9d2a5a1891] /usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so.0.0.0(vppcom_session_close+0x270)[0x7f9d2a590a20] /usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so.0.0.0(vcom_socket_close+0x - STACK TRACE: 93)[0x7f9d2a57be73] [22134] accept4: in the beginning... '0000'='0033', '0x7f9d11b8de0c', '0x7f9d11b8dcdc', '80800' /opt/ts/bin/traffic_server(_Z19crash_logger_invokeiP9siginfo_tPv+0x9e)[0x4aae5e] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f9d28ba9390] /usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so.0.0.0(vcom_close+0x1e)[0x7f9d2a576b0e] /usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so.0.0.0(close+0x25)[0x7f9d2a576bb5] /opt/ts/bin/traffic_server(_ZN13SocketManager5closeEi+0x1c)[0x7b21fc] /opt/ts/bin/traffic_server(_ZN18UnixNetVConnection4freeEP7EThread+0xaf)[0x771c1f] /lib/x86_64-linux-gnu/libc.so.6(strlen+0x26)[0x7f9d27db4746] /usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so.0.0.0(va_format+0xc8b)[0x7f9d2a5a6dbb] /opt/ts/bin/traffic_server(_ZN18UnixNetVConnection11acceptEventEiP5Event+0x54a)[0x777d2a] /opt/ts/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x8f)[0x7b2a3f] /opt/ts/bin/traffic_server(_ZN7EThread13process_queueEP5QueueI5EventNS1_9Link_linkEEPiS5_+0x2ce)[0x7b33ae] /opt/ts/bin/traffic_server(_ZN7EThread15execute_regularEv+0x1be)[0x7b378e] /usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so.0.0.0(_clib_error+0xc1)[0x7f9d2a5a1891] /usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so.0.0.0(vppcom_session_close+0x270)[0x7f9d2a590a20] /opt/ts/bin/traffic_server[0x7b23a2] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f9d28b9f6ba] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f9d27e303dd] Segmentation fault (core dumped) Any idea? Thank you, Alberto From: Florin Coras <fcoras.li...@gmail.com> Date: Friday 5 January 2018 at 18:11 To: "Alberto Compagno (acompagn)" <acomp...@cisco.com> Cc: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io> Subject: Re: [vpp-dev] Apache traffic server with VCL+LD_PRELOAD Alberto, From the error messages, it seems you’re trying to bind to a non 0 address that does not pertain to any interface in the fib table you’re connecting through. Are you using namespaces? Florin On Jan 5, 2018, at 7:10 AM, Alberto Compagno (acompagn) <acomp...@cisco.com<mailto:acomp...@cisco.com>> wrote: Hi, I’m trying to get Apache Traffic Server to use the TCP implementation in VPP. I was able to run the socket_test.sh and successfully test iperf3+LD_PRELOAD, however when it comes to connect Apache Traffic Server I have the following outputs: ATS output: vppcom_app_create:1958: [22942] configured debug level (0) from VCL_DEBUG! [22942] vcom_init...done! [22942] vcom_constructor...done! traffic_server: using root directory '/opt/ts' vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x21100f180, sid 2: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x20100c180, sid 3: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0xffffffff, sid 4: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x21101b180, sid 5: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x221020180, sid 6: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x20100c180, sid 7: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x0, sid 8: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x0, sid 9: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x0, sid 10: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x0, sid 11: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x0, sid 12: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x0, sid 13: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x0, sid 18: connect failed! Session failed to connect (-115) vl_api_connect_session_reply_t_handler:795: [22942] ERROR: vpp handle 0x0, sid 18: connect failed! Session failed to connect (-115) [22942] accept4: in the beginning... '0000'='0034', '0x7fbcbdd96e0c', '0x7fbcbdd96cdc', '80800' [22942] accept4: in the beginning... '0000'='0027', '0x7fbcbdb88e0c', '0x7fbcbdb88cdc', '80800' vl_api_bind_sock_reply_t_handler:943: [22942] ERROR: vpp handle 0x8dffffff, sid 23: bind failed: Invalid value #2 (-8) VPP output: vpp# 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_connect: connect failed 0: vnet_bind: bind failed Everything run on the same host (no containers) and I am using vpp v18.01-rc0~541-ga3a6ec6~b3481 installed from deb. To run ATS, I adjusted the scripts created by socket_test.sh and I invoke ATS with the following command: # LD_PRELOAD=/home/alberto/vcl/vpp/build-root/install-vpp-native/vpp/lib64/libvcl_ldpreload.so.0.0.0 /opt/ts/bin/traffic_server Any hint, help? Thank you, Alberto _______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io> https://lists.fd.io/mailman/listinfo/vpp-dev
_______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev