<div dir="ltr">Dear Andy,<div>        I reproduced the issue.</div><div>        I use the eclipse to debug lwsws step by step.</div><div><b>        work well  case:  </b></div><div><div>Root process is 2275</div><div>lwsws[2275]: _realloc: size 3288: context</div><div>lwsws[2275]: _realloc: size 4096: pt_serv_buf</div><div>lwsws[2275]: _realloc: size 524288: peer limits hash table</div><div>lwsws[2275]: _realloc: size 8388608: fds table</div><div>lwsws[2275]: _realloc: size 8388608: lws_lookup</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: _realloc: size 128: plugin</div><div>lwsws[2275]: adding mount /</div><div>lwsws[2275]: adding mount /server-status</div><div>lwsws[2275]: adding mount /testcgi</div><div>lwsws[2275]: adding mount /formtest</div><div>lwsws[2275]: _realloc: size 520: create vhost</div><div>lwsws[2275]: _realloc: size 784: vhost-specific plugin table</div><div>lwsws[2275]: _realloc: size 56: same vh list</div><div>lwsws[2275]: _realloc: size 832: listen wsi</div><div>lwsws[2275]: insert_wsi_socket_into_fds: 0x6394f0: tsi=0, sock=20, pos-in-fds=0</div><div>lwsws[2275]: lws_uv_timeout_cb</div><div>lwsws[2275]: _realloc: size 56: protocol_vh_privs</div><div>lwsws[2275]: _realloc: size 40: vh priv</div><div>lwsws[2275]: _realloc: size 33984: vh priv</div><div>lwsws[2275]: _realloc: size 8: vh priv</div><div>lwsws[2275]: _realloc: size 176: vh priv</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:20 mode: 10</div><div><br></div><div>lwsws[2275]: accepted new conn port 39332 on fd=15</div><div>lwsws[2275]: _realloc: size 88: peer</div><div>lwsws[2275]: _realloc: size 832: new server wsi</div><div>lwsws[2275]: new wsi 0x642e40 joining vhost localhost, tsi 0</div><div>lwsws[2275]: lws_adopt_descriptor_vhost: new wsi 0x642e40, sockfd 15</div><div>lwsws[2275]: insert_wsi_socket_into_fds: 0x642e40: tsi=0, sock=15, pos-in-fds=1</div><div>lwsws[2275]: inserted SSL accept into fds, trying SSL_accept</div><div>lwsws[2275]: lws_ssl_get_error: 0x643450 -1 -> 2</div><div>lwsws[2275]: _realloc: size 2960: ah struct</div><div>lwsws[2275]: _realloc: size 4096: ah data</div><div>lwsws[2275]: Attached ah immediately</div><div>lwsws[2275]: accepted new conn port 39334 on fd=16</div><div>lwsws[2275]: _realloc: size 832: new server wsi</div><div>lwsws[2275]: new wsi 0x654e00 joining vhost localhost, tsi 0</div><div>lwsws[2275]: lws_adopt_descriptor_vhost: new wsi 0x654e00, sockfd 16</div><div>lwsws[2275]: insert_wsi_socket_into_fds: 0x654e00: tsi=0, sock=16, pos-in-fds=2</div><div>lwsws[2275]: inserted SSL accept into fds, trying SSL_accept</div><div>lwsws[2275]: lws_ssl_get_error: 0x655e40 -1 -> 2</div><div>lwsws[2275]: _realloc: size 2960: ah struct</div><div>lwsws[2275]: _realloc: size 4096: ah data</div><div>lwsws[2275]: Attached ah immediately</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:15 mode: 6</div><div><br></div><div>lwsws[2275]: accepted new SSL conn</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:15 mode: 0</div><div><br></div><div>lwsws[2275]: 0x642e40: SSL_read says 0</div><div>lwsws[2275]: lws_close_free_wsi: 0x642e40</div><div>lwsws[2275]: lws_close_free_wsi: real just_kill_connection: 0x642e40 (sockfd 15)</div><div>lwsws[2275]: remove_wsi_socket_from_fds: wsi=0x642e40, sock=15, fds pos=1, end guy pos=3, endfd=0</div><div>lwsws[2275]: calling back CLOSED 0 4</div><div>lwsws[2275]: lws_close_free_wsi: lws_libuv_closehandle: wsi 0x642e40</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:16 mode: 6</div><div><br></div><div>lwsws[2275]: accepted new SSL conn</div><div>lwsws[2275]: lws_header_table_detach: wsi 0x642e40: ah held 11s, ah.rxpos -1, ah.rxlen -1, mode/state 0 4,wsi->more_rx_waiting 0</div><div>lwsws[2275]: lws_free_wsi: 0x642e40, remaining wsi 2</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:16 mode: 0</div><div><br></div><div>lwsws[2275]: 0x654e00: SSL_read says 0</div><div>lwsws[2275]: lws_close_free_wsi: 0x654e00</div><div>lwsws[2275]: lws_close_free_wsi: real just_kill_connection: 0x654e00 (sockfd 16)</div><div>lwsws[2275]: remove_wsi_socket_from_fds: wsi=0x654e00, sock=16, fds pos=1, end guy pos=2, endfd=16</div><div>lwsws[2275]: calling back CLOSED 0 4</div><div>lwsws[2275]: lws_close_free_wsi: lws_libuv_closehandle: wsi 0x654e00</div><div>lwsws[2275]: lws_header_table_detach: wsi 0x654e00: ah held 12s, ah.rxpos -1, ah.rxlen -1, mode/state 0 4,wsi->more_rx_waiting 0</div><div>lwsws[2275]: lws_free_wsi: 0x654e00, remaining wsi 1</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:20 mode: 10</div><div><br></div><div>lwsws[2275]: accepted new conn port 39336 on fd=15</div><div>lwsws[2275]: _realloc: size 832: new server wsi</div><div>lwsws[2275]: new wsi 0x654e00 joining vhost localhost, tsi 0</div><div>lwsws[2275]: lws_adopt_descriptor_vhost: new wsi 0x654e00, sockfd 15</div><div>lwsws[2275]: insert_wsi_socket_into_fds: 0x654e00: tsi=0, sock=15, pos-in-fds=1</div><div>lwsws[2275]: inserted SSL accept into fds, trying SSL_accept</div><div><font color="#ff0000">lwsws[2275]: lws_ssl_get_error: 0x655e40 -1 -> 2</font></div><div>lwsws[2275]: _realloc: size 2960: ah struct</div><div>lwsws[2275]: _realloc: size 4096: ah data</div><div>lwsws[2275]: Attached ah immediately</div><div>lwsws[2275]: accepted new conn port 39338 on fd=16</div><div>lwsws[2275]: _realloc: size 832: new server wsi</div><div>lwsws[2275]: new wsi 0x653290 joining vhost localhost, tsi 0</div><div>lwsws[2275]: lws_adopt_descriptor_vhost: new wsi 0x653290, sockfd 16</div><div>lwsws[2275]: insert_wsi_socket_into_fds: 0x653290: tsi=0, sock=16, pos-in-fds=2</div><div>lwsws[2275]: inserted SSL accept into fds, trying SSL_accept</div><div><font color="#ff0000">lwsws[2275]: lws_ssl_get_error: 0x6535e0 -1 -> 2</font></div><div>lwsws[2275]: _realloc: size 2960: ah struct</div><div>lwsws[2275]: _realloc: size 4096: ah data</div><div>lwsws[2275]: Attached ah immediately</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:15 mode: 6</div><div><br></div><div>lwsws[2275]: accepted new SSL conn</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:15 mode: 0</div><div><br></div><div>lwsws[2275]: 0x654e00: SSL_read says 377</div><div>lwsws[2275]: </div><div>lwsws[2275]: 0000: 47 45 54 20 2F 68 63 70 2F 77 65 62 73 6F 63 6B    GET /hcp/websock</div><div>lwsws[2275]: 0010: 65 74 2E 68 74 6D 6C 20 48 54 54 50 2F 31 2E 31    et.html HTTP/1.1</div><div>lwsws[2275]: 0020: 0D 0A 48 6F 73 74 3A 20 31 32 37 2E 30 2E 30 2E    ..Host: 127.0.0.</div><div>lwsws[2275]: 0030: 31 3A 37 36 38 31 0D 0A 44 4E 54 3A 20 31 0D 0A    1:7681..DNT: 1..</div><div>lwsws[2275]: 0040: 41 63 63 65 70 74 3A 20 74 65 78 74 2F 68 74 6D    Accept: text/htm</div><div>lwsws[2275]: 0050: 6C 2C 61 70 70 6C 69 63 61 74 69 6F 6E 2F 78 68    l,application/xh</div><div>lwsws[2275]: 0060: 74 6D 6C 2B 78 6D 6C 2C 61 70 70 6C 69 63 61 74    tml+xml,applicat</div><div>lwsws[2275]: 0070: 69 6F 6E 2F 78 6D 6C 3B 71 3D 30 2E 39 2C 2A 2F    ion/xml;q=0.9,*/</div><div>lwsws[2275]: 0080: 2A 3B 71 3D 30 2E 38 0D 0A 55 73 65 72 2D 41 67    *;q=0.8..User-Ag</div><div>lwsws[2275]: 0090: 65 6E 74 3A 20 4D 6F 7A 69 6C 6C 61 2F 35 2E 30    ent: Mozilla/5.0</div><div>lwsws[2275]: 00A0: 20 28 58 31 31 3B 20 4C 69 6E 75 78 20 78 38 36     (X11; Linux x86</div><div>lwsws[2275]: 00B0: 5F 36 34 29 20 41 70 70 6C 65 57 65 62 4B 69 74    _64) AppleWebKit</div><div>lwsws[2275]: 00C0: 2F 36 30 35 2E 31 20 28 4B 48 54 4D 4C 2C 20 6C    /605.1 (KHTML, l</div><div>lwsws[2275]: 00D0: 69 6B 65 20 47 65 63 6B 6F 29 20 56 65 72 73 69    ike Gecko) Versi</div><div>lwsws[2275]: 00E0: 6F 6E 2F 31 31 2E 30 20 53 61 66 61 72 69 2F 36    on/11.0 Safari/6</div><div>lwsws[2275]: 00F0: 30 35 2E 31 20 55 62 75 6E 74 75 2F 31 36 2E 30    05.1 Ubuntu/16.0</div><div>lwsws[2275]: 0100: 34 20 28 33 2E 31 38 2E 31 31 2D 30 75 62 75 6E    4 (3.18.11-0ubun</div><div>lwsws[2275]: 0110: 74 75 31 29 20 45 70 69 70 68 61 6E 79 2F 33 2E    tu1) Epiphany/3.</div><div>lwsws[2275]: 0120: 31 38 2E 31 31 0D 0A 41 63 63 65 70 74 2D 45 6E    18.11..Accept-En</div><div>lwsws[2275]: 0130: 63 6F 64 69 6E 67 3A 20 67 7A 69 70 2C 20 64 65    coding: gzip, de</div><div>lwsws[2275]: 0140: 66 6C 61 74 65 0D 0A 41 63 63 65 70 74 2D 4C 61    flate..Accept-La</div><div>lwsws[2275]: 0150: 6E 67 75 61 67 65 3A 20 65 6E 2D 55 53 0D 0A 43    nguage: en-US..C</div><div>lwsws[2275]: 0160: 6F 6E 6E 65 63 74 69 6F 6E 3A 20 4B 65 65 70 2D    onnection: Keep-</div><div>lwsws[2275]: 0170: 41 6C 69 76 65 0D 0A 0D 0A                         Alive....       </div><div>lwsws[2275]: </div><div>lwsws[2275]: </div><div>lwsws[2275]: 0000: 47 45 54 20 2F 68 63 70 2F 77 65 62 73 6F 63 6B    GET /hcp/websock</div><div>lwsws[2275]: 0010: 65 74 2E 68 74 6D 6C 20 48 54 54 50 2F 31 2E 31    et.html HTTP/1.1</div><div>lwsws[2275]: 0020: 0D 0A 48 6F 73 74 3A 20 31 32 37 2E 30 2E 30 2E    ..Host: 127.0.0.</div><div>lwsws[2275]: 0030: 31 3A 37 36 38 31 0D 0A 44 4E 54 3A 20 31 0D 0A    1:7681..DNT: 1..</div><div>lwsws[2275]: 0040: 41 63 63 65 70 74 3A 20 74 65 78 74 2F 68 74 6D    Accept: text/htm</div><div>lwsws[2275]: 0050: 6C 2C 61 70 70 6C 69 63 61 74 69 6F 6E 2F 78 68    l,application/xh</div><div>lwsws[2275]: 0060: 74 6D 6C 2B 78 6D 6C 2C 61 70 70 6C 69 63 61 74    tml+xml,applicat</div><div>lwsws[2275]: 0070: 69 6F 6E 2F 78 6D 6C 3B 71 3D 30 2E 39 2C 2A 2F    ion/xml;q=0.9,*/</div><div>lwsws[2275]: 0080: 2A 3B 71 3D 30 2E 38 0D 0A 55 73 65 72 2D 41 67    *;q=0.8..User-Ag</div><div>lwsws[2275]: 0090: 65 6E 74 3A 20 4D 6F 7A 69 6C 6C 61 2F 35 2E 30    ent: Mozilla/5.0</div><div>lwsws[2275]: 00A0: 20 28 58 31 31 3B 20 4C 69 6E 75 78 20 78 38 36     (X11; Linux x86</div><div>lwsws[2275]: 00B0: 5F 36 34 29 20 41 70 70 6C 65 57 65 62 4B 69 74    _64) AppleWebKit</div><div>lwsws[2275]: 00C0: 2F 36 30 35 2E 31 20 28 4B 48 54 4D 4C 2C 20 6C    /605.1 (KHTML, l</div><div>lwsws[2275]: 00D0: 69 6B 65 20 47 65 63 6B 6F 29 20 56 65 72 73 69    ike Gecko) Versi</div><div>lwsws[2275]: 00E0: 6F 6E 2F 31 31 2E 30 20 53 61 66 61 72 69 2F 36    on/11.0 Safari/6</div><div>lwsws[2275]: 00F0: 30 35 2E 31 20 55 62 75 6E 74 75 2F 31 36 2E 30    05.1 Ubuntu/16.0</div><div>lwsws[2275]: 0100: 34 20 28 33 2E 31 38 2E 31 31 2D 30 75 62 75 6E    4 (3.18.11-0ubun</div><div>lwsws[2275]: 0110: 74 75 31 29 20 45 70 69 70 68 61 6E 79 2F 33 2E    tu1) Epiphany/3.</div><div>lwsws[2275]: 0120: 31 38 2E 31 31 0D 0A 41 63 63 65 70 74 2D 45 6E    18.11..Accept-En</div><div>lwsws[2275]: 0130: 63 6F 64 69 6E 67 3A 20 67 7A 69 70 2C 20 64 65    coding: gzip, de</div><div>lwsws[2275]: 0140: 66 6C 61 74 65 0D 0A 41 63 63 65 70 74 2D 4C 61    flate..Accept-La</div><div>lwsws[2275]: 0150: 6E 67 75 61 67 65 3A 20 65 6E 2D 55 53 0D 0A 43    nguage: en-US..C</div><div>lwsws[2275]: 0160: 6F 6E 6E 65 63 74 69 6F 6E 3A 20 4B 65 65 70 2D    onnection: Keep-</div><div>lwsws[2275]: 0170: 41 6C 69 76 65 0D 0A 0D 0A                         Alive....       </div><div>lwsws[2275]: </div><div>lwsws[2275]: lws_handshake_server: wsi->more_rx_waiting=0</div><div>lwsws[2275]: lws_union_transition: 0x654e00: mode 1</div><div>lwsws[2275]: lws_handshake_server: wsi 0x654e00: ah 0x6526f0</div><div>lwsws[2275]: lws_ensure_user_space: 0x654e00 protocol pss 0, user_space=(nil)</div><div>lwsws[2275]: _realloc: size 256: access log</div><div>lwsws[2275]: _realloc: size 146: access log</div><div>lwsws[2275]: Range count 0</div><div>lwsws[2275]: lws_read: thinks we have used 0</div><div>lwsws[2275]: lws_server_socket_service: wsi 0x654e00: ah read rxpos 377, rxlen 377</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:16 mode: 6</div><div><br></div><div>lwsws[2275]: accepted new SSL conn</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:15 mode: 1</div><div><br></div><div>lwsws[2275]: wsi->http2_substream 0</div><div>lwsws[2275]: _lws_plat_file_read: read 1431 of req 4087, pos 1431, len 1431</div><div>lwsws[2275]: lws_serve_http_file_fragment: sending 1431</div><div>lwsws[2275]: file completed</div><div>lwsws[2275]: lws_http_transaction_completed: wsi 0x654e00</div><div>lwsws[2275]: lws_ensure_user_space: 0x654e00 protocol pss 0, user_space=(nil)</div><div>lwsws[2275]: lws_http_transaction_completed: wsi->more_rx_waiting=0</div><div>lwsws[2275]: lws_header_table_detach: wsi 0x654e00: ah held 15s, ah.rxpos -1, ah.rxlen -1, mode/state 0 0,wsi->more_rx_waiting 0</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:16 mode: 0</div><div><br></div><div>lwsws[2275]: 0x653290: SSL_read says 395</div><div>lwsws[2275]: </div><div>lwsws[2275]: 0000: 47 45 54 20 2F 66 61 76 69 63 6F 6E 2E 69 63 6F    GET /favicon.ico</div><div>lwsws[2275]: 0010: 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 3A     HTTP/1.1..Host:</div><div>lwsws[2275]: 0020: 20 31 32 37 2E 30 2E 30 2E 31 3A 37 36 38 31 0D     <a href="http://127.0.0.1:7681">127.0.0.1:7681</a>.</div><div>lwsws[2275]: 0030: 0A 52 65 66 65 72 65 72 3A 20 68 74 74 70 73 3A    .Referer: https:</div><div>lwsws[2275]: 0040: 2F 2F 31 32 37 2E 30 2E 30 2E 31 3A 37 36 38 31    //<a href="http://127.0.0.1:7681">127.0.0.1:7681</a></div><div>lwsws[2275]: 0050: 2F 68 63 70 2F 77 65 62 73 6F 63 6B 65 74 2E 68    /hcp/websocket.h</div><div>lwsws[2275]: 0060: 74 6D 6C 0D 0A 55 73 65 72 2D 41 67 65 6E 74 3A    tml..User-Agent:</div><div>lwsws[2275]: 0070: 20 4D 6F 7A 69 6C 6C 61 2F 35 2E 30 20 28 58 31     Mozilla/5.0 (X1</div><div>lwsws[2275]: 0080: 31 3B 20 4C 69 6E 75 78 20 78 38 36 5F 36 34 29    1; Linux x86_64)</div><div>lwsws[2275]: 0090: 20 41 70 70 6C 65 57 65 62 4B 69 74 2F 36 30 35     AppleWebKit/605</div><div>lwsws[2275]: 00A0: 2E 31 20 28 4B 48 54 4D 4C 2C 20 6C 69 6B 65 20    .1 (KHTML, like </div><div>lwsws[2275]: 00B0: 47 65 63 6B 6F 29 20 56 65 72 73 69 6F 6E 2F 31    Gecko) Version/1</div><div>lwsws[2275]: 00C0: 31 2E 30 20 53 61 66 61 72 69 2F 36 30 35 2E 31    1.0 Safari/605.1</div><div>lwsws[2275]: 00D0: 20 55 62 75 6E 74 75 2F 31 36 2E 30 34 20 28 33     Ubuntu/16.04 (3</div><div>lwsws[2275]: 00E0: 2E 31 38 2E 31 31 2D 30 75 62 75 6E 74 75 31 29    .18.11-0ubuntu1)</div><div>lwsws[2275]: 00F0: 20 45 70 69 70 68 61 6E 79 2F 33 2E 31 38 2E 31     Epiphany/3.18.1</div><div>lwsws[2275]: 0100: 31 0D 0A 49 66 2D 4E 6F 6E 65 2D 4D 61 74 63 68    1..If-None-Match</div><div>lwsws[2275]: 0110: 3A 20 30 30 30 30 30 35 37 45 35 41 33 43 36 46    : 0000057E5A3C6F</div><div>lwsws[2275]: 0120: 42 46 0D 0A 44 4E 54 3A 20 31 0D 0A 41 63 63 65    BF..DNT: 1..Acce</div><div>lwsws[2275]: 0130: 70 74 3A 20 2A 2F 2A 0D 0A 41 63 63 65 70 74 2D    pt: */*..Accept-</div><div>lwsws[2275]: 0140: 45 6E 63 6F 64 69 6E 67 3A 20 67 7A 69 70 2C 20    Encoding: gzip, </div><div>lwsws[2275]: 0150: 64 65 66 6C 61 74 65 0D 0A 41 63 63 65 70 74 2D    deflate..Accept-</div><div>lwsws[2275]: 0160: 4C 61 6E 67 75 61 67 65 3A 20 65 6E 2D 55 53 0D    Language: en-US.</div><div>lwsws[2275]: 0170: 0A 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 4B 65 65    .Connection: Kee</div><div>lwsws[2275]: 0180: 70 2D 41 6C 69 76 65 0D 0A 0D 0A                   p-Alive....     </div><div>lwsws[2275]: </div><div>lwsws[2275]: </div><div>lwsws[2275]: 0000: 47 45 54 20 2F 66 61 76 69 63 6F 6E 2E 69 63 6F    GET /favicon.ico</div><div>lwsws[2275]: 0010: 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 3A     HTTP/1.1..Host:</div><div>lwsws[2275]: 0020: 20 31 32 37 2E 30 2E 30 2E 31 3A 37 36 38 31 0D     <a href="http://127.0.0.1:7681">127.0.0.1:7681</a>.</div><div>lwsws[2275]: 0030: 0A 52 65 66 65 72 65 72 3A 20 68 74 74 70 73 3A    .Referer: https:</div><div>lwsws[2275]: 0040: 2F 2F 31 32 37 2E 30 2E 30 2E 31 3A 37 36 38 31    //<a href="http://127.0.0.1:7681">127.0.0.1:7681</a></div><div>lwsws[2275]: 0050: 2F 68 63 70 2F 77 65 62 73 6F 63 6B 65 74 2E 68    /hcp/websocket.h</div><div>lwsws[2275]: 0060: 74 6D 6C 0D 0A 55 73 65 72 2D 41 67 65 6E 74 3A    tml..User-Agent:</div><div>lwsws[2275]: 0070: 20 4D 6F 7A 69 6C 6C 61 2F 35 2E 30 20 28 58 31     Mozilla/5.0 (X1</div><div>lwsws[2275]: 0080: 31 3B 20 4C 69 6E 75 78 20 78 38 36 5F 36 34 29    1; Linux x86_64)</div><div>lwsws[2275]: 0090: 20 41 70 70 6C 65 57 65 62 4B 69 74 2F 36 30 35     AppleWebKit/605</div><div>lwsws[2275]: 00A0: 2E 31 20 28 4B 48 54 4D 4C 2C 20 6C 69 6B 65 20    .1 (KHTML, like </div><div>lwsws[2275]: 00B0: 47 65 63 6B 6F 29 20 56 65 72 73 69 6F 6E 2F 31    Gecko) Version/1</div><div>lwsws[2275]: 00C0: 31 2E 30 20 53 61 66 61 72 69 2F 36 30 35 2E 31    1.0 Safari/605.1</div><div>lwsws[2275]: 00D0: 20 55 62 75 6E 74 75 2F 31 36 2E 30 34 20 28 33     Ubuntu/16.04 (3</div><div>lwsws[2275]: 00E0: 2E 31 38 2E 31 31 2D 30 75 62 75 6E 74 75 31 29    .18.11-0ubuntu1)</div><div>lwsws[2275]: 00F0: 20 45 70 69 70 68 61 6E 79 2F 33 2E 31 38 2E 31     Epiphany/3.18.1</div><div>lwsws[2275]: 0100: 31 0D 0A 49 66 2D 4E 6F 6E 65 2D 4D 61 74 63 68    1..If-None-Match</div><div>lwsws[2275]: 0110: 3A 20 30 30 30 30 30 35 37 45 35 41 33 43 36 46    : 0000057E5A3C6F</div><div>lwsws[2275]: 0120: 42 46 0D 0A 44 4E 54 3A 20 31 0D 0A 41 63 63 65    BF..DNT: 1..Acce</div><div>lwsws[2275]: 0130: 70 74 3A 20 2A 2F 2A 0D 0A 41 63 63 65 70 74 2D    pt: */*..Accept-</div><div>lwsws[2275]: 0140: 45 6E 63 6F 64 69 6E 67 3A 20 67 7A 69 70 2C 20    Encoding: gzip, </div><div>lwsws[2275]: 0150: 64 65 66 6C 61 74 65 0D 0A 41 63 63 65 70 74 2D    deflate..Accept-</div><div>lwsws[2275]: 0160: 4C 61 6E 67 75 61 67 65 3A 20 65 6E 2D 55 53 0D    Language: en-US.</div><div>lwsws[2275]: 0170: 0A 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 4B 65 65    .Connection: Kee</div><div>lwsws[2275]: 0180: 70 2D 41 6C 69 76 65 0D 0A 0D 0A                   p-Alive....     </div><div>lwsws[2275]: </div><div>lwsws[2275]: lws_handshake_server: wsi->more_rx_waiting=0</div><div>lwsws[2275]: lws_union_transition: 0x653290: mode 1</div><div>lwsws[2275]: lws_handshake_server: wsi 0x653290: ah 0x6689b0</div><div>lwsws[2275]: lws_ensure_user_space: 0x653290 protocol pss 0, user_space=(nil)</div><div>lwsws[2275]: _realloc: size 256: access log</div><div>lwsws[2275]: _realloc: size 146: access log</div><div>lwsws[2275]: _realloc: size 43: referrer</div><div>lwsws[2275]: lws_http_serve: ETAG match favicon.ico /usr/local/share/libwebsockets-test-server</div><div>lwsws[2275]: lws_http_transaction_completed: wsi 0x653290</div><div>lwsws[2275]: lws_ensure_user_space: 0x653290 protocol pss 0, user_space=(nil)</div><div>lwsws[2275]: lws_http_transaction_completed: wsi->more_rx_waiting=0</div><div>lwsws[2275]: lws_header_table_detach: wsi 0x653290: ah held 15s, ah.rxpos -1, ah.rxlen -1, mode/state 0 0,wsi->more_rx_waiting 0</div><div>lwsws[2275]: wsi->u.http.rx_content_length 0 0 0</div><div>lwsws[2275]: lws_read: thinks we have used 0</div><div>lwsws[2275]: lws_service_fd_tsi:  wsi port:0  fd:16 mode: 0</div><div><br></div><div>lwsws[2275]: _realloc: size 2960: ah struct</div><div>lwsws[2275]: _realloc: size 4096: ah data</div><div>lwsws[2275]: 0x653290: SSL_read says 0</div><div>lwsws[2275]: lws_close_free_wsi: 0x653290</div><div>lwsws[2275]: lws_close_free_wsi: real just_kill_connection: 0x653290 (sockfd 16)</div><div>lwsws[2275]: remove_wsi_socket_from_fds: wsi=0x653290, sock=16, fds pos=2, end guy pos=3, endfd=0</div><div>lwsws[2275]: calling back CLOSED 0 4</div><div>lwsws[2275]: lws_close_free_wsi: lws_libuv_closehandle: wsi 0x653290</div><div>lwsws[2275]: lws_free_wsi: 0x653290, remaining wsi 2</div></div><div><br></div><div><br></div><div><b>Bad case: </b></div><div>      Root process is 2871</div><div>lwsws[2871]: _realloc: size 3288: context</div><div>lwsws[2871]: _realloc: size 4096: pt_serv_buf</div><div>lwsws[2871]: _realloc: size 524288: peer limits hash table</div><div>lwsws[2871]: _realloc: size 8388608: fds table</div><div>lwsws[2871]: _realloc: size 8388608: lws_lookup</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: _realloc: size 128: plugin</div><div>lwsws[2871]: adding mount /</div><div>lwsws[2871]: adding mount /server-status</div><div>lwsws[2871]: adding mount /testcgi</div><div>lwsws[2871]: adding mount /formtest</div><div>lwsws[2871]: _realloc: size 520: create vhost</div><div>lwsws[2871]: _realloc: size 784: vhost-specific plugin table</div><div>lwsws[2871]: _realloc: size 56: same vh list</div><div>lwsws[2871]: _realloc: size 832: listen wsi</div><div>lwsws[2871]: insert_wsi_socket_into_fds: 0x6394f0: tsi=0, sock=20, pos-in-fds=0</div><div>lwsws[2871]: lws_uv_timeout_cb</div><div>lwsws[2871]: _realloc: size 56: protocol_vh_privs</div><div>lwsws[2871]: _realloc: size 40: vh priv</div><div>lwsws[2871]: _realloc: size 33984: vh priv</div><div>lwsws[2871]: _realloc: size 8: vh priv</div><div>lwsws[2871]: _realloc: size 176: vh priv</div><div>lwsws[2871]: lws_service_fd_tsi:  wsi port:0  fd:20 mode: 10</div><div><br></div><div>lwsws[2871]: accepted new conn port 39476 on fd=15</div><div>lwsws[2871]: _realloc: size 88: peer</div><div>lwsws[2871]: _realloc: size 832: new server wsi</div><div>lwsws[2871]: new wsi 0x642e40 joining vhost localhost, tsi 0</div><div>lwsws[2871]: lws_adopt_descriptor_vhost: new wsi 0x642e40, sockfd 15</div><div>lwsws[2871]: insert_wsi_socket_into_fds: 0x642e40: tsi=0, sock=15, pos-in-fds=1</div><div>lwsws[2871]: inserted SSL accept into fds, trying SSL_accept</div><div>lwsws[2871]<font color="#ff0000">: lws_ssl_get_error: 0x643450 -1 -> 1</font></div><div>lwsws[2871]: lws_close_free_wsi: 0x642e40</div><div>lwsws[2871]: SSL_shutdown=-1 for fd 15</div><div>lwsws[2871]: lws_close_free_wsi: real just_kill_connection: 0x642e40 (sockfd 15)</div><div>lwsws[2871]: remove_wsi_socket_from_fds: wsi=0x642e40, sock=15, fds pos=1, end guy pos=2, endfd=0</div><div>lwsws[2871]: calling back CLOSED 6 4</div><div>lwsws[2871]: lws_close_free_wsi: lws_libuv_closehandle: wsi 0x642e40</div><div>lwsws[2871]: lws_free_wsi: 0x642e40, remaining wsi 1</div><div>lwsws[2871]: lws_service_fd_tsi:  wsi port:0  fd:20 mode: 10</div><div><br></div><div>lwsws[2871]: accepted new conn port 39478 on fd=15</div><div>lwsws[2871]: _realloc: size 832: new server wsi</div><div>lwsws[2871]: new wsi 0x6430e0 joining vhost localhost, tsi 0</div><div>lwsws[2871]: lws_adopt_descriptor_vhost: new wsi 0x6430e0, sockfd 15</div><div>lwsws[2871]: insert_wsi_socket_into_fds: 0x6430e0: tsi=0, sock=15, pos-in-fds=1</div><div>lwsws[2871]: inserted SSL accept into fds, trying SSL_accept</div><div><font color="#ff0000">lwsws[2871]: lws_ssl_get_error: 0x6434a0 -1 -> 1</font></div><div>lwsws[2871]: lws_close_free_wsi: 0x6430e0</div><div>lwsws[2871]: SSL_shutdown=-1 for fd 15</div><div>lwsws[2871]: lws_close_free_wsi: real just_kill_connection: 0x6430e0 (sockfd 15)</div><div>lwsws[2871]: remove_wsi_socket_from_fds: wsi=0x6430e0, sock=15, fds pos=1, end guy pos=2, endfd=0</div><div>lwsws[2871]: calling back CLOSED 6 4</div><div>lwsws[2871]: lws_close_free_wsi: lws_libuv_closehandle: wsi 0x6430e0</div><div>lwsws[2871]: lws_free_wsi: 0x6430e0, remaining wsi 1</div><div><br></div><div><br></div><div><b>The different is the line marked as red.</b></div><div><b>I think the error maybe related to some of the resource leak.</b></div><div><b>Sometimes, I do not close the server properly,  for example, I just random stop the gdb debug.</b></div><div><b>When I restart the server, it can not work well.</b></div><div><br></div><div><div style="font-size:12.800000190734863px">Best Regards</div><div style="font-size:12.800000190734863px"><br></div><div style="font-size:12.800000190734863px">Yours Chropin</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 23, 2018 at 10:39 AM, Chropin Hu <span dir="ltr"><<a href="mailto:chropinhu@gmail.com" target="_blank">chropinhu@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear Andy,<div>        It is seems work well now. I do not know why the browser always prompt " <span style="color:rgb(186,189,182);font-family:cantarell">Oops! Unable to display this website.</span>"  yesterday.</div><div>        I use the Epiphany Web Browser.</div><div>        Anyway, I will check the flow further and update the status.</div><div><br></div><div>Thank your very very much!</div><div><br></div><div>Best Regards</div><div><br></div><div>Yours Chropin</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 22, 2018 at 9:27 PM, Andy Green <span dir="ltr"><<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><br>
<br>
On 22/01/18 21:02, Chropin Hu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear Andy,<br>
        Thank you very much,<br>
        I have instead of the host-ssl-key and host-ssl-cert, like this: (I can find the cacert, so, just mark it)<br>
             "host-ssl-key":   "/home/mtk40387/develop/libwe<wbr>bsockets-master/build/libwebso<wbr>ckets-test-server.key.pem",<br>
             "host-ssl-cert": "/home/mtk40387/develop/libweb<wbr>sockets-master/build/libwebsoc<wbr>kets-test-server.pem",<br>
              #     "host-ssl-ca":   "/home/mtk40387/develop/ecdh/<wbr>ca/cacert.pem",<br>
