openziti / ziti-tunnel-sdk-c

Apache License 2.0
43 stars 17 forks source link

segfault if failed to get session from ctrl #175

Closed qrkourier closed 3 years ago

qrkourier commented 3 years ago

Expectation: ziti-edge-tunnel continues to operate when at least one identity loaded from identity-dir is able to obtain an API session from ctrl

Observation: ziti-edge-tunnel dies with segfault if any one identity can not be used to obtain an API session

[        0.270]   ERROR dk-c-src/library/ziti_ctrl.c:181 ctrl_login_cb() INVALID_AUTH(The authentication request failed)
[        0.270]    WARN dk-c-src/library/ziti.c:865 session_cb() ztx[5] failed to get session from ctrl[https://23.22.127.125:443] INVALID_AUTH[-14] The authentication request failed
[        0.270]   ERROR dk-c-src/library/ziti.c:878 session_cb() ztx[5] identity[/ziti-edge-tunnel/kenLinux2.json] cannot authenticate with ctrl[https://23.22.127.125:443]
11 Segmentation fault      (core dumped) ziti-edge-tunnel run "${@}"
qrkourier commented 3 years ago
root@kpop4:/# ziti-edge-tunnel version
v0.17.12

Simultaneously, other identities from Ziti networks that no longer exist also failed to obtain an API session from ctrl, but did not trigger a segfault, only a WARN message.

[       85.549]   ERROR d-src/src/tcp_src.c:95 connect failed: -3008(unknown node or service)
[       85.549]   DEBUG d-src/src/http.c:231 failed to connect: -3008(unknown node or service)
[       85.549]    WARN dk-c-src/library/ziti.c:865 session_cb() ztx[7] failed to get session from ctrl[https://415f678b-cc52-41e4-aa11-baa9e7b3ede8.staging.netfoundry.io:443] CONTROLLER_UNAVAILABLE[-15] unknown node or service
qrkourier commented 3 years ago

Here's another example of a segfault immediately following re-auth failure with v0.17.12.

[    45830.241]   ERROR d-src/src/http.c:163 handshake failed status[3]
[    45830.372]    WARN dk-c-src/library/ziti.c:561 ziti_re_auth_with_cb() ztx[7] starting to re-auth with ctlr[https://415f678b-cc52-41e4-aa11-baa9e7b3ede8.staging.netfoundry.io:443]
[    45830.583]    WARN dk-c-src/library/ziti.c:561 ziti_re_auth_with_cb() ztx[5] starting to re-auth with ctlr[https://2fda02ad-f652-4b93-aebf-2eb5412bd95b.production.netfoundry.io:443]
[    45833.320]   ERROR d-src/src/tcp_src.c:69 failed to connect: -113(host is unreachable)
[    45833.320]    WARN d-src/src/uv_mbed.c:125 failed to connect
/docker-entrypoint.sh: line 18:    12 Segmentation fault      (core dumped) ziti-edge-tunnel run "${@}"
ekoby commented 3 years ago

I believe that was fixed with newer C-SDK