Problem running DOCA Reference Application DNS Filter (Segmentation Fault)

I’m trying to run DNS Filter descripted in NVIDIA DOCA DNS Filter Application Guide on Bluefield2 but failed.
I followed instruction in NVIDIA BlueField DPU Scalable Function User Guide to create two SFs and ran /opt/mellanox/doca/applications/dns_filter/bin/doca_dns_filter, it failed to start and throws a Segmentation Fault error.

The command I used to run the app:
cd /opt/mellanox/doca/applications/dns_filter/bin
sudo ./doca_dns_filter --json dns_filter_params.json

Here is the output of doca_dns_filter:
EAL: Detected 8 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode ‘PA’
EAL: Probing VFIO support…
EAL: VFIO support initialized
EAL: No legacy callbacks, legacy socket not created
[04:28:16:517144][DOCA][DBG][NUTILS:507]: Port 0 MAC: 02 25 f2 8d a2 4c
[04:28:16:555278][DOCA][DBG][NUTILS:507]: Port 1 MAC: 02 25 f2 8d a2 5c
[04:28:16:560638][DOCA][INF][engine_model:73]: engine model defined with mode=vnf
[04:28:16:560746][DOCA][INF][engine_model:75]: engine model defined with nr_pipe_queues=3
[04:28:16:560784][DOCA][INF][engine_model:76]: engine model defined with pipe_queue_depth=0
[04:28:16:561143][DOCA][INF][engine_field_mapping:96]: Engine field mapping initialized with 3 focus 11 protocols
[04:28:16:561205][DOCA][INF][engine_shared_resources:94]: Engine shared resources initialized successfully
[04:28:16:561254][DOCA][INF][dpdk_engine:433]: queue depth is zero, set it to default 128.
[04:28:16:561322][DOCA][INF][encap_table:119]: encap table created
[04:28:16:561421][DOCA][DBG][dpdk_table_hws:858]: Initialized dpdk table work module to be HW steering
[04:28:16:561453][DOCA][INF][dpdk_table:70]: Initializing dpdk table successfully
[04:28:16:561476][DOCA][DBG][dpdk_flow_hws:33]: Initialized dpdk flow work module to be HW steering
[04:28:16:561503][DOCA][INF][dpdk_flow:82]: Initializing dpdk flow successfully
[04:28:16:561539][DOCA][INF][engine_shared_resources:133]: Allocated 16 shared resources of type 2
[04:28:16:561570][DOCA][INF][dpdk_resource_manager:184]: Dpdk resource manager register completed
[04:28:16:561631][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.eth.dst_mac, offset=0)
[04:28:16:561657][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.eth.src_mac, offset=6)
[04:28:16:561688][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.eth.type, offset=12)
[04:28:16:561716][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.eth.dst_mac, offset=0)
[04:28:16:561747][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.eth.src_mac, offset=6)
[04:28:16:561778][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.eth.type, offset=12)
[04:28:16:561811][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.eth_vlan.tci, offset=0)
[04:28:16:561830][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.eth_vlan.tci, offset=0)
[04:28:16:561862][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.ipv4.src_ip, offset=12)
[04:28:16:561887][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.ipv4.dst_ip, offset=16)
[04:28:16:561914][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.ipv4.next_proto, offset=9)
[04:28:16:561942][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.ipv4.src_ip, offset=12)
[04:28:16:561970][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.ipv4.dst_ip, offset=16)
[04:28:16:561994][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.ipv4.next_proto, offset=9)
[04:28:16:562018][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.ipv6.src_ip, offset=8)
[04:28:16:562039][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.ipv6.dst_ip, offset=24)
[04:28:16:562056][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.ipv6.next_proto, offset=6)
[04:28:16:562079][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.ipv6.src_ip, offset=8)
[04:28:16:562110][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.ipv6.dst_ip, offset=24)
[04:28:16:562136][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.ipv6.next_proto, offset=6)
[04:28:16:562160][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.udp.src_port, offset=0)
[04:28:16:562182][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.udp.dst_port, offset=2)
[04:28:16:562210][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.udp.src_port, offset=0)
[04:28:16:562237][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.udp.dst_port, offset=2)
[04:28:16:562267][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.tcp.src_port, offset=0)
[04:28:16:562296][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.tcp.dst_port, offset=2)
[04:28:16:562320][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.outer.tcp.flags, offset=13)
[04:28:16:562343][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.tcp.src_port, offset=0)
[04:28:16:562360][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.tcp.dst_port, offset=2)
[04:28:16:562382][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.inner.tcp.flags, offset=13)
[04:28:16:562409][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.tunnel.vxlan.vni, offset=4)
[04:28:16:562438][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.tunnel.gre.key, offset=0)
[04:28:16:562462][DOCA][DBG][dpdk_layer:58]: Registered dpdk field opcode=match.packet.tunnel.gtp.teid, offset=4)
[04:28:16:562485][DOCA][INF][dpdk_layer:260]: Dpdk layer register completed
[04:28:16:562525][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.eth.dst_mac, offset=42, len=6)
[04:28:16:562553][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.eth.src_mac, offset=36, len=6)
[04:28:16:562587][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.eth.type, offset=48, len=2)
[04:28:16:562607][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.eth.dst_mac, offset=150, len=6)
[04:28:16:562638][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.eth.src_mac, offset=144, len=6)
[04:28:16:562667][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.eth.type, offset=156, len=2)
[04:28:16:562700][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.eth_vlan.tci, offset=50, len=2)
[04:28:16:562737][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.eth_vlan.tci, offset=158, len=2)
[04:28:16:562767][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.ipv4.src_ip, offset=56, len=4)
[04:28:16:562798][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.ipv4.dst_ip, offset=76, len=4)
[04:28:16:562825][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.ipv4.next_proto, offset=92, len=1)
[04:28:16:562856][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.ipv4.src_ip, offset=164, len=4)
[04:28:16:562889][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.ipv4.dst_ip, offset=184, len=4)
[04:28:16:562918][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.ipv4.next_proto, offset=200, len=1)
[04:28:16:562952][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.ipv6.src_ip, offset=56, len=16)
[04:28:16:562972][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.ipv6.dst_ip, offset=76, len=16)
[04:28:16:563004][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.ipv6.next_proto, offset=92, len=1)
[04:28:16:563032][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.ipv6.src_ip, offset=164, len=16)
[04:28:16:563064][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.ipv6.dst_ip, offset=184, len=16)
[04:28:16:563093][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.ipv6.next_proto, offset=200, len=1)
[04:28:16:563127][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.udp.src_port, offset=94, len=2)
[04:28:16:563162][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.udp.dst_port, offset=96, len=2)
[04:28:16:563194][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.udp.src_port, offset=202, len=2)
[04:28:16:563222][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.udp.dst_port, offset=204, len=2)
[04:28:16:563256][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.tcp.src_port, offset=94, len=2)
[04:28:16:563276][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.tcp.dst_port, offset=96, len=2)
[04:28:16:563302][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.outer.tcp.flags, offset=93, len=1)
[04:28:16:563329][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.tcp.src_port, offset=202, len=2)
[04:28:16:563357][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.tcp.dst_port, offset=204, len=2)
[04:28:16:563389][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.inner.tcp.flags, offset=201, len=1)
[04:28:16:563418][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.tunnel.vxlan.vni, offset=104, len=3)
[04:28:16:563451][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.tunnel.gre.key, offset=108, len=4)
[04:28:16:563486][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.tunnel.gre.protocol, offset=106, len=2)
[04:28:16:563516][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.tunnel.gtp.teid, offset=104, len=4)
[04:28:16:563552][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.tunnel.nisp.hdr, offset=104, len=40)
[04:28:16:563586][DOCA][DBG][doca_flow_layer:66]: Registered field opcode=match.packet.tunnel.audp.hdr, offset=104, len=24)
[04:28:16:563693][DOCA][INF][doca_flow_layer:455]: Doca flow layer initialized
[04:28:16:563729][DOCA][INF][doca_flow:407]: Doca flow initialized successfully
[04:28:16:564818][DOCA][INF][utils_hash_table:123]: hash table a_tmplt_t port 0 created
[04:28:16:564952][DOCA][INF][utils_hash_table:123]: hash table p_tmplt_t port 0 created
[04:28:16:565065][DOCA][INF][utils_hash_table:123]: hash table dpdk_tbl_mgr port 0 created
[04:28:16:565246][DOCA][INF][utils_hash_table:123]: hash table grp_fwd port 0 created
[04:28:16:565279][DOCA][INF][dpdk_port:167]: Dpdk port 0 initialized successfully with 4 queues
Segmentation fault

