-
Bug
-
Resolution: Done
-
Highest
-
None
-
None
-
None
The assertion is hit as part of the unapply/reapply process done for the trailing ACLs with the attached API replay.
NB: in order to avoid the replay triggering a different assert, issue
set api_main.msg_print_handlers[41] = 0 in gdb before replaying it.
The reproduction scenario:
1) start the VPP in a vm with 3 e1000 interfaces
2) zeroize the handler for message 41 as above
3) replay the api trace
4) in vat, assign the ACLs to interfaces as follows:
acl_interface_set_acl_list sw_if_index 1 input 1 3 output 0 2
5) replay the trace again, this time the assert will be hit.
#5 0x00007fffb5093679 in activate_applied_ace_hash_entry (am=0x7fffb52afd20 <acl_main>, sw_if_index=1, is_input=0 '\000', applied_hash_aces=0x7fffb58f13fc, new_index=79) at /home/ayourtch/vpp/build-data/../src/plugins/acl/hash_lookup.c:227
#6 0x00007fffb5093fd8 in hash_acl_apply (am=0x7fffb52afd20 <acl_main>, sw_if_index=1, is_input=0 '\000', acl_index=2) at /home/ayourtch/vpp/build-data/../src/plugins/acl/hash_lookup.c:317
#7 0x00007fffb5094ae1 in hash_acl_reapply (am=0x7fffb52afd20 <acl_main>, sw_if_index=1, is_input=0 '\000', acl_index=0) at /home/ayourtch/vpp/build-data/../src/plugins/acl/hash_lookup.c:500
#8 0x00007fffb5095e2e in hash_acl_add (am=0x7fffb52afd20 <acl_main>, acl_index=0) at /home/ayourtch/vpp/build-data/../src/plugins/acl/hash_lookup.c:699
#9 0x00007fffb507f8c6 in acl_add_list (count=9, rules=0x7fffb591c866, acl_list_index=0x7fffb59ea8e0, tag=0x7fffb591c822 "net-vpp.common_spoof.from-vpp") at /home/ayourtch/vpp/build-data/../src/plugins/acl/acl.c:200
#10 0x00007fffb508544a in vl_api_acl_add_replace_t_handler (mp=0x7fffb591c814) at /home/ayourtch/vpp/build-data/../src/plugins/acl/acl.c:1251
#11 0x00007ffff7bcc1df in vl_msg_api_process_file (vm=0x7ffff7ba1400 <vlib_global_main>, filename=0x7fffb5993b24 "/home/ayourtch/acl1.api", first_index=0, last_index=149, which=REPLAY) at /home/ayourtch/vpp/build-data/../src/vlibmemory/memory_vlib.c:1737
#12 0x00007ffff7bcc7a2 in api_trace_command_fn (vm=0x7ffff7ba1400 <vlib_global_main>, input=0x7fffb59eaec0, cmd=0x7fffb5a14404) at /home/ayourtch/vpp/build-data/../src/vlibmemory/memory_vlib.c:1846
#13 0x00007ffff78cd409 in vlib_cli_dispatch_sub_commands (vm=0x7ffff7ba1400 <vlib_global_main>, cm=0x7ffff7ba15f0 <vlib_global_main+496>, input=0x7fffb59eaec0, parent_command_index=643) at /home/ayourtch/vpp/build-data/../src/vlib/cli.c:588
#14 0x00007ffff78cd319 in vlib_cli_dispatch_sub_commands (vm=0x7ffff7ba1400 <vlib_global_main>, cm=0x7ffff7ba15f0 <vlib_global_main+496>, input=0x7fffb59eaec0, parent_command_index=0) at /home/ayourtch/vpp/build-data/../src/vlib/cli.c:566
#15 0x00007ffff78cd6f1 in vlib_cli_input (vm=0x7ffff7ba1400 <vlib_global_main>, input=0x7fffb59eaec0, function=0x7ffff7959e50 <unix_vlib_cli_output>, function_arg=0) at /home/ayourtch/vpp/build-data/../src/vlib/cli.c:662
#16 0x00007ffff795f351 in unix_cli_process_input (cm=0x7ffff7ba1280 <unix_cli_main>, cli_file_index=0) at /home/ayourtch/vpp/build-data/../src/vlib/unix/cli.c:2189
#17 0x00007ffff795fdc3 in unix_cli_process (vm=0x7ffff7ba1400 <vlib_global_main>, rt=0x7fffb59da000, f=0x0) at /home/ayourtch/vpp/build-data/../src/vlib/unix/cli.c:2286
#18 0x00007ffff78f549e in vlib_process_bootstrap (_a=140736249666048) at /home/ayourtch/vpp/build-data/../src/vlib/main.c:1261
#19 0x00007ffff62068dc in clib_calljmp () at /home/ayourtch/vpp/build-data/../src/vppinfra/longjmp.S:110