You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While testing the behavior of "when" statement, found that netconfd crashes consistently when trying to configure an invalid node.
Crash happens only when netconfd is running without candidate capability (i.e., with --target=running).
Below steps reproduce issue always.
Modify toaster.yang to include below leaf nodes.
leaf toasterWeight {
type int32 {
range "1 .. 10";
}
config true;
default 5;
}
leaf A2 {
when "../toast:toasterWeight <= 5";
type int32 {
range "1 .. 10";
}
config true;
default 5;
}
Start netconfd with target as running
netconfd --superuser=$USER --no-startup --module=toaster --target=running
From yangcli, create toaster container with toasterWeight value=10
create /toast:toaster/toasterWeight value=10
Configure an invalid node. As per the above modified toaster yang, leaf A2 is invalid when toasterWeight value is 10.
merge /toast:toaster/A2 value=5
netconfd crashes in this step after sending RPC OK.
Version of netconfd server that I'm using is 2.12-0.
Below are the logs and backtrace.
edit-transaction 333: operation merge on session 1 by [email protected]
at 2019-09-03T05:44:33Z on target 'running'
data: /--:A2
Program received signal SIGABRT, Aborted.
0x00007ffff74eb4f5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) bt
#0 0x00007ffff74eb4f5 in raise () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007ffff74eec5b in abort () from /lib/x86_64-linux-gnu/libc.so.6 #2 0x00007ffff74e41be in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #3 0x00007ffff74e4262 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6 #4 0x00007ffff7bb3d93 in agt_sys_send_netconf_config_change (scb=0x64b670, auditrecQ=0x7336d0) at ../../../netconf/src/agt/agt_sys.c:1104 #5 0x00007ffff7baa9a7 in agt_rpc_dispatch (scb=0x64b670, top=0x7fffffffded0) at ../../../netconf/src/agt/agt_rpc.c:1665 #6 0x00007ffff7bb4a7f in agt_top_dispatch_msg (ppscb=0x7fffffffdf78) at ../../../netconf/src/agt/agt_top.c:154 #7 0x00007ffff7bae6da in agt_ses_process_first_ready () at ../../../netconf/src/agt/agt_ses.c:939 #8 0x00007ffff7ba3006 in agt_ncxserver_run () at ../../../netconf/src/agt/agt_ncxserver.c:492 #9 0x00000000004012ce in netconfd_run () at ../../../netconf/src/netconfd/netconfd.c:281 #10 0x000000000040146e in main (argc=5, argv=0x7fffffffe208) at ../../../netconf/src/netconfd/netconfd.c:361
(gdb)
Attached the crash file created by netconfd in /var/crash.
Yuma123 will not support the option without candidate capability. I do not see any advantages in not using candidate. All testcases in the testsuites are written to assuming netconfd is started with candidate capability. The mainstream NETCONF devices use candidate too.
Hi,
While testing the behavior of "when" statement, found that netconfd crashes consistently when trying to configure an invalid node.
Crash happens only when netconfd is running without candidate capability (i.e., with --target=running).
Below steps reproduce issue always.
Modify toaster.yang to include below leaf nodes.
Start netconfd with target as running
netconfd --superuser=$USER --no-startup --module=toaster --target=running
From yangcli, create toaster container with toasterWeight value=10
create /toast:toaster/toasterWeight value=10
Configure an invalid node. As per the above modified toaster yang, leaf A2 is invalid when toasterWeight value is 10.
merge /toast:toaster/A2 value=5
netconfd crashes in this step after sending RPC OK.
Version of netconfd server that I'm using is 2.12-0.
Below are the logs and backtrace.
edit-transaction 333: operation merge on session 1 by [email protected]
at 2019-09-03T05:44:33Z on target 'running'
data: /--:A2
Error: Got 'minus', Expected: node identifier
0.1: error(245): wrong token type
netconfd: ../../../netconf/src/agt/agt_sys.c:1104: agt_sys_send_netconf_config_change: Assertion `leafval' failed.
Program received signal SIGABRT, Aborted.
0x00007ffff74eb4f5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) bt
#0 0x00007ffff74eb4f5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff74eec5b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff74e41be in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff74e4262 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00007ffff7bb3d93 in agt_sys_send_netconf_config_change (scb=0x64b670, auditrecQ=0x7336d0) at ../../../netconf/src/agt/agt_sys.c:1104
#5 0x00007ffff7baa9a7 in agt_rpc_dispatch (scb=0x64b670, top=0x7fffffffded0) at ../../../netconf/src/agt/agt_rpc.c:1665
#6 0x00007ffff7bb4a7f in agt_top_dispatch_msg (ppscb=0x7fffffffdf78) at ../../../netconf/src/agt/agt_top.c:154
#7 0x00007ffff7bae6da in agt_ses_process_first_ready () at ../../../netconf/src/agt/agt_ses.c:939
#8 0x00007ffff7ba3006 in agt_ncxserver_run () at ../../../netconf/src/agt/agt_ncxserver.c:492
#9 0x00000000004012ce in netconfd_run () at ../../../netconf/src/netconfd/netconfd.c:281
#10 0x000000000040146e in main (argc=5, argv=0x7fffffffe208) at ../../../netconf/src/netconfd/netconfd.c:361
(gdb)
Attached the crash file created by netconfd in /var/crash.
Please suggest how to resolve this issue.
Thanks,
Lakshmi
_usr_sbin_netconfd.1000.crash.log
The text was updated successfully, but these errors were encountered: