#1110192 logcheck autopkgtest failure if /proc/kmsg is not available

Package:
rsyslog
Source:
rsyslog
Description:
reliable system and kernel logging daemon
Submitter:
Michael Biebl
Date:
2025-08-28 14:45:02 UTC
Severity:
normal
Tags:
#1110192#5
Date:
2025-07-31 15:03:44 UTC
From:
To:
Hi Richard,

for some context see https://salsa.debian.org/debian/rsyslog/-/merge_requests/7#note_634371

Building rsyslog on debusine results in an autopkgtest failure:

 44s System Events
 44s =-=-=-=-=-=-=
 44s Jul 30 20:28:18 autopkgtest-lxd-lryznw rsyslogd[1999]: imklog: cannot open kernel log (/proc/kmsg): Permission denied.
 44s Jul 30 20:28:18 autopkgtest-lxd-lryznw rsyslogd[1999]: activation of module imklog failed [v8.2506.0 try https://www.rsyslog.com/e/2145 ]
 44s
 44s * FAIL: unmatched lines - logcheck rules may need updating
 44s This email is sent by logcheck. If you no longer wish to receive
 44s such mail, you can either uninstall the logcheck package or modify
 44s its configuration file (/etc/logcheck/logcheck.conf).


It appears, debusine.debian.net uses LXD/LXC but access to /proc/kmsg is
more restricted than on debci.


I see 3 possible ways forward

1/ Add isolation-machine to Restrictions in debian/tests/control
   Apparently isolation-container (as provided by debci and debusine) is
   not guaranteed to provide an accessible /proc/kmsg
   This significantly reduces test coverage though, as isolation-machine
   requires qemu, which is currently only available on amd64 and
   currently only available on debci if explicitly requested

2/ Add this error message to rsyslog.logcheck.ignore.server, i.e. treat
   this as an expected error. Looks wrong to me, but I'm not a logcheck
   user.

3/ Modify the rsyslog configuration we use for debian/tests/logcheck and
   remove the `module(load="imklog")` line from /etc/rsyslog.conf.
   I.e. we would run rsylog with a slightly different configuration as
   is the default.

4/ Drop the autopkgtest again. Not a fan of this option.



On a cursory glance, I think 3) would be the best option but I would
welcome your opionion on this matter.

Regards,
Michael

#1110192#10
Date:
2025-08-01 17:01:07 UTC
From:
To:
On Thu, 31 Jul 2025, 16:05 Michael Biebl, <biebl@debian.org> wrote:


 44s Jul 30 20:28:18 autopkgtest-lxd-lryznw rsyslogd[1999]: imklog: cannot

(agree with you that this would not be best)

definitely agree it shouldnt be in the rules shipped by the package -
exactly as you suggest, users would want to know if this error was being
made - see  beloe

could work, but then you'll be less sure that the logcheck rules are right
for users

How about a variant of 2 --- change the logcheck rules inside the test,
only if /proc/kmesg is restricted


if [   "/proc/kmesg" is readable (?) ]  ; then
echo "rules matching the error" > /etc/logcheck/ignore.d.server/foo
fi
# rest of test as before

then the logcheck in the test will ignore those messages in debusine, but
be unaffected on salsa (i dont know what the test should be though). and if
debusine changes it will then be a no-op.

(i havnt looked at the test, but from what i remember this should work, can
have a look)

#1110192#15
Date:
2025-08-01 18:57:16 UTC
From:
To:
Hi Richard

Am 01.08.25 um 19:01 schrieb Richard Lewis:

Thanks for glossing over the fact that I'm apparently unable to count to
4 :-)

I like this idea.

That said, I don't know, how access to /proc/kmsg is restricted inside
debusine and how we can devise a robust check for that.

The error message indicates, that the file exists but is not even
accessible to root.


Michael

#1110192#20
Date:
2025-08-01 22:15:13 UTC
From:
To:
I dont know how debusine works either, but looking at proc_kmesg(5)
and dmesg(1), i would try

dmesg --since '1s ago' 2>/dev/null

this exits with 0 'normally' (even if there is no output to show), and
1 inside an 'unshare -r' (even if run by root)

#1110192#25
Date:
2025-08-02 07:32:01 UTC
From:
To:
Am 02.08.25 um 00:15 schrieb Richard Lewis:


sounds good

#1110192#30
Date:
2025-08-10 19:24:28 UTC
From:
To:
Hi Richard

Do you want to send a MR for this issue?

Regards
Michael

#1110192#33
Date:
2025-08-18 14:56:02 UTC
From:
To:
Hello,

