Thanks, that helped. Now it's hitting an
assert failure ...
$ klishd -d -v -f ./klishd.conf
klishd: Parse config file: ./klishd.conf
klishd: opts: Foreground = true
klishd: opts: Verbose = true
klishd: opts: LogFacility = daemon
klishd: opts: PIDPath = /var/run/klishd.pid
klishd: opts: ConfigPath = ./klishd.conf
klishd: opts: UnixSocketPath = /tmp/klish-unix-socket
klishd: opts: DBs = libxml2
klishd: Start daemon.
klishd: Create listen UNIX socket: /tmp/klish-unix-socket
klishd: Listen socket 3
klishd: Service process for client was forked: 93068
klishd: klish/ktp/ktpd_session.c:84: ktpd_session_new: Assertion `ktpd->session' failed.
klishd: Service process 93068 was terminated by signal: 6I ran
klishd in
gdb ...
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7d83859 in __GI_abort () at abort.c:79
#2 0x00007ffff7d83729 in __assert_fail_base (fmt=0x7ffff7f19588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
assertion=0x7ffff7fae553 "ktpd->session", file=0x7ffff7fae4f0 "klish/ktp/ktpd_session.c", line=84, function=<optimized out>)
at assert.c:92
#3 0x00007ffff7d94fd6 in __GI___assert_fail (assertion=assertion@entry=0x7ffff7fae553 "ktpd->session",
file=file@entry=0x7ffff7fae4f0 "klish/ktp/ktpd_session.c", line=line@entry=84,
function=function@entry=0x7ffff7fae720 <__PRETTY_FUNCTION__.7277> "ktpd_session_new") at assert.c:101
#4 0x00007ffff7fa3015 in ktpd_session_new (sock=5, scheme=0x55555555ec80, start_entry=0x0, eloop=0x555555561390)
at klish/ktp/ktpd_session.c:84
#5 0x000055555555705f in main (argc=<optimized out>, argv=<optimized out>) at bin/klishd/klishd.c:199Also, found that in
ksession_new(), since
start_entry is NULL,
kscheme_find_entry_by_path() ends up looking for the
main entry which it is not able to find.
Hence, it returns NULL but the caller expects something valid and asserts.
What am I missing here?