<br>
        But the result is the same:<br>
lwsws[19746]: accepted new conn port 51922 on fd=15<br>
lwsws[19746]: _realloc: size 88: peer<br>
lwsws[19746]: _realloc: size 832: new server wsi<br>
lwsws[19746]: new wsi 0x642e40 joining vhost localhost, tsi 0<br>
lwsws[19746]: lws_adopt_descriptor_vhost: new wsi 0x642e40, sockfd 15<br>
lwsws[19746]: insert_wsi_socket_into_fds: 0x642e40: tsi=0, sock=15, pos-in-fds=1<br>
lwsws[19746]: inserted SSL accept into fds, trying SSL_accept<br>
lwsws[19746]: lws_ssl_get_error: 0x643450 -1 -> 2<br>
</blockquote>
<br></span>
This is a log from SSL_accept... it just seems to be saying SSL_ERROR_WANT_READ, ie, nonfatal status.<br>
<br>
So I don't see anything going wrong.  Why do we think something went wrong?<br>
<br>
The title of your email says "How to fix the "SSL_CTX_get_extra_chain_certs<wbr>_only" error"... why do we think that is related to the problem?<br>
<br>
You don't mention what the client you are connecting to lws says about what happened to the connection.  If you connect with, eg, Firefox, it should complain about unknown CA and offer for you to make an exception.  What does the client say?<br>
<br>
-Andy<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
*The openssl version is: OpenSSL 1.0.2g  1 Mar 2016.*<br>
*<br>
*<br>
**Is it possible to disable the option *LWS_HAVE_OPENSSL_ECDH_H. *<br>
** It is very hard to generate to ECDH key, I just want to enable https and wss, maybe is easier to use other keys.<br>
<br>
Best Regards<br>
<br>
Yours Chropin.<span><br>
<br>
On Mon, Jan 22, 2018 at 8:11 PM, Andy Green <<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a> <mailto:<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>>> wrote:<br>
<br>
<br>
<br>
    On January 22, 2018 8:01:02 PM GMT+08:00, Chropin Hu<br></span><div><div class="m_-3874941506721545665h5">
    <<a href="mailto:chropinhu@gmail.com" target="_blank">chropinhu@gmail.com</a> <mailto:<a href="mailto:chropinhu@gmail.com" target="_blank">chropinhu@gmail.com</a>>> wrote:<br>
    >Dear All,<br>
    >       I am trying to setup a https server  on ubuntu.<br>
    >       Currently, I just use the lwsws,<br>
    >       The config file like this:<br>
    >        {<br>
    > "vhosts": [ {<br>
    >     "name": "localhost",<br>
    >     "port": "7681",<br>
    >     "interface": "lo",<br>
    >     "host-ssl-key":  "/home/develop/ecdh/ca/ecdhkey<wbr>.pem",<br>
    >     "host-ssl-cert": "/home/develop/ecdh/ca/ecdhcer<wbr>t.pem",<br>
    >     "host-ssl-ca":   "/home/develop/ecdh/ca/cacert<wbr>.pem",<br>
<br>
    What happens if instead of these, you use the test selfsigned certs<br>
    lws creates in the build dir when you run cmake?<br>
<br>
    -Andy<br>
<br>
     >#     "sts": "on",<br>
     >     "mounts": [{<br>
     >       "mountpoint": "/",<br>
     >       "origin": "file://_lws_ddir_/libwebsocke<wbr>ts-test-server",<br>
     >       "default": "test.html",<br>
     >       "cache-max-age": "60",<br>
     >       "cache-reuse": "1",<br>
     >       "cache-revalidate": "1",<br>
     >       "cache-intermediaries": "0"<br>
     >       }, {<br>
     >        "mountpoint": "/server-status",<br>
     >        "origin":<br>
     >"file://_lws_ddir_/libwebsoc<wbr>kets-test-server/server-status<wbr>",<br>
     >        "default": "server-status.html"<br>
     >        }, {<br>
     >        "mountpoint": "/testcgi",<br>
     >        "origin":<br>
     >"cgi://_lws_ddir_/libwebsock<wbr>ets-test-server/lws-cgi-test.s<wbr>h"<br>
     ><br>
     >       }, {<br>
     >        "mountpoint": "/formtest",<br>
     >        "origin": "callback://protocol-post-demo<wbr>"<br>
     >       }],<br>
     >     # which protocols are enabled for this vhost, and optional<br>
     >     # vhost-specific config options for the protocol<br>
     >     #<br>
     >     "ws-protocols": [{<br>
     >       "lws-meta": {<br>
     >         "status": "ok"<br>
     >       },<br>
     >       "dumb-increment-protocol": {<br>
     >         "status": "ok"<br>
     >       },<br>
     >       "lws-mirror-protocol": {<br>
     >         "status": "ok"<br>
     >       },<br>
     >       "lws-status": {<br>
     >         "status": "ok"<br>
     >       },<br>
     >       "protocol-post-demo": {<br>
     >         "status": "ok"<br>
     >       },<br>
     >       "lws-server-status": {<br>
     >         "status": "ok",<br>
     >         "update-ms": "5000"<br>
     >       }<br>
     >     }]<br>
     >    }<br>
     >  ]<br>
     >}<br>
     ><br>
     >The server always failed at the line marked as red.<br>
     ><br>
     >/* Get X509 certificate from ssl context */<br>
     >#if !defined(LWS_HAVE_SSL_EXTRA_CH<wbr>AIN_CERTS)<br>
     >x = sk_X509_value(vhost->ssl_ctx-><wbr>extra_certs, 0);<br>
     >#else<br>
     >SSL_CTX_get_extra_chain_cert<wbr>s_only(vhost->ssl_ctx, &extra_certs);<br>
     >if (extra_certs)<br>
     >x = sk_X509_value(extra_certs, 0);<br>
     >else<br>
     >lwsl_err("%s: no extra certs\n", __func__);<br>
     >#endif<br>
     ><br>
     >and further, The ssl accept always fail.<br>
     ><br>
     >lwsws[18957]: insert_wsi_socket_into_fds: 0x1114890: tsi=0, sock=15,<br>
     >pos-in-fds=1<br>
     >lwsws[18957]: inserted SSL accept into fds, trying SSL_accept<br>
     >lwsws[18957]: lws_ssl_get_error: 0x1114ea0 -1 -> 2<br>
     >lwsws[18957]: _realloc: size 2960: ah struct<br>
     >lwsws[18957]: _realloc: size 4096: ah data<br>
     ><br>
     >Someone can help me out?<br>
     >Thanks, I appreciate the answer.<br>
     ><br>
     >Best Regards<br>
     ><br>
     >Yours Chropin.<br>
<br>
<br>
</div></div></blockquote>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>