<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - missing EPOLL_DEL causes logstorm when changing system time very early"
href="https://bugs.freedesktop.org/show_bug.cgi?id=61697">61697</a>
</td>
</tr>
<tr>
<th>Assignee</th>
<td>systemd-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Summary</th>
<td>missing EPOLL_DEL causes logstorm when changing system time very early
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>systemd-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Severity</th>
<td>major
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Reporter</th>
<td>enrico.scholz@informatik.tu-chemnitz.de
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Component</th>
<td>general
</td>
</tr>
<tr>
<th>Product</th>
<td>systemd
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=75789" name="attach_75789" title="quick patch to fix time change related logstorm">attachment 75789</a> <a href="attachment.cgi?id=75789&action=edit" title="quick patch to fix time change related logstorm">[details]</a></span>
quick patch to fix time change related logstorm
When system time is changed very early there can be created
thousands/millions of messages like
| Mar 02 17:20:47 gkar systemd[1]: systemd-tmpfiles-clean.timer: time change,
recalculating next elapse.
| Mar 02 17:20:47 gkar systemd[1]: Time has been changed
| ...
| Mar 02 17:20:49 gkar systemd-journal[1058]: Missed 91079 kernel messages
| Mar 02 17:20:49 gkar systemd[1]: systemd-tmpfiles-clean.timer: time change,
recalculating next elapse.
This happens because the 'm->time_change_watch.fd' is closed in the
hope that it gets removed from the epoll-fd too. This removal does
not happen here because forked processes (udevd?) hold an instance of
the old timer fd which triggers epoll over and over again.
There should happen an explicit EPOLL_DEL before
close_nointr_nofail(m->time_change_watch.fd).
For me, it causes problems with the time_changed_watch.fd only. But a
quick look it seems that other code was written under the same wrong
assumption and must be fixed too.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>