Description

RPD crashes every 10 minutes with the core-dumps.


root@router# run show system core-dumps

/var/crash/*core*: No such file or directory

-rw-rw---- 1 root wheel 12871825 Oct 7 16:29 /var/tmp/rpd.core-tarball.0.tgz

-rw-rw---- 1 root wheel 10986474 Oct 7 16:35 /var/tmp/rpd.core-tarball.1.tgz

-rw-rw---- 1 root wheel 10739246 Oct 7 16:45 /var/tmp/rpd.core-tarball.2.tgz

-rw-rw---- 1 root wheel 10849094 Oct 7 16:55 /var/tmp/rpd.core-tarball.3.tgz

-rw-rw---- 1 root wheel 10719380 Oct 8 13:53 /var/tmp/rpd.core-tarball.4.tgz

/var/tmp/pics/*core*: No such file or directory

/var/crash/kernel.*: No such file or directory

/var/jails/rest-api/tmp/*core*: No such file or directory

/tftpboot/corefiles/*core*: No such file or directory

total files: 5

Symptoms

Backtrace:


#0 thread_next_node (t=<optimized out>) at /volume/build/junos/21.3/release/21.3R1.9/obj/stage/common/usr/include/jnx/thread.h:134

#1 if_link_first_ifa (iflh=0x0) at ../../../../../../../../src/layer3/usr.sbin/rpd/lib/if/if_api.c:1895

#2 0x000000000188cd54 in isis_find_ifa_for_next_hop (interface=0xc42dc00, next_hop=0x14d58380, gf=GF_INET) at ../../../../../../../../../src/layer3/usr.sbin/rpd/isis/isis_spf.c:6947

#3 0x000000000179d586 in isis_map_adj_addrs_to_ifa (interface=0xc42dc00, gf=<optimized out>, addr_list=0x14dedd00, match_entry=0x7fffffffd5a0) at ../../../../../../../../../src/layer3/usr.sbin/rpd/isis/isis_adj.c:404

#4 0x0000000001846663 in isis_adjacency_rtttype_has_subnet (adjacency=<optimized out>, rtttype=<optimized out>) at ../../../../../../../../../src/layer3/usr.sbin/rpd/isis/isis_lsp.c:10473

#5 isis_add_interface_data (spf_info=0x8f41000, interface=0xc42dc00, level=2) at ../../../../../../../../../src/layer3/usr.sbin/rpd/isis/isis_lsp.c:10659

#6 0x000000000184f677 in isis_add_all_interface_data (instance=0x8c1c000, level=2) at ../../../../../../../../../src/layer3/usr.sbin/rpd/isis/isis_lsp.c:11145

#7 isis_compute_lsp_contents (instance=<optimized out>, node=<optimized out>) at ../../../../../../../../../src/layer3/usr.sbin/rpd/isis/isis_lsp.c:13803

#8 0x000000000185e14c in isis_generate_lsp_node_common (instance=<optimized out>, level=<optimized out>, node=<optimized out>) at ../../../../../../../../../src/layer3/usr.sbin/rpd/isis/isis_lsp.c:15301

#9 isis_generate_lsps_node (instance=<optimized out>, node=<optimized out>) at ../../../../../../../../../src/layer3/usr.sbin/rpd/isis/isis_lsp.c:15365

#10 isis_generate_lsps (jobptr=0xc215380) at ../../../../../../../../../src/layer3/usr.sbin/rpd/isis/isis_lsp.c:15480

#11 0x00000000025b9965 in task_job_run_common (jp=0xc215380, jctx=0xc2ff6c0, dispatcher=0x83b26e "background dispatch") at ../../../../../../src/daemon-infra/lib/libjtask/base/task_jobs.c:808

#12 0x00000000025ba737 in task_job_run_job_bg (scheduler=<optimized out>, jobs_var=<optimized out>, jp=<optimized out>, log_msg=<optimized out>) at ../../../../../../src/daemon-infra/lib/libjtask/base/task_jobs.c:1028

#13 task_job_bg_dispatch () at ../../../../../../src/daemon-infra/lib/libjtask/base/task_jobs.c:1246

#14 0x00000000025ec0ed in task_scheduler_internal (enable_slip_detector=true, no_exit=true) at ../../../../../../src/daemon-infra/lib/libjtask/base/task_scheduler.c:299

#15 0x00000000025ebbc3 in task_scheduler () at ../../../../../../src/daemon-infra/lib/libjtask/base/task_scheduler.c:541

#16 0x00000000010aeeea in main (argc=<optimized out>, argv=<optimized out>) at ../../../../../../../src/layer3/usr.sbin/rpd/os/rpd_main.c:533

Solution

When ISIS multi-topologies functionality and ISIS FA-LSP feature is enabled, and IFL access request is sent to mpls-lsp-interfaces either because of configuration or through any code for mpls-lsp-interfaces, it might result in RPD core and restart. Crash happens as IFL is not present for mpls-lsp-interface in ISIS and the function isis_find_ifa_for_next_hop can have NULL-check for interface isis_intf_ifl and return NULL. The issue resolved in later releases.

Modification History

2024-10-14 : Article Created