http/2 first experiences

Tom Anheyer Tom.Anheyer at Berlinonline.de
Tue Oct 4 13:31:44 CEST 2016


Hello,

I've setup a little test environment with varnish5 and hitch as TLS 
offloader. HTTP/2 works for me in FF and Chrome (after upgrading to 
openssl 1.0.2).

Which H2 features are supported so far?
How to do server push? If not supported yet - Is it planned?

One crash so far.

tom

Oct 04 11:26:36 varnish varnishd[25116]: Child cleanup complete
Oct 04 11:26:36 varnish varnishd[25116]: "
Oct 04 11:26:36 varnish varnishd[25116]: },
Oct 04 11:26:36 varnish varnishd[25116]: },
Oct 04 11:26:36 varnish varnishd[25116]: flags = {
Oct 04 11:26:36 varnish varnishd[25116]: },
Oct 04 11:26:36 varnish varnishd[25116]: },
Oct 04 11:26:36 varnish varnishd[25116]: hdrs {
Oct 04 11:26:36 varnish varnishd[25116]: ws[] = (nil),
Oct 04 11:26:36 varnish varnishd[25116]: http[req] = 0x7f551c090be0 {
Oct 04 11:26:36 varnish varnishd[25116]: },
Oct 04 11:26:36 varnish varnishd[25116]: between_bytes_timeout = 0.000000,
Oct 04 11:26:36 varnish varnishd[25116]: first_byte_timeout = 0.000000,
Oct 04 11:26:36 varnish varnishd[25116]: body_status = none,
Oct 04 11:26:36 varnish varnishd[25116]: content_length = 0,
Oct 04 11:26:36 varnish varnishd[25116]: {pipeline_b, pipeline_e} = 
{(nil), (nil)},
Oct 04 11:26:36 varnish varnishd[25116]: {rxbuf_b, rxbuf_e} = 
{0x7f55410a0470, 0x7f55410a047d},
Oct 04 11:26:36 varnish varnishd[25116]: ws = 0x7f55410a0eb8,
Oct 04 11:26:36 varnish varnishd[25116]: doclose = NULL,
Oct 04 11:26:36 varnish varnishd[25116]: fd = 23,
Oct 04 11:26:36 varnish varnishd[25116]: http_conn = 0x7f551c090a78 {
Oct 04 11:26:36 varnish varnishd[25116]: },
Oct 04 11:26:36 varnish varnishd[25116]: {s, f, r, e} = {0x7f551c092948, 
+264, (nil), +57344},
Oct 04 11:26:36 varnish varnishd[25116]: id = \"req\",
Oct 04 11:26:36 varnish varnishd[25116]: ws = 0x7f551c090b48 {
Oct 04 11:26:36 varnish varnishd[25116]: },
Oct 04 11:26:36 varnish varnishd[25116]: client = 10.0.2.1 51817,
Oct 04 11:26:36 varnish varnishd[25116]: }
Oct 04 11:26:36 varnish varnishd[25116]: }
Oct 04 11:26:36 varnish varnishd[25116]: 0x00000073 open
Oct 04 11:26:36 varnish varnishd[25116]: 0x00000000 idle
Oct 04 11:26:36 varnish varnishd[25116]: streams {
Oct 04 11:26:36 varnish varnishd[25116]: transport = H2 {
Oct 04 11:26:36 varnish varnishd[25116]: t_idle = 1475580390.904838,
Oct 04 11:26:36 varnish varnishd[25116]: t_open = 1475580375.929317,
Oct 04 11:26:36 varnish varnishd[25116]: fd = 23, vxid = 491543,
Oct 04 11:26:36 varnish varnishd[25116]: sp = 0x7f5524001960 {
Oct 04 11:26:36 varnish varnishd[25116]: restarts = 0, esi_level = 0,
Oct 04 11:26:36 varnish varnishd[25116]: err_code = 1, err_reason = (null),
Oct 04 11:26:36 varnish varnishd[25116]: req_body = R_BODY_INIT,
Oct 04 11:26:36 varnish varnishd[25116]: step = 0x0,
Oct 04 11:26:36 varnish varnishd[25116]: vxid = 491543, transport = H2
Oct 04 11:26:36 varnish varnishd[25116]: req = 0x7f551c090970 {
Oct 04 11:26:36 varnish varnishd[25116]: 0x7f554fc8402d: 
libc.so.6(clone+0x6d) [0x7f554fc8402d]
Oct 04 11:26:36 varnish varnishd[25116]: 0x7f554ff4f0a4: 
libpthread.so.0(+0x80a4) [0x7f554ff4f0a4]
Oct 04 11:26:36 varnish varnishd[25116]: 0x44f1eb: pool_thread+0x2b
Oct 04 11:26:36 varnish varnishd[25116]: 0x44ed81: WRK_Thread+0x481
Oct 04 11:26:36 varnish varnishd[25116]: 0x45e478: h2_new_session+0xe98
Oct 04 11:26:36 varnish varnishd[25116]: 0x45ce89: varnishd() [0x45ce89]
Oct 04 11:26:36 varnish varnishd[25116]: 0x4373d6: pan_ic+0x156
Oct 04 11:26:36 varnish varnishd[25116]: Backtrace:
Oct 04 11:26:36 varnish varnishd[25116]: ident = 
Linux,4.1.31-30-default,x86_64,-junix,-smalloc,-smalloc,-hcritbit,epoll
Oct 04 11:26:36 varnish varnishd[25116]: version = varnish-5.0.0 
revision 99d036f
Oct 04 11:26:36 varnish varnishd[25116]: thread = (cache-worker)
Oct 04 11:26:36 varnish varnishd[25116]: "Incomplete code in 
h2_rx_rst_stream(), http2/cache_http2_proto.c line 113:
Oct 04 11:26:36 varnish varnishd[25116]: Error: Child (25130) Panic at: 
Tue, 04 Oct 2016 11:26:36 GMT
Oct 04 11:26:36 varnish varnishd[25116]: Child (25130) Panic at: Tue, 04 
Oct 2016 11:26:36 GMT
                                          "Incomplete code in 
h2_rx_rst_stream(), http2/cache_http2_proto.c line 113:
                                          thread = (cache-worker)
                                          version = varnish-5.0.0 
revision 99d036f
                                          ident = 
Linux,4.1.31-30-default,x86_64,-junix,-smalloc,-smalloc,-hcritbit,epoll
                                          Backtrace:
                                            0x4373d6: pan_ic+0x156
                                            0x45ce89: varnishd() [0x45ce89]
                                            0x45e478: h2_new_session+0xe98
                                            0x44ed81: WRK_Thread+0x481
                                            0x44f1eb: pool_thread+0x2b
                                            0x7f554ff4f0a4: 
libpthread.so.0(+0x80a4) [0x7f554ff4f0a4]
                                            0x7f554fc8402d: 
libc.so.6(clone+0x6d) [0x7f554fc8402d]
                                          req = 0x7f551c090970 {
                                            vxid = 491543, transport = H2
                                            step = 0x0,
                                            req_body = R_BODY_INIT,
                                            err_code = 1, err_reason = 
(null),
                                            restarts = 0, esi_level = 0,
                                            sp = 0x7f5524001960 {
                                              fd = 23, vxid = 491543,
                                              t_open = 1475580375.929317,
                                              t_idle = 1475580390.904838,
                                              transport = H2 {
                                                streams {
                                                  0x00000000 idle
                                                  0x00000073 open
                                                }
                                              }
                                          client = 10.0.2.1 51817,
                                            },
                                            ws = 0x7f551c090b48 {
                                              id = \"req\",
                                              {s, f, r, e} = 
{0x7f551c092948, +264, (nil), +57344},
                                            },
                                            http_conn = 0x7f551c090a78 {
                                              fd = 23,
                                              doclose = NULL,
                                              ws = 0x7f55410a0eb8,
                                              {rxbuf_b, rxbuf_e} = 
{0x7f55410a0470, 0x7f55410a047d},
                                              {pipeline_b, pipeline_e} = 
{(nil), (nil)},
                                              content_length = 0,
                                              body_status = none,
first_byte_timeout = 0.000000,
between_bytes_timeout = 0.000000,
                                            },
                                            http[req] = 0x7f551c090be0 {
                                              ws[] = (nil),
                                              hdrs {
                                              },
                                            },
                                            flags = {
                                            },
                                          },

                                          "
Oct 04 11:26:36 varnish varnishd[25116]: Child (25130) died signal=6





More information about the varnish-misc mailing list