Hi Alberto, 

Glad it helped. Concerning the new issues you’ve hit: are you running ATS with 
multiple workers, i.e., does it fork multiple times like nginx does? If yes, 
that may be the source of the problem for vcl. Dave (CC’ed) can provide more 
details and I believe he’s working on a solution for that. 

Cheers, 
Florin

> On Jan 8, 2018, at 10:07 AM, Alberto Compagno (acompagn) <acomp...@cisco.com> 
> wrote:
> 
> 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 
> <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

Reply via email to