#725322 logrotate: gzip: stdin: file size changed while zipping

Package:
speech-dispatcher
Source:
speech-dispatcher
Description:
Common interface to speech synthesizers
Submitter:
Sebastien Hinderer
Date:
2013-10-04 13:57:09 UTC
Severity:
normal
#725322#5
Date:
2013-10-04 07:21:50 UTC
From:
To:
When the logs are rotated one gets the following message:
gzip: stdin: file size changed while zipping

If -v is added to the call to logrotate in /etc/cron.daily/logrotate, it
appears that the message is generated while processing
/etc/logrotate.d/speech-dispatcher. Here is what is reported by
logrotate regarding speech-dispatcher:

rotating pattern: /var/log/speech-dispatcher/speech-dispatcher.log /var/log/speech-dispatcher/speech-dispatcher-protocol.log  after 1 days (7 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/speech-dispatcher/speech-dispatcher.log
  log needs rotating
considering log /var/log/speech-dispatcher/speech-dispatcher-protocol.log
  log /var/log/speech-dispatcher/speech-dispatcher-protocol.log does not exist -- skipping
rotating log /var/log/speech-dispatcher/speech-dispatcher.log, log->rotateCount is 7
dateext suffix '-20131004'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
renaming /var/log/speech-dispatcher/speech-dispatcher.log.7.gz to /var/log/speech-dispatcher/speech-dispatcher.log.8.gz (rotatecount 7, logstart 1, i 7),
renaming /var/log/speech-dispatcher/speech-dispatcher.log.6.gz to /var/log/speech-dispatcher/speech-dispatcher.log.7.gz (rotatecount 7, logstart 1, i 6),
renaming /var/log/speech-dispatcher/speech-dispatcher.log.5.gz to /var/log/speech-dispatcher/speech-dispatcher.log.6.gz (rotatecount 7, logstart 1, i 5),
renaming /var/log/speech-dispatcher/speech-dispatcher.log.4.gz to /var/log/speech-dispatcher/speech-dispatcher.log.5.gz (rotatecount 7, logstart 1, i 4),
renaming /var/log/speech-dispatcher/speech-dispatcher.log.3.gz to /var/log/speech-dispatcher/speech-dispatcher.log.4.gz (rotatecount 7, logstart 1, i 3),
renaming /var/log/speech-dispatcher/speech-dispatcher.log.2.gz to /var/log/speech-dispatcher/speech-dispatcher.log.3.gz (rotatecount 7, logstart 1, i 2),
renaming /var/log/speech-dispatcher/speech-dispatcher.log.1.gz to /var/log/speech-dispatcher/speech-dispatcher.log.2.gz (rotatecount 7, logstart 1, i 1),
renaming /var/log/speech-dispatcher/speech-dispatcher.log.0.gz to /var/log/speech-dispatcher/speech-dispatcher.log.1.gz (rotatecount 7, logstart 1, i 0),
old log /var/log/speech-dispatcher/speech-dispatcher.log.0.gz does not exist
renaming /var/log/speech-dispatcher/speech-dispatcher.log to /var/log/speech-dispatcher/speech-dispatcher.log.1
creating new /var/log/speech-dispatcher/speech-dispatcher.log mode = 0660 uid = 123 gid = 29
running postrotate script
compressing log with: /bin/gzip
gzip: stdin: file size changed while zipping
removing old log /var/log/speech-dispatcher/speech-dispatcher.log.8.gz

I don't know exactly what the problem is. I thought it might have to do
with the postrotate script which reloads speech-dispatcher, hence
potentially writing things to logs, but I guess that shouldn't affect
the size of old logs.

#725322#10
Date:
2013-10-04 13:28:13 UTC
From:
To:
Sebastien Hinderer, le Fri 04 Oct 2013 09:21:50 +0200, a écrit :

Maybe the reload invocation just triggers the reload, and does not wait
for speech-dispatcher to have finished writing to the old log.

Samuel

#725322#15
Date:
2013-10-04 13:38:22 UTC
From:
To:
Well, normally that should not be a problem since the old log is renamed
before being compressed, if I understand things correctly
Shérab.

#725322#20
Date:
2013-10-04 13:53:20 UTC
From:
To:
Shérab, le Fri 04 Oct 2013 15:38:22 +0200, a écrit :

Yes, but the speech-dispatcher process probably still has an fd on the
old log, and can thus still write to it.

Samuel