On 08.01.2017 15:53, Dominique Dumont wrote:
In [bug 806800](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=806800), a Debian user reports:
Looking at the bug report, it seems that LCDd logs to syslog because it was started with `-s 1`
``` LCDd seems to send critical syslog messages on some weird situations. I don't know why. Here's an example of a tail on a logfile: Message from syslogd@marcos at Dec 1 10:16:06 ... sten L Message from syslogd@marcos at Dec 1 10:16:06 ... nore L déc 01 10:16:05 marcos LCDd[11778]: ignore I déc 01 10:16:05 marcos LCDd[11778]: listen NT déc 01 10:16:05 marcos LCDd[11778]: ignore NT déc 01 10:16:05 marcos LCDd[11778]: listen M déc 01 10:16:05 marcos LCDd[11778]: ignore M déc 01 10:16:05 marcos LCDd[11778]: listen L déc 01 10:16:05 marcos LCDd[11778]: ignore L Notice how you got `Message` lines above? Those flood *all* terminals I am connected to - not just the one where i was tailing the logfile. oddly enough, part of that message is stripped as well ("listen" becomes "sten" and "ignore" becomes "nore", not sure why). ```
Here I don't fully understand what he says: He is getting a number of valid listen/ignore messages to syslog with the proper level, but occasionally there are critical messages, that are mangled? In this case there seems to be some serious corruption of data structures, i.e. something not obvious from reading the source code. I think the only way forward is to run LCDd from within a debugger.
``` I wonder if this isn't connected to the vsyslog call: vsyslog(LOG_USER | (level + 2), format, ap); This seems to bump up the level, which could distort the levels... ```
While the code is clearly fishy (non-portable) it is actually correct at least on debian systems. HTH, Harald -- If you want to support my work: see http://friends.ccbib.org/harald/supporting/ or donate via peercoin to P98LRdhit3gZbHDBe7ta5jtXrMJUms4p7w or CLAM xASPBtezLNqj4cUe8MT5nZjthRSEjrRQXN