Bug #1110192 in rsyslog reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/debian/rsyslog/-/commit/e0621816b92eb3a34581d2f96e5cf3fe2fdf9558
------------------------------------------------------------------------
Make autopkgtest work in containers without /proc/kmesg

If /proc/kmesg is not available (or not accessible), rsyslog will
produce some extra error messages, which the default logcheck rules
won't match, making the test fail: hide these with a local rule.

Closes: #1110192
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1110192

#1110192#40
Date:
2025-08-28 14:42:37 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
rsyslog, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1110192@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Michael Biebl <biebl@debian.org> (supplier of updated rsyslog package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 28 Aug 2025 14:36:14 +0200
Source: rsyslog
Architecture: source
Version: 8.2506.0-4
Distribution: unstable
Urgency: medium
Maintainer: Michael Biebl <biebl@debian.org>
Changed-By: Michael Biebl <biebl@debian.org>
Closes: 1110192
Changes:
 rsyslog (8.2506.0-4) unstable; urgency=medium
 .
   [ Richard Lewis ]
   * Make autopkgtest work in containers without /proc/kmesg.
     If /proc/kmesg is not available (or not accessible), rsyslog will
     produce some extra error messages, which the default logcheck rules
     won't match, making the test fail: hide these with a local rule.
     (Closes: #1110192)
 .
   [ Michael Biebl ]
   * Disable missing-breaks test for salsa-ci
Checksums-Sha1:
 caeb5ba2b88a06cfff197952d4824c0212d59612 3420 rsyslog_8.2506.0-4.dsc
 15a220bf34dfdb5799530fa6cadf9e47be5cd222 34152 rsyslog_8.2506.0-4.debian.tar.xz
 29aedc59c7b205003619bae676232df549e881aa 7471 rsyslog_8.2506.0-4_source.buildinfo
Checksums-Sha256:
 c0bef147861ffe98a4ea6646e96c695807d5131fd0e6f72d4cc39122a2bea2e1 3420 rsyslog_8.2506.0-4.dsc
 68a260bb4204bd1b1b865e8222ef09bae609fc4f3866df466dbf3f21c43b2c2d 34152 rsyslog_8.2506.0-4.debian.tar.xz
 3c9ebf92d542153935a9fd67203541d145efb355f1f7d733a1dc54cafb11bef9 7471 rsyslog_8.2506.0-4_source.buildinfo
Files:
 4e722a1d387e960ede91cfe1bf4ed789 3420 admin optional rsyslog_8.2506.0-4.dsc
 0f387c6e1d9d2cb337a2bdb66346438a 34152 admin optional rsyslog_8.2506.0-4.debian.tar.xz
 61468d35475ccbb108e088c0d70097ef 7471 admin optional rsyslog_8.2506.0-4_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEECbOsLssWnJBDRcxUauHfDWCPItwFAmiwXDEACgkQauHfDWCP
Itzcdw//XF3oPoVlDME9pgP1VGm451Elj+OKx1BCRMNdijJAr8eBSu0lVv7Y7FCa
Y18z+POLCG1F2UfyMM/86iIeILdlF5j/qjw1lwvGXISDxrPwIvcwkOuQjn9R45li
RBsz+4t7MrrOob1RV3Pu5oFUVJ6HBuiOxP3cZ6RCpZRphTXh2+ZfPguzXZzLLy9h
7mHKeweDFfAAHIwmlDaTqDqiBhfgLmsIU9Chm2opFPQQYOWv5w8So3l6Bd7hcB0t
qXFS8vKR5ufvtD/szNtljlxPZXv49q8Lso70BGqW/cJe11+fKq+k2sz3j/NlDEe9
M+JPIKjXhxFy7t3tPmiIQXfebcxodkxcNlMsZNaaZJnW7xVep8TYbhdu9MVZBFm/
ZymyFcsExf3vVnba/wGxQbLko807ZO7JBa8Yfo79s1b1GkNQwOotlW77oS5CfxAu
ka+qtRmuNP6PMDETpO+iTjUcm5EaPggfXEEVegfBzYm+mmTTgmoSbiGSP2wWzO94
pSlCnGcYPckF+uSTvxtq/+mCbClbCW+N9afImD4qhKj+h6EOeKIQYgJAfm02LLRs
10TCh7XL8PMB5Ez68C5NMQmiPuMhC6YL83bXLQFnQifwqqDc08SFJ721Wur0AsRR
qUWBGvf8PGsAZslXjZ2bjJ8kchMMJpbYaO5rkKqTDZ1vlX2Dl+I=
=02Pm
-----END PGP SIGNATURE-----