]> git.puffer.fish Git - mirror/frr.git/commit
ldpd: Check if the thread is scheduled before calling for remained time 11640/head
authorDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 18 Jul 2022 06:53:08 +0000 (09:53 +0300)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Mon, 18 Jul 2022 16:41:45 +0000 (16:41 +0000)
commit81101af3462d16bcf2ac40a86073346c25988ba5
tree45a440031dd87864d689519b92dd113ab1cd891b
parent57745ad4c86d0dc7537740ab1a94b01d6525b565
ldpd: Check if the thread is scheduled before calling for remained time

LDPD crashes when hold time is configured to 65535:
(gdb) bt
0  0x00007f8c3fc224bb in raise () from /lib64/libpthread.so.0
1  0x00007f8c4138a3dd in core_handler () from /lib64/libfrr.so.0
2  <signal handler called>
3  0x00007f8c3fc1ccc0 in pthread_mutex_lock () from /lib64/libpthread.so.0
4  0x00007f8c4139914b in thread_timer_remain_msec () from /lib64/libfrr.so.0
5  0x00007f8c41399209 in thread_timer_remain_second () from /lib64/libfrr.so.0
6  0x000000000040eb19 in adj_to_ctl ()
7  0x0000000000427b38 in ldpe_nbr_ctl ()
8  0x000000000042fd68 in control_dispatch_imsg ()
9  0x00007f8c4139a628 in thread_call () from /lib64/libfrr.so.0
10 0x00000000004265fc in ldpe ()
11 0x000000000040a68f in main ()

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit f8e44af8c9160391a883510c49f99802dd07ced1)
ldpd/adjacency.c