/var/log/syslog wird wie viele andere Logdateien auch regelmäßig von logrotate in Archivdateien verschoben und wieder eine leere Datei angelegt, die mit neuen Logeinträgen befüllt wird - man schaut also nicht immer die gleiche Datei an.
Für die Fehermeldung genügt es - wenn ich den Quellcode richtig verstehe - dass grep Bytes findet, die sich nicht als Zeichen für den aktuell genutzten Zeichensatz interpretieren lassen (z.B. wenn ein Programm Dinge in anderen Encodings ins Log schreibt): https://git.savannah.gnu.org/cgit/grep.git/tree/src/grep.c#n1076