Rainer, Thank you for the response. I agree that it sounds like a system problem, not necessarily syslogd or omprog. This is an embedded system and doesn't have any selinux. I have disabled all cgroup functionality as well. Debug logging, etc. hasn't provided any clues. Given that it is the root user starting rsyslog in both cases, what is different when rsyslogd is started with the -n flag? Also with your deep understanding of omprog, do you have any tips that might help me get more insight into what is happening? Thank you, Derek
On Tue, Apr 14, 2020 at 5:34 AM Rainer Gerhards <[email protected]> wrote: > This sounds like a problem with SELinux or a similar hardening system. > > HTH > Rainer > > El lun., 13 abr. 2020 a las 4:20, Derek Dresser via rsyslog > (<[email protected]>) escribió: > > > > Hello, > > > > I am troubleshooting an issue on a Yocto based distribution with sending > > logs > > to a python program '/usr/bin/logoutput' via omprog. If rsyslogd is > started > > by init script, or by me (as root) on the command line, I get the > following > > errors. > > > > apr 12 21:35:02.865327 RSYSLO action 'action-1-omprog' resumed (module > > 'omprog') [v8.2002.0 try https://www.rsyslog.com/e/2359 ] > > apr 12 21:35:02.865350 RSYSLO omprog: error sending message to program: > Bad > > file descriptor [v8.2002.0 try https://www.rsyslog.com/e/2119 ] > > apr 12 21:35:02.865365 RSYSLO action 'action-1-omprog' suspended (module > > 'omprog'), retry 0. There should be messages before this one giving the > > reason f > > or suspension. [v8.2002.0 try https://www.rsyslog.com/e/2007 ] > > apr 12 21:35:03.866356 RSYSLO action 'action-1-omprog' suspended (module > > 'omprog'), next retry is Sun Apr 12 21:35:33 2020, retry nbr 0. There > should > > be > > messages before this one giving the reason for suspension. [v8.2002.0 try > > https://www.rsyslog.com/e/2007 ] > > > > > > and I never see 'logoutput' in the process listing. However, if I start > > rsyslogd with '-n' (foreground), my program is started and messages are > > delivered as expected. Even if I start it with -n and send it to the > > background it is fine (rsyslogd -n &) I don't have selinux or anything > > enabled. > > > > I have tried adding 'output' to the action configuration, thinking I > would > > get messages, but haven't gotten anything. > > > > action(type="omprog" > > binary="/usr/bin/logoutput" > > forceSingleInstance="on" > > output="/tmp/omprog.out" > > template="output") > > > > here are the lsof listings rsyslogd being started by init script > > > > root@zcu102-zynqmp:/tmp/bin# lsof -p 6204 > > COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE > NAME > > rsyslogd 6204 root cwd DIR 179,2 4096 2 / > > rsyslogd 6204 root rtd DIR 179,2 4096 2 / > > rsyslogd 6204 root txt REG 179,2 678072 19325 > > /usr/sbin/rsyslogd > > rsyslogd 6204 root mem REG 179,2 27208 19316 > > /usr/lib/rsyslog/omprog.so > > rsyslogd 6204 root mem REG 179,2 14528 19312 > > /usr/lib/rsyslog/mmjsonparse.so > > rsyslogd 6204 root mem REG 179,2 19680 19292 > > /usr/lib/rsyslog/imklog.so > > rsyslogd 6204 root mem REG 179,2 32912 19298 > > /usr/lib/rsyslog/imuxsock.so > > rsyslogd 6204 root mem REG 179,2 46984 907 > /lib/ > > libnss_files-2.30.so > > rsyslogd 6204 root mem REG 179,2 23416 19300 > > /usr/lib/rsyslog/lmnet.so > > rsyslogd 6204 root mem REG 179,2 1400792 874 > /lib/ > > libc-2.30.so > > rsyslogd 6204 root mem REG 179,2 27000 935 > > /lib/libuuid.so.1.3.0 > > rsyslogd 6204 root mem REG 179,2 43496 10991 > > /usr/lib/libfastjson.so.4.2.0 > > rsyslogd 6204 root mem REG 179,2 14168 10983 > > /usr/lib/libestr.so.0.0.0 > > rsyslogd 6204 root mem REG 179,2 14208 884 > /lib/ > > libdl-2.30.so > > rsyslogd 6204 root mem REG 179,2 113104 915 > /lib/ > > libpthread-2.30.so > > rsyslogd 6204 root mem REG 179,2 88304 939 > > /lib/libz.so.1.2.11 > > rsyslogd 6204 root mem REG 179,2 136752 862 > /lib/ > > ld-2.30.so > > rsyslogd 6204 root 0r CHR 1,9 0t0 1032 > > /dev/urandom > > rsyslogd 6204 root 1u unix 0xffffffc05fdda000 0t0 40009 > > type=DGRAM > > rsyslogd 6204 root 2w REG 179,4 10350 131078 > > /data/log/syslog.log > > rsyslogd 6204 root 3u unix 0xffffffc05fdda480 0t0 40006 > > /dev/log type=DGRAM > > rsyslogd 6204 root 4r REG 0,4 0 4026531950 > > /proc/kmsg > > > > and when started in the foreground (rsyslogd -n &) > > > > root@zcu102-zynqmp:/tmp/bin# lsof -p 6239 > > COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE > NAME > > rsyslogd 6239 root cwd DIR 179,2 4096 2 / > > rsyslogd 6239 root rtd DIR 179,2 4096 2 / > > rsyslogd 6239 root txt REG 179,2 678072 19325 > > /usr/sbin/rsyslogd > > rsyslogd 6239 root mem REG 179,2 27208 19316 > > /usr/lib/rsyslog/omprog.so > > rsyslogd 6239 root mem REG 179,2 14528 19312 > > /usr/lib/rsyslog/mmjsonparse.so > > rsyslogd 6239 root mem REG 179,2 19680 19292 > > /usr/lib/rsyslog/imklog.so > > rsyslogd 6239 root mem REG 179,2 32912 19298 > > /usr/lib/rsyslog/imuxsock.so > > rsyslogd 6239 root mem REG 179,2 46984 907 > /lib/ > > libnss_files-2.30.so > > rsyslogd 6239 root mem REG 179,2 23416 19300 > > /usr/lib/rsyslog/lmnet.so > > rsyslogd 6239 root mem REG 179,2 1400792 874 > /lib/ > > libc-2.30.so > > rsyslogd 6239 root mem REG 179,2 27000 935 > > /lib/libuuid.so.1.3.0 > > rsyslogd 6239 root mem REG 179,2 43496 10991 > > /usr/lib/libfastjson.so.4.2.0 > > rsyslogd 6239 root mem REG 179,2 14168 10983 > > /usr/lib/libestr.so.0.0.0 > > rsyslogd 6239 root mem REG 179,2 14208 884 > /lib/ > > libdl-2.30.so > > rsyslogd 6239 root mem REG 179,2 113104 915 > /lib/ > > libpthread-2.30.so > > rsyslogd 6239 root mem REG 179,2 88304 939 > > /lib/libz.so.1.2.11 > > rsyslogd 6239 root mem REG 179,2 136752 862 > /lib/ > > ld-2.30.so > > rsyslogd 6239 root 0u CHR 253,0 0t0 1522 > > /dev/ttyPS0 > > rsyslogd 6239 root 1u CHR 253,0 0t0 1522 > > /dev/ttyPS0 > > rsyslogd 6239 root 2u CHR 253,0 0t0 1522 > > /dev/ttyPS0 > > rsyslogd 6239 root 3r CHR 1,9 0t0 1032 > > /dev/urandom > > rsyslogd 6239 root 4r FIFO 0,9 0t0 39109 > pipe > > rsyslogd 6239 root 5w FIFO 0,9 0t0 39109 > pipe > > rsyslogd 6239 root 6u unix 0xffffffc05c6524c0 0t0 39111 > > /dev/log type=DGRAM > > rsyslogd 6239 root 7w FIFO 0,9 0t0 39110 > pipe > > rsyslogd 6239 root 8r REG 0,4 0 4026531950 > > /proc/kmsg > > rsyslogd 6239 root 9u unix 0xffffffc05c652040 0t0 39114 > > type=DGRAM > > rsyslogd 6239 root 10w REG 179,4 10484 131078 > > /data/log/syslog.log > > > > and here are pstree listings for each case. first when started by init > > script > > > > root@zcu102-zynqmp:/tmp/bin# pstree -ps 6318 > > init(1)---rsyslogd(6318)-+-{rsyslogd}(6319) > > |-{rsyslogd}(6320) > > `-{rsyslogd}(6322) > > > > and when started with rsyslogd -n & > > root@zcu102-zynqmp:/tmp/bin# pstree -ps 6351 > > > init(1)---start_getty(3688)---login(3715)---sh(3752)---rsyslogd(6351)-+-logoutput(6353)---{logoutput}(6357) > > > > |-{rsyslogd}(6352) > > > > |-{rsyslogd}(6354) > > > > |-{rsyslogd}(6355) > > > > `-{rsyslogd}(6356) > > > > you can see that when I start it with the '-n' flag, my program gets > started > > and rsyslogd has a pipe to it. Can someone help me understand why this > is > > only working for me when I use the '-n' flag. In both cases, it is > started > > as root, so it doesn't seem like a permissions issue. > > > > Thanks > > _______________________________________________ > > rsyslog mailing list > > https://lists.adiscon.net/mailman/listinfo/rsyslog > > http://www.rsyslog.com/professional-services/ > > What's up with rsyslog? Follow https://twitter.com/rgerhards > > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad > of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you > DON'T LIKE THAT. > _______________________________________________ rsyslog mailing list https://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/ What's up with rsyslog? Follow https://twitter.com/rgerhards NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.

