Can not set var via SPOA for a lua script

I’m developing a SPOA. The place I stuck is a setting var via an ACK message.
In the haproxy log always the same message repeated twice:
SPOE: [request_cacher] <EVENT:on-frontend-http-request> sid=0 st=1 0/6/-1/-1/11 0/1 0/0 1/1
Judging on st=1 there is some IO error.
In lua func I’m trying to get var this way:
core.Info("Headers :" .. txn:get_var("sess.request_cacher.hdrs"))
And got a haproxy log message: Lua function 'pre_node_rp_route': [state-id 0] runtime error: /etc/haproxy/lua/register.lua:2: attempt to concatenate a nil value from /etc/haproxy/lua/register.lua:2: in function line 1.
Hello interaction works well. As well as the NOTIFY frame decoding.
Below is hexed ACK example without length prefix (contains a set var action with a byte array content):
Haproxy version - 2.4
haproxy configuration:

frontend a_cluster
bind *:10080
filter spoe engine request-cache config /etc/haproxy/request-cache.conf
http-request wait-for-body time 1s at-least 10k
http-request lua.pre_node_rp_route rp_cluster_nodes

backend agent
mode tcp
balance roundrobin
timeout connect 5s # greater than hello timeout
timeout server 3m # greater than idle timeout
option spop-check
server iye check

spoe-agent request_cacher
option force-set-var
option var-prefix request_cacher
messages http-request-payload
timeout hello 2s
timeout idle 2m
timeout processing 10ms
use-backend agent
log global

spoe-message http-request-payload
args hdrs=req.hdrs_bin body=req.body
event on-frontend-http-request

Could anyone tell me what am I doing wrong ?
Thanks in advance for your answers.

Solved myself.