NEAT-project / neat

A New, Evolutive API and Transport-Layer Architecture for the Internet
https://www.neat-project.org/
BSD 3-Clause "New" or "Revised" License
66 stars 19 forks source link

client_http_get fails setting socket option TCP_NODELAY #339

Closed vennand closed 7 years ago

vennand commented 7 years ago

Call to setsockopt(TCP_NODELAY) failed

./client_http_get -u /cgi-bin/he -v 2 bsd10.nplab.de main - option - log level: 2 1 flows - requesting: GET /cgi-bin/he HTTP/1.1 Host: bsd10.nplab.de User-agent: libneat Connection: close

[ 0.000001][INF] neat_log_init - opening logfile ... [ 0.000063][DBG] neat_init_ctx [ 0.000479][DBG] neat_new_flow [ 0.000541][DBG] neat_set_property [ 0.000632][DBG] neat_set_operations [ 0.000646][DBG] updatePollHandle [ 0.000657][DBG] updatePollHandle - loop is NULL or handle is closing - skipping [ 0.000668][DBG] neat_open [ 0.000687][DBG] neat_add_event_cb [ 0.000705][INF] neat_add_event_cb - Added new callback for event type 0 [ 0.000727][DBG] neat_add_event_cb [ 0.000748][INF] neat_add_event_cb - Added new callback for event type 2 [ 0.000862][DBG] neat_add_event_cb [ 0.000877][INF] neat_add_event_cb - Added new callback for event type 0 [ 0.000890][DBG] send_properties_to_pm [ 0.001079][DBG] Added endpoint "127.0.0.1@lo" to PM request [ 0.001103][DBG] Added endpoint "139.133.204.47@eno1" to PM request [ 0.001119][DBG] Added endpoint "::1@lo" to PM request [ 0.001136][DBG] Added endpoint "2001:630:241:204:3d8d:4d8:91f5:ac13@eno1" to PM request [ 0.001160][DBG] Added endpoint "2001:630:241:204:986f:2fa7:7549:bb81@eno1" to PM request [ 0.001251][DBG] fe80::a02d:b5f:378f:b53f%eno1 is a link-local address, skipping [ 0.001286][DBG] neat_json_send_once Opened flow 0x556c6055df90 [ 0.001445][DBG] neat_start_event_loop [ 0.001468][DBG] on_pm_error [ 0.001487][DBG] on_pm_error [ 0.001505][DBG] ===== Unable to communicate with PM, using fallback =====, error code = 1 [ 0.001600][INF] Available src-addresses: [ 0.001633][INF] IPv4: 127.0.0.1/8 [ 0.001656][DBG] neat_run_event_cb [ 0.002135][INF] Available src-addresses: [ 0.002157][INF] IPv4: 139.133.204.47/24 [ 0.002171][INF] IPv4: 127.0.0.1/8 [ 0.002189][DBG] neat_run_event_cb [ 0.002483][INF] Available src-addresses: [ 0.002512][INF] IPv6: ::1/128 pref 4294967295 valid 4294967295 [ 0.002538][INF] IPv4: 139.133.204.47/24 [ 0.002558][INF] IPv4: 127.0.0.1/8 [ 0.002577][DBG] neat_run_event_cb [ 0.003977][INF] Available src-addresses: [ 0.004001][INF] IPv6: 2001:630:241:204:3d8d:4d8:91f5:ac13/64 pref 20667 valid 539667 [ 0.004017][INF] IPv6: ::1/128 pref 4294967295 valid 4294967295 [ 0.004044][INF] IPv4: 139.133.204.47/24 [ 0.004067][INF] IPv4: 127.0.0.1/8 [ 0.004091][DBG] neat_run_event_cb [ 0.004590][INF] Available src-addresses: [ 0.004612][INF] IPv6: 2001:630:241:204:986f:2fa7:7549:bb81/64 pref 604709 valid 2591909 [ 0.004638][INF] IPv6: 2001:630:241:204:3d8d:4d8:91f5:ac13/64 pref 20667 valid 539667 [ 0.004668][INF] IPv6: ::1/128 pref 4294967295 valid 4294967295 [ 0.004699][INF] IPv4: 139.133.204.47/24 [ 0.004727][INF] IPv4: 127.0.0.1/8 [ 0.004754][DBG] neat_run_event_cb [ 0.104746][DBG] open_resolve_cb [ 0.104866][DBG] combine_candidates [ 0.104886][DBG] neat_he_open [ 0.104906][DBG] HE Candidate 0: lo [ 1] SCTP/IPv4 <saddr 127.0.0.1> <dstaddr 212.201.121.100> port 80 priority 0 [ 0.104927][DBG] HE Candidate 1: lo [ 1] TCP/IPv4 <saddr 127.0.0.1> <dstaddr 212.201.121.100> port 80 priority 1 [ 0.104951][DBG] HE will now commence [ 0.104970][DBG] neat_connect [ 0.105032][WRN] Could not bind fd 12 socket to interface lo [ 0.105066][DBG] SCTP stream negotiation - offering : 123 in / 123 out [ 0.105137][DBG] neat_he_open: Connect successful for fd 12, ret = 0 [ 0.115411][DBG] on_he_connect_req [ 0.115446][DBG] neat_connect [ 0.115477][INF] neat_connect: Bind fd 13 to 127.0.0.1 [ 0.115531][WRN] Could not bind fd 13 socket to interface lo [ 0.115550][WRN] neat_connect - Call to setsockopt(TCP_NODELAY) failed [ 0.115587][DBG] neat_connect: Connect failed for fd 13 connect error (22): Invalid argument [ 0.115608][DBG] on_he_connect_req: Connect failed with ret = -2 [ 0.115622][DBG] he_conn_attempt: 1 [ 0.115636][DBG] neat_free_candidate [ 12.441545][DBG] he_connected_cb [ 12.441596][DBG] Invokation count: 1 [ 12.441608][DBG] HE Candidate connected: lo [ 1] SCTP/IPv4 <saddr 127.0.0.1> <dstaddr 212.201.121.100> port 80 priority 0 [ 12.441631][DBG] he_connected_cb - Connection status: 110 [ 12.441657][DBG] he_connected_cb - NOT first connect [ 12.441679][DBG] send_result_connection_attempt_to_pm [ 12.441733][INF] Sending HE result to PM for caching [ 12.441751][DBG] neat_json_send_once_no_reply [ 12.441858][DBG] he_connected_cb:Release candidate [ 12.441900][DBG] neat_io_error on_error [ 12.441929][DBG] neat_free_ctx [ 12.441951][DBG] neat_remove_event_cb [ 12.441969][INF] neat_remove_event_cb - Removed callback for type 0 [ 12.441990][DBG] neat_remove_event_cb [ 12.442002][INF] neat_remove_event_cb - Removed callback for type 2 [ 12.442027][DBG] neat_free_flow [ 12.442046][DBG] neat_free_candidates [ 12.442062][DBG] synchronous_free [ 12.442083][DBG] neat_close_socket [ 12.442096][DBG] neat_close_via_kernel [ 12.442115][DBG] neat_notify_close - state: 1 [ 12.442135][WRN] neat_notify_close - flow already closed - skipping [ 12.442163][DBG] synchronous_free - neat_resolver_free_results [ 12.442195][DBG] neat_core_cleanup [ 12.442212][DBG] neat_close_loop [ 12.442230][DBG] on_pm_error [ 12.442250][DBG] on_pm_he_error [ 12.442273][DBG] Unable to communicate with PM, error code = 1 [ 12.442320][DBG] neat_walk_cb [ 12.442343][DBG] neat_walk_cb - closing handle [ 12.442365][DBG] neat_walk_cb [ 12.442387][DBG] neat_walk_cb - closing handle [ 12.442417][DBG] neat_walk_cb [ 12.442436][DBG] neat_walk_cb - handle->type == UV_IDLE - skipping [ 12.442460][DBG] neat_walk_cb [ 12.442481][DBG] neat_walk_cb - closing handle [ 12.442519][DBG] neat_walk_cb [ 12.442536][DBG] neat_walk_cb - closing handle [ 12.442559][DBG] neat_walk_cb [ 12.442579][DBG] neat_walk_cb - closing handle [ 12.442610][DBG] neat_walk_cb [ 12.442777][INF] neat_log_close - closing logfile ... returning with 1

vennand commented 7 years ago

Issue on Ubuntu Zesty 17.04

vennand commented 7 years ago

Build and run on VirtualBox Ubuntu 16.04.2 Build, but doesn't run, with same error, on VirtualBox Ubuntu Zesty 17.04

weinrank commented 7 years ago

If the setsockopt call fails, it doesn't cause the application stop working. If I read the log correctly, NEAT fails to establish a connection after 12 seconds. So it's simply a connection timeout.

weinrank commented 7 years ago

closed by #342