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

Reply via email to