Comment 8 for bug 1860217

Revision history for this message
Eric Desrochers (slashd) wrote :

The use of 'DEBCONF_DEBUG='.*'' can be helpful here for debugging purpose.
Simply need to set and export.

And this link:
https://wiki.debian.org/MaintainerScripts

Following the appropriate workflow to understand what it is doing under the hood.

As a debug exercise, one ca also add 'set -xv' in the clamav-daemon maintainer scripts to possibly isolate what is causing the loop in combination with the DEBCONF_DEBUG set.

I actually took a few seconds to reproduce it inside a Xenial container and we can clearly see the loop in action:

......
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate type) ..
debconf (db passwords): cache miss on clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate type) ..
debconf (db passwords): cache miss on clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogRotate value true) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- INPUT low clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile type) ..
debconf (db passwords): cache miss on clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile type) ..
debconf (db passwords): cache miss on clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogFile value /var/log/clamav/clamav.log) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- METAGET clamav-daemon/LogFile value
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 0 /var/log/clamav/clamav.log
debconf (developer): <-- INPUT low clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime type) ..
debconf (db passwords): cache miss on clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime type) ..
debconf (db passwords): cache miss on clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogTime value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogTime value true) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- INPUT low clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate type) ..
debconf (db passwords): cache miss on clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate type) ..
debconf (db passwords): cache miss on clamav-daemon/LogRotate
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogRotate value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogRotate value true) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- INPUT low clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile type) ..
debconf (db passwords): cache miss on clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile type) ..
debconf (db passwords): cache miss on clamav-daemon/LogFile
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
debconf (developer): <-- GO
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to setfield(clamav-daemon/LogFile value /var/log/clamav/clamav.log) ..
debconf (db configdb): passing to config ..
debconf (developer): --> 0 ok
debconf (developer): <-- METAGET clamav-daemon/LogFile value
debconf (db configdb): trying to getfield(clamav-daemon/LogFile value) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 0 /var/log/clamav/clamav.log
debconf (developer): <-- INPUT low clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime type) ..
debconf (db passwords): cache miss on clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime type) ..
debconf (db passwords): cache miss on clamav-daemon/LogTime
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
debconf (db configdb): getfield done by config
debconf (developer): --> 30 question skipped
......
<CTRL-C>

$ grep -i "trying to getfield" /tmp/deconfdebug.out | sort | uniq -c | sort -rn
    108 debconf (db configdb): trying to getfield(clamav-daemon/LogTime template) ..
    108 debconf (db configdb): trying to getfield(clamav-daemon/LogRotate template) ..
    108 debconf (db configdb): trying to getfield(clamav-daemon/LogFile template) ..
    .....