and params.json used to run the app:
{
“doca_dpdk_flags”:{
// -a - Add a device to the allow list.
“devices”:[
{
“device”: “sf”,
“id”: “4”,
“sft”: false,
“hws”: true,
},
{
“device”: “sf”,
“id”: “5”,
“sft”: false,
“hws”: true,
},
],

// Additional DPDK (EAL) flags (if needed)
"flags": "",

"core-mask": "0x0F",

},
“doca_general_flags”:{
// -l - sets the log level for the application DEBUG=60, CRITICAL=20
“log-level”: 60,
},
“doca_program_flags”:{

// -t - DNS listing type (allow, deny)
"type": "allow",

// -r - Path to compiled rules file (rof2.binary)
"rules": "/tmp/regex_rules_dns_filter.rof2.binary",

// -p - PCI address of the RXP engine to use
"pci-addr": "03:00.0",

}
}

My DOCA Version is 1.5.0055
And some SF info which may be helpful:

Output of running “devlink dev show”:
pci/0000:03:00.0
pci/0000:03:00.1
auxiliary/mlx5_core.sf.2
auxiliary/mlx5_core.sf.3
auxiliary/mlx5_core.sf.4
auxiliary/mlx5_core.sf.5

Output of running “/opt/mellanox/iproute2/sbin/mlxdevm port show”
pci/0000:03:00.0/229408: type eth netdev en3f0pf0sf0 flavour pcisf controller 0 pfnum 0 sfnum 0
function:
hw_addr 02:0a:c3:28:ee:37 state active opstate attached roce true max_uc_macs 128 trust off
pci/0000:03:00.0/229409: type eth netdev en3f0pf0sf4 flavour pcisf controller 0 pfnum 0 sfnum 4
function:
hw_addr 02:25:f2:8d:a2:4c state active opstate attached roce true max_uc_macs 128 trust on
pci/0000:03:00.0/229410: type eth netdev en3f0pf0sf5 flavour pcisf controller 0 pfnum 0 sfnum 5
function:
hw_addr 02:25:f2:8d:a2:5c state active opstate attached roce true max_uc_macs 128 trust on
pci/0000:03:00.1/294944: type eth netdev en3f1pf1sf0 flavour pcisf controller 0 pfnum 1 sfnum 0
function:
hw_addr 02:e8:ed:48:15:07 state active opstate attached roce true max_uc_macs 128 trust off

And I’m sure that I compiled regex rules to /tmp and mlx-regex service works properly.

Anyone know what’s wrong with this and how to make the app run correctly?
Any comments will be much appreciated.